Ivan Grokhotkov
79659e3096
sdmmc: better calculation of erase timeout
...
Previous version of the code used a fixed constant (500 ms) for the
erase timeout and added 1 ms for each sector erased.
This commit improves timeouts calculation:
- For SD cards, check if erase timeout information is present in the
SSR register. If yes, use it for erase timeout calculation.
Otherwise assume 250ms per erase block, same as Linux does.
- For eMMC assume 250ms per erase block (but no less than 1 second).
This has to be improved later to use the erase timeout info in the
extended CSD register.
2022-05-30 15:39:02 +02:00
Ivan Grokhotkov
17b7981e2e
driver: sdmmc: add SPI mode R2 response definitions
2022-05-30 15:39:00 +02:00
Tomas Rezucha
b6771b7f83
docs: Fix I2C thread-safety
2022-05-25 07:22:02 +00:00
morris
8138f8bb02
driver: remove deprecated code
...
that declared as deprecated in the previous release
2022-05-19 11:31:53 +08:00
Marius Vikhammer
c8617fe965
docs: fix all doxygen warnings
...
Doxygen warnings would previously not result in a failed pipeline.
Fixed this as well as all current warnings.
2022-05-12 14:50:03 +08:00
Armando (Dou Yiwen)
03aeac1dde
Merge branch 'refactor/adc_hal_common_layer' into 'master'
...
adc: create common adc hal layer
See merge request espressif/esp-idf!17577
2022-05-08 15:45:56 +08:00
Armando
49747bb486
adc: create common adc hal layer
2022-05-07 19:20:44 +08:00
morris
2fb43820c2
driver_ng: implement new rmt driver
...
The legacy driver can't handle the breaking change between esp chips
very well.
And it's not elegant to extend new feature like DMA, ETM.
The new driver can return a opaque handle for each RMT channel.
An obvious transaction concept was also introduced.
TX and RX functionalities are splited out.
2022-05-07 10:34:50 +00:00
morris
5bfe873725
driver: deprecate legacy rmt driver
...
The legacy driver is still available, but new feature won't be added.
Enable RMT_SUPPRESS_DEPRECATE_WARN if you don't want to see the
deprecated warnings.
2022-05-07 10:34:50 +00:00
morris
3a5fdfe35a
temp_sensor: added enable/disable functions
...
The previous start/stop functions have been rename to enable/disable.
2022-05-06 18:18:39 +08:00
morris
d67888b92b
pcnt: added enable/disable functions
2022-05-06 18:18:39 +08:00
morris
e7295c3577
gptimer: added enable/disable functions
2022-05-06 18:18:39 +08:00
morris
595df1d3fa
Merge branch 'refactor/move_rtc_ctrl_to_esp_hw_support' into 'master'
...
hw_support: move rtc_ctrl from driver to hw_support
See merge request espressif/esp-idf!17963
2022-05-05 11:57:31 +08:00
morris
9ab4abfb46
hw_support: move rtc_ctrl from driver to hw_support
2022-04-29 14:28:09 +08:00
Vamshi Gajjela
f116228cd6
Add high speed mode switch validation check for MMC.
2022-04-28 15:23:21 +02:00
morris
080953ce02
Merge branch 'contrib/github_pr_8812' into 'master'
...
usb_serial_jtag: make CONFIG_DEFAULT initializer match order of structure definition (GitHub PR)
Closes IDFGH-7218
See merge request espressif/esp-idf!17886
2022-04-25 18:54:55 +08:00
david zuhn
52e34fb7fd
usb_serial_jtag: make CONFIG_DEFAULT initializer match order of structure definition
2022-04-25 17:52:00 +08:00
Jacques Supcik
2a00945fba
fix small typos
2022-04-24 16:50:08 +02:00
morris
373d9b3dbc
Merge branch 'feature/default_clk_for_gptimer' into 'master'
...
clk_tree: added default clock source for peripherals (GPTimer, RMT, LCD, TempSensor)
Closes IDF-4894
See merge request espressif/esp-idf!17759
2022-04-19 18:02:40 +08:00
songruojing
534346f4bb
ledc: Provide support for esp32c2 and esp32h2
...
LEDC examples, unit test, and programming guide are all updated.
2022-04-14 08:15:14 +00:00
morris
f32a89826c
clk_tree: added default clock source for peripheral
2022-04-14 15:44:56 +08:00
morris
0164ce894d
Merge branch 'bugfix/wrong_gpio_is_deep_sleep_wakeup_valid_gpio' into 'master'
...
gpio: fix wrong GPIO_IS_DEEP_SLEEP_WAKEUP_VALID_GPIO macro
Closes IDFGH-7128
See merge request espressif/esp-idf!17737
2022-04-11 21:15:06 +08:00
songruo
0d52cb04dc
gpio: fix wrong GPIO_IS_DEEP_SLEEP_WAKEUP_VALID_GPIO macro
...
Closes https://github.com/espressif/esp-idf/issues/8733
2022-04-11 15:34:07 +08:00
morris
5732e2a4be
driver: fix dead code in error handling path
...
... for gptimer and pulse_cnt driver, reported by Coverity Scan
2022-04-08 15:13:34 +08:00
morris
37d8abda0b
gdma: add spin lock for gdma channel
...
... because we allow several control functions to be runable under ISR
context
2022-04-08 10:05:01 +08:00
Song Ruo Jing
e13bb580c7
Merge branch 'refactor/gpio_unit_test' into 'master'
...
gpio: Clean up unit tests and enable ci ut on some previously disabled test cases
Closes IDF-4620
See merge request espressif/esp-idf!17417
2022-04-01 18:38:19 +08:00
songruojing
8d84033b8c
gpio: Clean up unit tests and enable ci ut on some previously disabled test cases
...
Eliminate UT_T1_GPIO runner requirement by routing internally through gpio matrix and by setting gpio pins to GPIO_MODE_INPUT_OUTPUT mode for all interrupt related test cases.
2022-03-30 15:11:08 +08:00
morris
bf677182a6
sigmadelta: change gpio number from u8 to int
...
Fix the issue that macro compares unsigned to 0
2022-03-29 11:53:31 +08:00
morris
29e9b5b46a
hw_support: move periph_ctrl from driver to hw_support
2022-03-29 11:53:31 +08:00
Michael (XIAO Xufeng)
80904a5815
Merge branch 'bugfix/spi_free_crash_uninitialized' into 'master'
...
spi: fixed crash when calling spi_bus_free when not initialized
Closes IDFGH-7024
See merge request espressif/esp-idf!17573
2022-03-27 02:31:06 +08:00
Michael (XIAO Xufeng)
bee9b6b9eb
spi: fixed crash when calling spi_bus_free when not initialized
...
introduced in 49a48644e4
Closes: https://github.com/espressif/esp-idf/issues/8642
2022-03-25 01:52:10 +08:00
songruo
38090a0248
gpio: fix GPIO_IS_VALID_(OUTPUT_)GPIO macro
...
... which has the potential of doing bit shift by a negative amount
2022-03-24 21:36:03 +08:00
laokaiyao
f17edba20b
i2s: extract std/pdm/tdm modes
...
Type structures of these modes are defined. Driver and HAL layer are modified to fit these concepts.
2022-03-22 10:14:45 +08:00
Armando (Dou Yiwen)
36457b1346
Merge branch 'refactor/adc_unify_adc_unit' into 'master'
...
adc: adc single driver NG pre-step - unify adc_ll_num_t and adc_unit_t
See merge request espressif/esp-idf!17408
2022-03-18 20:29:36 +08:00
Armando
386363cafd
adc: unify adc_ll_num_t and adc_unit_t
2022-03-18 11:36:50 +08:00
morris
cd10ac50cb
Merge branch 'bugfix/temp_sensor_coexist_issue' into 'master'
...
temp_sensor: avoid coexistence of new and legacy driver
See merge request espressif/esp-idf!17395
2022-03-15 21:43:05 +08:00
morris
4dfbc9ee7b
rmt: remove deprecated functions
2022-03-09 10:58:14 +08:00
morris
21e29f285f
temp_sensor: avoid coexistence of new and legacy driver
2022-03-08 11:57:53 +08:00
Vamshi Gajjela
a9454c9776
Merge branch 'feature/sdmmc_erase_cmd_support' into 'master'
...
[sdmmc] Add erase command support
Closes IDFGH-5947 and IDFGH-5935
See merge request espressif/esp-idf!17054
2022-03-07 21:52:23 +08:00
Simon
4bf4a020a6
Merge branch 'refactor/abstract_temperature_sensor' into 'master'
...
temperature_sensor: Refactor temperature sensor to new APIs (follow rule of driverNG) and support esp32s3
Closes IDF-3665, IDF-3367, and IDF-1793
See merge request espressif/esp-idf!16787
2022-03-07 20:17:39 +08:00
Vamshi Gajjela
ffdbeee9f6
sdmmc: Add erase command-38. Support erase/trim/discard/sanitize
...
options.
Erase command (38) for SD cards allows option for erase/dicard/fule
operation at block level and for MMC cards supports option for
discard/trim at block level. When Sanitize is executed only the
portion of data that was unmapped by a Discard command shall be
removed by the Sanitize command.
Unit test cases added to verify ERASE feature in SD/SDSPI mode.
TRIM/DISCARD/SANITIZE tests for eMMC devices.
Closes https://github.com/espressif/esp-idf/pull/7635
Closes https://github.com/espressif/esp-idf/issues/7623
2022-03-05 16:02:01 +05:30
Ivan Grokhotkov
c8b43ee0c1
Merge branch 'bugfix/sdspi_example_esp32s3' into 'master'
...
examples: sdspi: re-enable for ESP32-S3, add Kconfig options for pins
Closes IDF-4641
See merge request espressif/esp-idf!17067
2022-03-04 18:42:53 +08:00
Cao Sen Miao
b248046bcb
Temperature_sensor: Create new temperature sensor API
2022-03-04 18:13:35 +08:00
Ivan Grokhotkov
6b8e4212be
driver: sdspi: set default DMA channel compatible with S3, C3 or later
2022-03-03 21:40:04 +01:00
morris
0d920a47f7
unit_test: migrate to use pulse_cnt driver
2022-03-03 22:38:32 +08:00
morris
04b3f8b210
pcnt: deprecated as legacy driver
2022-03-03 22:38:32 +08:00
morris
ec8defaa96
pulse_cnt: new driver for PCNT peripheral
2022-03-03 22:38:32 +08:00
laokaiyao
cf353c505a
i2c: support esp32h2
2022-02-23 15:19:37 +08:00
laokaiyao
7da023ceae
i2c: support esp32c2
2022-02-23 15:19:37 +08:00
Michael (XIAO Xufeng)
c1b30491dd
Merge branch 'feature/esp32c3_uart_add_wakeup_event' into 'master'
...
UART: add uart wakeup event for esp32c3 and esp32s3
Closes IDF-3416
See merge request espressif/esp-idf!14482
2022-02-04 17:23:29 +00:00
Song Ruo Jing
3821a09f83
Merge branch 'bugfix/ledc_consecutive_fade' into 'master'
...
ledc: Bugfixes for issues related to fade protection on ESP32
Closes IDFGH-4918 and IDFGH-5565
See merge request espressif/esp-idf!14568
2022-01-26 06:00:59 +00:00
laokaiyao
c4cfb654d2
uart: support light sleep on esp32s3
2022-01-25 17:43:02 +08:00
Chen Yi Qun
56e9920958
uart: add wakeup event for esp32c3
2022-01-25 17:43:02 +08:00
Omar Chebib
473974c8f6
UART & I2C: remove custom ISR registration function
...
Breaking change for v5.0: custom UART ISR and I2C ISR cannot be installed anymore.
2022-01-25 14:46:43 +08:00
songruojing
68e12f7092
ledc: Add ledc_fade_stop API to support stopping the fade operation.
...
Note that ESP32 cannot support this new feature.
2022-01-25 11:19:20 +08:00
songruojing
be2ab09832
ledc: Fix FADE_NO_WAIT mode concurrency problem.
...
Add test cases for fade concurrency issue and fade timing check.
Closes https://github.com/espressif/esp-idf/issues/6710
2022-01-25 11:19:10 +08:00
songruojing
e175086226
ledc: Simplify the procedure to perform a one-time duty update
...
Avoid adding one extra fade cycle when performing a one-time duty update.
Add some notes to ledc_get_duty and ledc_update_duty APIs, so that users
are aware of when the new duty will be effective.
Closes https://github.com/espressif/esp-idf/issues/7288
2022-01-24 19:36:13 +08:00
laokaiyao
cf049e15ed
esp8684: rename target to esp32c2
2022-01-19 11:08:57 +08:00
morris
a298e44b33
gptimer: added a section to describe the thread safety
2022-01-18 10:06:26 +08:00
morris
5deb83b12d
gptimer: new driver for previous timer group
2022-01-07 14:44:50 +08:00
morris
869bed1bb5
soc: don't expose unstable soc header files in public api
2022-01-06 23:10:22 +08:00
morris
8cdcb4e291
rmt: move RMT item definition from soc to driver
2022-01-06 21:43:12 +08:00
morris
090b4aa1f3
adc: make adc2_wifi share resource private
2022-01-04 13:59:24 +08:00
morris
1f06c1bd1b
Merge branch 'feature/fast_gpio_esp32c2' into 'master'
...
fast gpio support on esp32c2/esp8684
See merge request espressif/esp-idf!16531
2021-12-29 07:01:41 +00:00
morris
5624dffc52
Merge branch 'contrib/github_pr_8139' into 'master'
...
ledc.h - fix extern "C" to include ledc_cb_register() (GitHub PR)
Closes IDFGH-6484
See merge request espressif/esp-idf!16557
2021-12-28 03:50:22 +00:00
morris
f028107359
fast_gpio: support esp32c2/esp8684
2021-12-28 10:18:18 +08:00
Emil Muratov
d4de08182e
ledc.h - fix extern "C" to include ledc_cb_register()
2021-12-24 02:05:43 +03:00
laokaiyao
45ea21e8a0
doc: add application notes for i2s
2021-12-23 18:59:56 +08:00
Jakob Hasse
7572f75d6b
refactor (cxx)!: I2C C++ classes use strong value types now
...
Added host-based I2C C++ unit tests
BREAKING CHANGE: I2C C++ interface changes, raw values for
arguments are mostly not allowed anymore.
2021-12-17 14:05:52 +08:00
Armando
4dc0d6b2fe
adc: support adc dma driver on all chips
2021-12-16 00:19:15 +00:00
intern
467525f846
docs: fix typo in header files
2021-12-13 13:17:17 +08:00
Ivan Grokhotkov
c358aceb1b
Merge branch 'feature/soc_caps_build_sys' into 'master'
...
build-system: parse soc caps and integrate into kconfig
Closes IDF-2223
See merge request espressif/esp-idf!15305
2021-12-09 06:54:08 +00:00
Marius Vikhammer
c6d60615c6
build-system: include soc_caps defines into kconfig
...
Adds gen_soc_caps_kconfig.py which parses the soc caps (soc_caps.h) into
a format that can be included in kconfig.
2021-12-06 12:37:07 +08:00
laokaiyao
fa4e77eb44
i2s: deprecate confusing names
2021-11-24 13:21:13 +08:00
Omar Chebib
aa2ca7dd94
LEDC: improved support for ESP32-C3 and refactored divisor calculation
...
As ESP32C3 does not have support for REF_TICK source clock, it is now not
possible to select it anymore.
Auto cfg clock has been improved for all boards.
2021-11-11 12:21:15 +08:00
morris
490d3fee71
Merge branch 'refactor/make_peripheral_ctrl_as_private_api' into 'master'
...
global: make periph enable/disable APIs private
Closes IDF-3647
See merge request espressif/esp-idf!15632
2021-11-08 07:31:01 +00:00
Wang Fang
b86619fc61
Merge branch 'docs/add_a_note_to_mck_io_num' into 'master'
...
docs: add a note to mck_io_num: for esp32, only gpio0/gpio1/gpio3 can be set
Closes DOC-2218
See merge request espressif/esp-idf!15812
2021-11-08 05:14:41 +00:00
morris
16677b0d3c
global: make periph enable/disable APIs private
...
peripheral enable/disable usually should be managed by driver itself,
so make it as espressif private APIs, not recommended for user to use it
in application code.
However, if user want to re-write the driver or ports to other platform,
this is still possible by including the header in this way:
"esp_private/peripheral_ctrl.h"
2021-11-08 10:37:47 +08:00
Cao Sen Miao
a9f0a3531e
ESP8684: add driver esp_pm heap support
2021-11-06 17:33:44 +08:00
Wang Fang
21378f007f
docs: add a note to mck_io_num: for esp32, only gpio0/gpio1/gpio3 can be set
2021-11-04 19:38:51 +08:00
Jakob Hasse
1eb96cfc79
feat (driver)!: Added mocking for i2c.h
...
BREAKING CHANGE: removed ringbuf.h from public i2c.h
2021-11-02 14:16:31 +08:00
morris
e2275b1f63
gptimer: clean up hal and ll for driver-ng
2021-10-20 18:40:08 +08:00
SalimTerryLi
bd89dcc683
RMT: add loop_autostop driver support for esp32s3
2021-09-24 15:24:45 +08:00
Kevin (Lao Kaiyao)
a287f34f88
Merge branch 'bugfix/i2s_apll_fixed_clock' into 'master'
...
i2s: fix apll bug introduced in 'refactor/i2s_driver'
Closes IDFGH-5824
See merge request espressif/esp-idf!15109
2021-09-14 08:31:12 +00:00
SalimTerryLi
932d4d13f0
MCPWM/sync: expose API for configuring timer sync
...
removed example: mcpwm_basic_config
Closes https://github.com/espressif/esp-idf/issues/5429
Co-authored-by: wubowen <wubowen@espressif.com>
2021-09-09 17:33:37 +08:00
laokaiyao
dfbe76e988
i2s: fix return value when failed to register i2s
2021-09-09 10:33:15 +08:00
laokaiyao
c5afd7ce34
i2s: fix write failure on ESP32 in 32bit slave mode
2021-09-03 17:36:44 +08:00
laokaiyao
b26da6f115
driver/i2s: refactor for i2s driver layer
2021-09-02 14:33:36 +08:00
Michael (XIAO Xufeng)
375145ecdb
Merge branch 'feature/mcpwm_bldc_hall_example' into 'master'
...
mcpwm: bldc hall example
Closes IDF-3648
See merge request espressif/esp-idf!14578
2021-08-26 08:28:27 +00:00
Darian
72ba1866fb
twai: TWAI_ALERT_RX_DATA indicates that frames were received
...
Signed-off-by: Darian Leung <darian@espressif.com>
Closes https://github.com/espressif/esp-idf/pull/7386
Closes https://github.com/espressif/esp-idf/issues/7374
2021-08-25 19:57:10 +08:00
morris
0dbe872542
mcpwm: bldc hall example
2021-08-24 15:38:46 +08:00
morris
bb87fd8f08
Merge branch 'refactor/pcnt_driver_esp32s3' into 'master'
...
pcnt: soc update and hal refactor
See merge request espressif/esp-idf!14698
2021-08-20 04:23:15 +00:00
morris
71d475149d
lcd: update doc unit test and example to support 8-line spi
2021-08-19 16:40:22 +08:00
bizhuangyang
8143832041
spi_master:support octal mode for esp32s2 and esp32s3
...
Add support for 8-line spi for lcd on esp32s2 and esp32s3
Closes https://github.com/espressif/esp-idf/issues/6371
2021-08-19 16:40:22 +08:00
morris
3bcd9278fa
i2s: expose resource object to other component
2021-08-10 21:06:59 +08:00
morris
56760c9669
pcnt: refactor hal driver
2021-08-10 17:19:21 +08:00
Wang Fang
59aa60d52a
Merge branch 'docs/provide_apb_clock_frequency_in_api-reference_timers' into 'master'
...
docs: provide APB clock frequency in api-reference/timers
Closes DOC-1689
See merge request espressif/esp-idf!14593
2021-08-06 06:50:26 +00:00
Wang Fang
0ba73ee7e2
docs: provide APB clock frequency in api-reference/timers
2021-08-06 11:05:32 +08:00
SalimTerryLi
e5ddc12a08
MCPWM/capture: API workflow optimization
...
deprecate isr_register to introduce new callback based API, with framework managed interrupt routine
new HC-SR04 example
2021-08-05 19:12:58 +08:00
Michael (XIAO Xufeng)
947980ecac
Merge branch 'bugfix/uart_set_pin_use_iomux' into 'master'
...
uart: uart_set_pin function will now use IOMUX whenever possible
Closes IDF-3183
See merge request espressif/esp-idf!14318
2021-08-05 04:17:29 +00:00