Alexey Lapshin
4df3ff619e
feat(esp_system): implement hw stack guard for riscv chips
...
- add hardware stack guard based on assist-debug module
- enable hardware stack guard by default
- disable hardware stack guard for freertos ci.release test
- refactor rtos_int_enter/rtos_int_exit to change SP register inside them
- fix panic_reason.h header for RISC-V
- update docs to include information about the new feature
2023-07-01 16:27:40 +00:00
Armando
eaf21a34af
fix(adc): fixed esp32, esp32s2,esp32s3 adc oneshot mode clk div issue
2023-06-27 14:40:22 +08:00
Wan Lei
a0dc515143
Merge branch 'refactor/cache_utils_refactor_to_cache_hal' into 'master'
...
cache: refactor cache_utils to use cache_hal instade
Closes IDF-7172 and IDF-7385
See merge request espressif/esp-idf!23317
2023-06-19 11:54:12 +08:00
Song Ruo Jing
921713fff4
uart: Support LP_UART port with UART driver on esp32c6
2023-06-16 07:31:40 +00:00
wanlei
0f7e39d15a
cache: refactor cache_utils into cache_hal instade
2023-06-15 11:50:42 +08:00
Chen Jichang
5150c578fd
ledc:add option to put LEDC function into IRAM
...
The caches are disabled when reading/writing/erasing flash.
All CPUs should always execute code and access data from internal RAM.
Add an IRAM option to enhance the performance of LEDC.
Closes https://github.com/espressif/esp-idf/issues/11554
2023-06-14 18:12:01 +08:00
laokaiyao
71ef56f988
gdma: support on_recv_done callback
2023-06-07 11:38:32 +08:00
Mahavir Jain
e2fe2bf152
Merge branch 'fix/xts_aes_register_prefix_discrepency' into 'master'
...
fix: xts aes register prefix discrepancy
Closes DOC-5136 and DOC-5140
See merge request espressif/esp-idf!23900
2023-05-25 16:40:13 +08:00
harshal.patil
ed4ceea43d
esp32c2: xts-aes register prefix discrepency
2023-05-25 11:27:18 +05:30
wanlei
87848110c1
adc: new feature adc digital monitor supported
2023-05-24 17:46:52 +08:00
C.S.M
224430f6b4
Merge branch 'bugfix/tempsensor_wifi_conflict' into 'master'
...
temperature_sensor: Fix issue that have conflict with phy
Closes IDF-5227, IDF-5992, IDF-5504, and IDF-6113
See merge request espressif/esp-idf!20210
2023-05-19 12:46:55 +08:00
Cao Sen Miao
faa10947a8
temperature_sensor: Apply new-shared interface in temperature sensor driver
2023-05-18 15:00:36 +08:00
wuzhenghui
d197c59eaa
bugfix: move adc_oneshot_power_acquire/release to adc_oneshot_read
...
Closes https://github.com/espressif/esp-idf/issues/10595
Closes https://github.com/espressif/esp-idf/issues/11386
2023-05-18 10:29:50 +08:00
Cao Sen Miao
ed96dadd06
spi_flash: 2nd stage for supporting flash suspend. (1). Support more esp chips (2). Improve real-time performance (3). Making timing more stable (4) Add documents
2023-05-11 20:10:30 +08:00
KonstantinKondrashov
e48130246a
hal: Explicit setting of efuse time settings
...
EFUSE_PWR_ON_NUM in C3 has default value = 0x2880, now = 0x3000
2023-05-10 00:41:35 +08:00
Armando
ea10aac4f0
spi: added transaction length check to refuse longer than hardware supported length
2023-05-04 11:37:23 +08:00
C.S.M
7d9d27a060
Merge branch 'refactor/driver_ut_to_test_app' into 'master'
...
CI: Move all UT in driver to test_app
See merge request espressif/esp-idf!23343
2023-04-25 14:10:11 +08:00
Cao Sen Miao
8882ba2ba1
CI: Move all UT in driver to test_app
2023-04-25 10:40:32 +08:00
Song Ruo Jing
fcc6514dde
ledc: Add an all-in-one HAL function to set fade parameters, and refactor ledc_ll_get_max_duty function
2023-04-21 16:40:54 +08:00
Cao Sen Miao
a3d962d89a
brownout: Disable the hardware BOD when BOD interrupt is enabled
2023-04-21 10:22:59 +08:00
Omar Chebib
a0f8434f93
i2c: fix a bug in sda sample timing
...
* Closes https://github.com/espressif/esp-idf/issues/9777
This bug prevented SCL line to work properly after a NACK was received in master mode.
2023-04-13 14:37:44 +08:00
Song Ruo Jing
44915e4251
Merge branch 'bugfix/ledc_channel_update_regression' into 'master'
...
ledc: Fix two bugs inside LEDC driver
See merge request espressif/esp-idf!23064
2023-04-06 20:52:23 +08:00
Song Ruo Jing
5070e51dde
ledc: Fix two bugs inside LEDC driver
...
1. Regression introduced when refactoring on clock sources selection (0d07f859
).
If channel configuration is called before timer configuration on C6, PWM signal may not be able to output.
2. Missing the improper fade parameter fix inside ledc_set_duty_and_update() function.
2023-04-06 12:37:33 +08:00
morris
1429913042
gdma: support override default channel priority
2023-04-06 10:49:32 +08:00
KonstantinKondrashov
5b00d1f396
efuse: Update efuses for esp32 esp32c2 esp32c3 esp32s2 esp32s3
2023-04-04 22:32:32 +08:00
Sachin Parekh
bbc99e5532
esp32c2/ecc: Remove support for inverse multiplication
...
On C2, inverse multiplication (division) mode uses the modular base P
instead of N making it impractical for ECC crypto calculation
2023-03-13 16:39:46 +05:30
jingli
238f31d93b
uart: add low level func for uart to set err wr mask
2023-03-09 10:28:33 +08:00
Armando (Dou Yiwen)
4452a3cf3e
Merge branch 'feature/support_h2_adc' into 'master'
...
adc: support adc h2
Closes IDF-6124, IDF-6214, IDF-6543, IDF-6215, IDF-6664, and IDF-6695
See merge request espressif/esp-idf!22205
2023-02-24 14:28:33 +08:00
Marius Vikhammer
c2f9392be5
Merge branch 'feature/h2_wdt' into 'master'
...
wdt: add support for H2
Closes IDF-6643 and IDF-6678
See merge request espressif/esp-idf!22422
2023-02-24 13:48:20 +08:00
Armando
486c765a93
adc: remove adc_hal_conf.h
...
Macros inside adc_hal_conf.h are moved to adc_ll.h
2023-02-23 11:48:31 +08:00
Armando
c2d5c19b28
adc: ll enum renaming
2023-02-23 11:48:31 +08:00
Marius Vikhammer
5d26a0de9a
wdt: add support for H2
2023-02-23 11:22:51 +08:00
Alexey Lapshin
36d0e275a0
hal: always inline clk_tree_ll functions
2023-02-22 05:33:03 +00:00
Jing Li
75a82988f1
Merge branch 'refactor/wdt_use_unified_type' into 'master'
...
wdt: refactor wdt codes to use unified type
Closes IDF-5653
See merge request espressif/esp-idf!22378
2023-02-21 09:46:06 +08:00
Armando
82ee8403b6
mmu: mmu_hal_check_valid_ext_vaddr_region
2023-02-17 13:04:55 +08:00
jingli
9c37441b17
wdt: refactor wdt codes to use unified type
2023-02-15 12:08:55 +08:00
Armando
3afa671069
esp_adc: added adc digital filter feature
2023-02-10 16:46:20 +00:00
Song Ruo Jing
b69f983525
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-02-08 14:24:43 +08:00
Armando
d6844051fc
esp_mm: new virtual memory mapping apis via mmu
2023-02-07 20:23:52 +08:00
Armando
af15b6d885
mmu: simplify mmu vaddr region macro on esp32c2
...
ESP32C2 mmu vaddr region macros, and related mask macros in
ext_mem_defs.h depends on mmu page size.
2023-02-07 20:23:51 +08:00
Jing Li
409804f673
Merge branch 'feature/support_feature_depend_on_rtc_fast_mem_for_esp32c2' into 'master'
...
esp32c2: support feature(rtc time) depend on rtc fast mem
Closes IDF-3901, IDF-4239, IDF-5053, IDF-5060, and IDF-5131
See merge request espressif/esp-idf!19067
2023-02-07 15:16:01 +08:00
Song Ruo Jing
b72d759290
uart: Add support for esp32h2
2023-02-06 00:48:04 +08:00
jingli
f8cc2ec86d
esp32c2: support rtc time feature depend on rtc memory, since c2 does not have rtc memory
2023-02-02 20:25:59 +08:00
morris
dbca74f1ef
gdma: prevent mutli-channels connect to the same peripheral
...
1. add check in the gdma driver, to prevent multiple channels connecting
to the same peripheral
2. memory copy DMA ID will occupy the peripheral's DMA ID on some ESP
targets (e.g. esp32c3/s3). We should search for a free one when
install async memcpy driver.
Closes https://github.com/espressif/esp-idf/issues/10575
2023-01-31 15:18:19 +08:00
Song Ruo Jing
ad55230b0a
ledc: Add support for esp32h2; Refactor ledc driver clock source selection related code
...
LEDC examples and test cases are supported on ESP32H2.
Switch to use general clock IDs for ledc_clk_cfg_t enum values.
Deprecate LEDC_USE_RTC8M_CLK.
2023-01-30 19:19:34 +08:00
Marius Vikhammer
5e9e8c396f
wdt: add support for WDTs on C6
2023-01-19 12:58:26 +08:00
wanlei
184145817c
spi_master: add feature spi periph clk source selectable
2023-01-18 15:40:12 +08:00
Song Ruo Jing
c7c2462d39
system: Add complete support for disabling ROM logging by calling esp_deep_sleep_disable_rom_logging on C2, C3, and S3
2023-01-17 11:30:43 +08:00
Song Ruo Jing
2c9aa4559c
clk_tree: Add a general API to get the frequency of different clocks
...
Add basic clk_tree driver and hal implementation.
2023-01-17 11:30:24 +08:00
Armando (Dou Yiwen)
d1b8da74d8
Merge branch 'refactor/improve_adc_power_maintanance' into 'master'
...
adc: improve adc power maintanance
Closes IDF-6114 and IDF-6318
See merge request espressif/esp-idf!21151
2023-01-12 20:30:36 +08:00
morris
f7c3d791a2
Merge branch 'feature/systimer_support_esp32h2' into 'master'
...
systimer: assign counter and alarm in esp_hw_support
Closes IDF-6484, IDF-5323, and IDF-6230
See merge request espressif/esp-idf!21984
2023-01-12 11:01:17 +08:00
morris
6c1d98d556
systimer: assign counter and alarm in esp_hw_support
2023-01-10 17:05:49 +08:00
jiangguangming
cceccb4ed9
hal: add rtc_cntl LL function for wake stub
2023-01-10 16:09:49 +08:00
Cao Sen Miao
56a2d0b8a2
BOD: Bringup for ESP32C6
2023-01-10 10:37:30 +08:00
Armando
5be3c21cfc
adc: improve power logic
2023-01-09 17:10:04 +08:00
Armando
f9da48d94f
rtc: add pwdet and sar adc power related low level func
2023-01-09 17:09:01 +08:00
wanlei
971eaa0c08
spi_slave: fix spi_slave_isr iram_safe and add test case for it
2023-01-04 15:35:04 +08:00
laokaiyao
5333ac81bf
adc: support ADC on esp32c6 (driver/test/example)
2022-12-23 11:24:06 +08:00
laokaiyao
e27f3e3128
adc: support ADC on esp32c6 (hal)
2022-12-23 11:24:06 +08:00
morris
62f1cbca2c
gpio: support glitch filter
2022-12-09 11:33:42 +08:00
KonstantinKondrashov
741e89cbaa
esp_hw_support: Removes efuse dependency
2022-11-25 19:27:33 +08:00
Konstantin Kondrashov
b4580a1980
Merge branch 'feature/esp_timer_add_ll_for_rc_fast_clk' into 'master'
...
hal: Adds hal/ll func for SYSTIMER to select clock source: XTAL or RC_FAST_CLK
Closes IDF-5323
See merge request espressif/esp-idf!21136
2022-11-23 15:05:48 +08:00
KonstantinKondrashov
63f852adc8
hal: Adds hal/ll func for SYSTIMER to select clock source: XTAL or RC_FAST_CLK
2022-11-22 20:29:19 +08:00
Omar Chebib
cd21058097
C/Cxx: unify static assertions with the macro ESP_STATIC_ASSERT
...
Closes https://github.com/espressif/esp-idf/issues/9938
2022-11-21 16:18:08 +08:00
Simon Arlott
d1993c01f2
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-11-15 06:29:05 +00:00
Song Ruo Jing
eae70a8513
Merge branch 'bugfix/wakeup_io_hold_unhold_in_sleep' into 'master'
...
gpio: Fix deep sleep wakeup IOs unable to unhold after wakeup
Closes IDF-6122
See merge request espressif/esp-idf!20823
2022-11-14 12:48:40 +08:00
Song Ruo Jing
d0a7dc3e9f
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
2022-11-11 20:39:04 +08:00
wangyuanze
6fc51c06c7
uart: force inline ll functions
2022-11-11 16:59:40 +08:00
Cao Sen Miao
803fc3fbe0
I2C: Add i2c support for ESP32C6
2022-11-07 14:12:53 +08:00
liuning
57c394c4e0
esp_wifi: add protection for mac reset
2022-10-31 06:41:42 +00:00
Armando
260ee86c37
rtc: united sar peripheral control
2022-10-27 16:51:25 +08:00
Armando (Dou Yiwen)
542bdea689
Merge branch 'feature/adc_calibration_on_c2' into 'master'
...
esp_adc: support adc calibration on esp32c2
Closes IDF-5203 and IDF-5899
See merge request espressif/esp-idf!20044
2022-10-18 10:50:59 +08:00
Armando
ccfbba5994
esp_adc: support adc calibration on esp32c2
2022-10-13 21:03:51 +08:00
jingli
128d82eaaa
hal/gpio_ll: fix digital gpio can not disable hold during deep sleep
2022-10-11 12:11:36 +08:00
jingli
b903a2253b
esp_hw_support/sleep: fix current leakage when hold digital io during deep sleep
2022-10-11 12:11:28 +08:00
morris
a1030307f1
gptimer: bringup driver on esp32c6
2022-09-13 10:50:58 +08:00
Cao Sen Miao
31b88a4c88
I2C: Refactor i2c hal and ll
2022-09-01 15:53:59 +08:00
wuzhenghui
c31aaeda2a
ll: add reset interface to rtc_cntl_ll
2022-08-31 01:59:36 +00:00
Gao Xu
0da21aca0d
Merge branch 'bugfix/fix_spi_hd_quad_issue_esp32c3' into 'master'
...
essl_spi: fix wrong dummy cycle under quad spi mode ant add a test to verify spi quad mod
Closes IDF-5182 and IDF-5181
See merge request espressif/esp-idf!18680
2022-08-30 10:53:11 +08:00
Michael (XIAO Xufeng)
4fb1ccdd4e
Merge branch 'feature/c2_efuse_with_26mhz' into 'master'
...
efuse(es32c2): Supports 26MHz XTAL
Closes IDF-5427
See merge request espressif/esp-idf!18851
2022-08-29 01:43:57 +08:00
morris
995b89fbb6
gptimer: add API to get captured count value
2022-08-25 17:55:19 +08:00
KonstantinKondrashov
f2adee8b28
efuse(es32c2): Supports 26MHz XTAL
2022-08-24 09:10:57 +00:00
gaoxu
3610b14aef
SPI : fix wrong dummy cycle on quad mode and put get-command function in spi_ll.h
...
1.The dummy_bits is set to 4 in ESP32C3/C2, therefore, the data transmission started too early.This commit fix this issue by changing dummy_bits to 8.
2.Put the spi command the spi defintion in spi_types.h
3.Put the function which get spi command or dummy bits in spi_ll.h
2022-08-23 10:46:56 +08:00
Michael (XIAO Xufeng)
746f4b814c
uart: move frequency of clock sources out of HAL
2022-08-15 18:55:43 +00:00
zlq
7d8f10423e
1.add ldo parameters in efuse table; 2.set ldo dbias based on pvt-efuse; 3.add pll cali stop function; 4. add efuse_ocode
2022-08-05 14:24:51 +08:00
morris
cf4cfc69ed
esp_adc: 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
7faf1bee73
gptimer: add test with -O0
2022-08-02 22:53:36 +08:00
Armando
f325ad2211
mmu: fix wrong mmu end check
...
In mmu code, we follow the rule that the `end` address shouldn't be
touched. This commit fix wrong end address check in mmu_ll.h
2022-07-27 10:22:09 +00:00
morris
d94432fea8
systimer: refactor hal to accomodate more xtal choices
2022-07-25 16:08:52 +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
Ivan Grokhotkov
2e37218ce5
soc, hal: remove XTAL_CLK_FREQ
...
XTAL_CLK_FREQ now depends on the actual XTAL used, remove this macro
and get the XTAL frequency from the RTC register instead.
No uses of XTAL_CLK_FREQ found, other than in the UART LL.
2022-07-11 12:24:58 +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
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
Song Ruo Jing
b662f4b74f
Merge branch 'feature/support_26M_32M_xtal_bbpll_c2' into 'master'
...
support c2 26M/32M xtal for bbpll
Closes IDF-5485
See merge request espressif/esp-idf!18769
2022-07-06 21:17:52 +08:00
Cao Sen Miao
e218723e0e
I2C: Make I2C clock frequency accurate
2022-07-06 11:58:08 +08:00