Commit Graph

295 Commits

Author SHA1 Message Date
Armando
85980884d7 adc: improve adc power logic 2023-04-20 10:34:37 +08:00
Michael (XIAO Xufeng)
8f202f0ea5 Merge branch 'bugfix/fix_uart_tx_done_hardware_concurrency_v5.0' into 'release/v5.0'
uart: Fix TX side concurrency issues (v5.0)

See merge request espressif/esp-idf!22595
2023-03-23 15:29:33 +08:00
Song Ruo Jing
27f9ee66d5 gpio: Fix IO hold function related problems
1. Fix deep sleep wakeup IOs can not be unhold issue
2. Correct hold related APIs' description
3. Fix gpio_force_hold_all API

docs: Add GPIO wakeup source to sleep_modes doc for ESP32C3 and C2
2023-03-17 14:44:29 +08:00
Song Ruo Jing
f177b2c6c6 uart: Fix two TX concurrency issues
1. Concurrency might cause ESP_ERR_TIMEOUT when calling uart_wait_tx_done
2. Concurrency might cause RTS line being de-assreted during tx transmission for rs485 mode
2023-03-03 19:18:08 +08:00
Jiang Jiang Jian
96db537020 Merge branch 'feature/apply_new_version_logic_v5.0' into 'release/v5.0'
all: Apply new version logic (major * 100 + minor) (v5.0)

See merge request espressif/esp-idf!20941
2023-01-12 16:18:23 +08:00
KonstantinKondrashov
823024c10c all: Apply new version logic (major * 100 + minor) 2023-01-06 02:00:52 +08:00
Omar Chebib
0714847552 C/Cxx: unify static assertions with the macro ESP_STATIC_ASSERT
Closes https://github.com/espressif/esp-idf/issues/9938
2022-12-19 15:06:15 +01:00
Simon Arlott
5ba75187b0 hal/uart_ll.h: Fix compile with C++
I'm including <hal/uart_ll.h> in my C++ application because I need to
bypass the uart driver. The inline functions in the header file fail to
compile as C++.

All of the enums need explicit casts for conversion to/from integers.

Merges https://github.com/espressif/esp-idf/pull/10106
2022-12-06 10:13:03 +08:00
Jiang Jiang Jian
77333d2d64 Merge branch 'bugfix/fix_current_leakage_when_hold_digital_io_during_deep_sleep_backport_v5.0' into 'release/v5.0'
esp_hw_support/sleep: fix current leakage when hold digital io during deep sleep(backport v5.0)

See merge request espressif/esp-idf!20806
2022-12-05 14:00:59 +08:00
Ivan Grokhotkov
864ca34199 Merge branch 'bugfix/i2c_func_iram_v5.0' into 'release/v5.0'
I2C: put some interrupt used functions into IRAM( v5.0)

See merge request espressif/esp-idf!21404
2022-12-05 10:31:33 +08:00
jingli
99c8c0c645 hal/gpio_ll: fix digital gpio can not enable hold during deep sleep when force_unhold set(32/s2/s3) 2022-12-02 12:24:52 +00:00
jingli
4223427127 hal/gpio_ll: fix digital gpio can not disable hold during deep sleep 2022-12-02 12:24:52 +00:00
jingli
21c9ec5eee esp_hw_support/sleep: fix current leakage when hold digital io during deep sleep 2022-12-02 12:24:52 +00:00
Cao Sen Miao
1bd4c6a8cf I2C: put some interrupt used functions into IRAM,
closes https://github.com/espressif/esp-idf/issues/10079
2022-12-02 15:13:51 +08:00
jingli
18fef64089 wifi/bt: fix part of modem module not reset when power up 2022-12-01 21:08:57 +08:00
laokaiyao
592a51ae96 i2s: fixed typo 'philip'
Closes: https://github.com/espressif/esp-idf/issues/10197
2022-11-22 15:59:51 +08:00
liuning
eb61f5835a esp_wifi: add protection for mac reset (backport 5.0) 2022-10-31 17:55:03 +08:00
Jiang Jiang Jian
fdb2550da0 Merge branch 'bugfix/spi_hd_quad_issue_5.0' into 'release/v5.0'
SPI : fix wrong dummy cycle on quad mode and put get-command function in spi_ll.h(backport v5.0)

See merge request espressif/esp-idf!19799
2022-09-14 13:49:42 +08:00
gaoxu
1148e4e77f SPI: Fixed Quad SPI wrong dummy cycle issue on ESP32C2/ESP32C3/ESP32S3 and put get-command/dummy-bits functions in spi_ll.h 2022-09-07 18:48:05 +08:00
Armando
29ae238845 mmu: driver framework, for vaddr maintenance
This commit gives basic mmu driver framework. Now it is able to maintain
mmu virtual address usage on esp32, esp32s2 and esp32s3. Usage to
external virtual address should rely on mmu functions to know which
address range is available, instead of hardcoded.

This commit also improves psram memory that is added to the heap
allocator. Now it's added to the heap, according to the memory
alignment.

Closes https://github.com/espressif/esp-idf/issues/8295
Closes https://github.com/espressif/esp-idf/issues/9193
2022-08-27 16:05:51 +08:00
Michael (XIAO Xufeng)
69be7c4cc2 Merge branch 'feat/support_esp32c2_uart_v5.0' into 'release/v5.0'
uart: update console docs about frequency for ESP32-C2, move frequency of clock sources out of HAL (v5.0)

See merge request espressif/esp-idf!19690
2022-08-25 02:03:26 +08:00
Michael (XIAO Xufeng)
6ed15178b6 uart: move frequency of clock sources out of HAL 2022-08-22 14:28:12 +08:00
morris
6820c9decc rmt: add iram safe test
Closes https://github.com/espressif/esp-idf/issues/9487
2022-08-18 10:57:13 +08:00
morris
cf4cfc69ed esp_adc: add test with -O0 2022-08-02 23:07:06 +08:00
morris
a5a171926b rmt: add test with -O0 2022-08-02 23:07:06 +08:00
morris
031adc01c4 gpio: add test with -O0 2022-08-02 23:07:06 +08:00
morris
ca175857d1 pcnt: add test with -O0 2022-08-02 23:07:06 +08:00
morris
8987164385 i2s: add test with -O0 2022-08-02 23:07:06 +08:00
morris
7faf1bee73 gptimer: add test with -O0 2022-08-02 22:53:36 +08:00
wanlei
bb5a95f1aa soc: fix register header files not self-contain 2022-07-29 11:18:06 +08:00
laokaiyao
77a5c209d9 dac_ll: sync PR changes to esp32s2 2022-07-27 14:45:48 +08:00
morris
d94432fea8 systimer: refactor hal to accomodate more xtal choices 2022-07-25 16:08:52 +08:00
laokaiyao
edee3ee3cd i2s: add slot sequence table
Closes: https://github.com/espressif/esp-idf/issues/9208

When I2S is configured into different modes, the slot sequence varies.
This commit updates slot sequence tables and corresponding descriptions
in (both code and programming guide).
2022-07-21 15:52:39 +08:00
morris
4154eaec93 sdm: clean up soc/hal/ll code 2022-07-20 14:59:50 +08:00
Song Ruo Jing
4734b1433b Merge branch 'bugfix/gpio_hal_coverity_fix' into 'master'
gpio: Fix ESP32S3 GPIO48 does not support hold function bug and Fix coverity report

Closes IDF-4901

See merge request espressif/esp-idf!18805
2022-07-19 21:37:15 +08:00
Armando (Dou Yiwen)
9f6f61345b Merge branch 'feature/adc_driver_ng' into 'master'
ADC Driver NG

Closes IDF-4560, IDF-3908, IDF-4225, IDF-2482, IDF-4111, IDF-3610, IDF-4058, IDF-3801, IDF-3636, IDF-2537, IDF-4310, IDF-5150, IDF-5151, and IDF-4979

See merge request espressif/esp-idf!17960
2022-07-19 21:28:31 +08:00
Cao Sen Miao
53580a62b5 I2C: Fullfill the I2C clock tree, and support 26M XTAL on ESP32-C2 2022-07-19 11:41:42 +08:00
Armando
5b523a3313 esp_adc: new esp_adc component and adc drivers 2022-07-15 18:31:00 +08:00
songruojing
0c4b9a0101 gpio: Fix HAL bad bit shift operation on gpio_num_t reported from coverity
All gpio hal and ll functions input arguments gpio_num_t are changed to uint32_t type.
Validation of gpio num should be guaranteed from the driver layer.
2022-07-15 16:51:25 +08:00
Jiang Jiang Jian
b610b47a83 Merge branch 'feature/esp32s3_memprot_additional_improvements' into 'master'
[System/Security] Memprot after-merge improvements (v5.0)

Closes IDF-5263 and IDF-5208

See merge request espressif/esp-idf!18893
2022-07-13 15:48:20 +08:00
Ivan Grokhotkov
5b54ae76d4 esp_timer, hal: add support for non-integer systimer frequency
When ESP32-C2 is paired with a 26 MHz XTAL, the systimer tick
frequency becomes equal to 26 / 2.5 = 10.4 MHz. Previously we always
assumed that systimer tick frequency is integer (and 1 MHz * power of
two, above that!).
This commit introduces a new LL macro, SYSTIMER_LL_TICKS_PER_US_DIV.
It should be set in such a way that:

1. SYSTIMER_LL_TICKS_PER_US / SYSTIMER_LL_TICKS_PER_US_DIV equals the
   actual systimer tick frequency,
2. and SYSTIMER_LL_TICKS_PER_US is integer.

For ESP32-C2 this means that SYSTIMER_LL_TICKS_PER_US = 52 and
SYSTIMER_LL_TICKS_PER_US_DIV = 5.

This introduced two possible issues:

1. Overflow when multiplying systimer counter by 5
   - Should not be an issue, since systimer counter is 52-bit, so
     counter * 5 is no more than 55-bit.
2. The code needs to perform:
   - divide by 5: when converting from microseconds to ticks
   - divide by 52: when converting from ticks to microseconds
   The latter potentially introduces a performance issue for the
   esp_timer_get_time function.
2022-07-11 12:24:37 +08:00
Martin Vychodil
0c87ae2a91 System/Security: Memprot API unified (ESP32S3)
Added missing features and improvements
2022-07-09 22:57:51 +02:00
Michael (XIAO Xufeng)
a58362a429 Merge branch 'feature/efuse_rev_major_minor' into 'master'
efuse: Adds major and minor versions

See merge request espressif/esp-idf!18255
2022-07-07 11:48:54 +08:00
Cao Sen Miao
e218723e0e I2C: Make I2C clock frequency accurate 2022-07-06 11:58:08 +08:00
KonstantinKondrashov
0f8ff5aa15 efuse: Adds major and minor versions and others 2022-07-05 14:38:27 +08:00
Omar Chebib
cd48baf979 Refactor: move regi2c_*.h header files from esp_hw_support to soc component
When creating G0 layer, some regi2c_*.h headers were moved out from
esp_hw_support (G1) to soc (G0). In order to be consistent with that change,
move all the remaining regi2c_*.h headers to soc too.
2022-06-30 09:40:44 +00:00
Armando (Dou Yiwen)
e13d7f8351 Merge branch 'bugfix/s2_ap64_psram_crash_issue' into 'master'
psram: fix esp32s2 module with APS6404 PSRAM crash issue

Closes IDF-5361

See merge request espressif/esp-idf!18699
2022-06-29 11:19:17 +08:00
Armando
31b3f31ef4 ext_mem: make memory region check strict 2022-06-28 14:17:44 +08:00
morris
7fd9a91034 dma: move from driver to hw_support 2022-06-28 14:17:12 +08:00
Cao Sen Miao
2c0651a671 Add regi2c enable/disable reference count 2022-06-23 15:36:44 +08:00