morris
d9825f5165
Merge branch 'feature/add_clk_tree_get_frequency_api' into 'master'
...
clk_tree: Stage 4 - Add a general API to get the frequency of different clocks
Closes IDF-6569
See merge request espressif/esp-idf!21830
2023-01-17 17:08:23 +08:00
laokaiyao
c25fc7d242
i2s: fix incorrect sclk in legacy driver
2023-01-17 11:34:25 +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
C.S.M
faac178784
Merge branch 'feature/brownout_bringup_c6' into 'master'
...
BOD: Bringup for ESP32C6
Closes IDF-5345
See merge request espressif/esp-idf!21888
2023-01-10 14:42:43 +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
laokaiyao
6b631b68d1
sdm: correct concept duty to density
2023-01-06 17:01:48 +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
laokaiyao
7a002ab7a6
rtcio: support rtcio on c6
2022-12-22 14:14:38 +08:00
Song Ruo Jing
244d3caa97
i2s: Fix esp32c6 get I2S_CLK_SRC_PLL_160M clock frequency value wrong issue
2022-12-13 19:18:34 +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
d965b7fdec
Merge branch 'staging/esp_static_assert' into 'master'
...
C/Cxx: Static assertions are now unified
Closes IDFGH-8479
See merge request espressif/esp-idf!20569
2022-11-22 17:04:02 +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
laokaiyao
039af72058
i2s: fixed typo 'philip'
...
Closes: https://github.com/espressif/esp-idf/issues/10197
2022-11-21 15:58:06 +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
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
C.S.M
86aa012c26
Merge branch 'feature/bringup_i2c_esp32c6' into 'master'
...
I2C: Add i2c support for ESP32C6
Closes IDF-5326 and IDF-5327
See merge request espressif/esp-idf!20905
2022-11-08 11:56:15 +08:00
Cao Sen Miao
803fc3fbe0
I2C: Add i2c support for ESP32C6
2022-11-07 14:12:53 +08:00
morris
a25123f703
twai: bringup on esp32c6
2022-11-04 17:40:29 +08:00
KonstantinKondrashov
1f9260d790
all: Apply new version logic (major * 100 + minor)
2022-11-03 08:36:23 +00: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
laokaiyao
8ef9fd4623
dac: optimize the dma stratege
2022-10-25 17:14:59 +08:00
laokaiyao
f9f9a09dfb
dac: update unit-test docs and examples for driver-NG
2022-10-25 17:00:41 +08:00
laokaiyao
351a18415c
dac: driver-ng framework
2022-10-25 17:00:41 +08:00
Cao Sen Miao
9777c9d5b1
dac: refactor to new api on esp32s2
2022-10-25 17:00:41 +08:00
Cao Sen Miao
9e4ff3d374
dac_dma: Support DAC_DMA on esp32s2
2022-10-25 17:00:41 +08:00
jingli
2b8c43df69
hal/gpio_ll: fix digital gpio can not enable hold during deep sleep when force_unhold set(32/s2/s3)
2022-10-11 12:11:36 +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
b562754a2f
rmt: support esp32c6
2022-09-17 04:56:49 +00:00
laokaiyao
bae4944b90
i2s: bringup i2s on esp32c6
2022-09-15 20:03:39 +08:00
laokaiyao
7197e987cb
i2s: add XTAL clock source
2022-09-15 19:32:06 +08:00
morris
a1030307f1
gptimer: bringup driver on esp32c6
2022-09-13 10:50:58 +08:00
Simon
e923c15859
Merge branch 'refactor/i2c_hal' into 'master'
...
I2C: Refactor i2c hal and ll(pre-MR of I2C driver-NG)
See merge request espressif/esp-idf!19750
2022-09-02 10:47:35 +08:00
Cao Sen Miao
31b88a4c88
I2C: Refactor i2c hal and ll
2022-09-01 15:53:59 +08:00
wuzhenghui
1d299a8976
esp32c6: add hal support
2022-09-01 12:37:51 +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
Armando (Dou Yiwen)
ac63c0afd7
Merge branch 'feature/basic_mmu_framework' into 'master'
...
mmu: basic mmu driver framework
Closes IDFGH-6659 and IDF-5825
See merge request espressif/esp-idf!19547
2022-08-26 22:19:10 +08:00
Armando
2d44dc1eed
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
2022-08-26 17:59:06 +08:00
morris
995b89fbb6
gptimer: add API to get captured count value
2022-08-25 17:55:19 +08: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)
0a2e5a7774
Merge branch 'feat/support_esp32c2_uart' into 'master'
...
uart: update console docs about frequency for ESP32-C2, move frequency of clock sources out of HAL
Closes IDF-5424 and IDF-4332
See merge request espressif/esp-idf!19274
2022-08-22 14:24:26 +08:00
Michael (XIAO Xufeng)
746f4b814c
uart: move frequency of clock sources out of HAL
2022-08-15 18:55:43 +00:00
laokaiyao
62ab4456a8
touch_sleep: complete the support for touch sleep
2022-08-15 20:04:57 +08:00
morris
6f2ac1ce2a
rmt: add iram safe test
...
Closes https://github.com/espressif/esp-idf/issues/9487
2022-08-12 11:30:14 +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
Cao Sen Miao
3a820462ac
temperature_sensor: Add temperature sensor support for ESP32-C2
2022-06-23 15:36:43 +08:00
Omar Chebib
8fae0f0753
G0: Support Xtensa targets for G0-only compilation
...
G0-only example now supports Xtensa targets. This means that G0 layer
does not depend on G1+ layers anymore
2022-06-20 11:34:20 +00:00
laokaiyao
28b8fc6a7e
i2s: update documents for driver-NG
2022-06-15 10:30:04 +08:00
Darian
e213e66ba3
Merge branch 'refactor/esp_hw_support_cpu' into 'master'
...
esp_hw_support: Add new esp_cpu.h abstraction
Closes IDF-4769
See merge request espressif/esp-idf!17091
2022-06-14 21:11:30 +08:00
morris
919344547b
Merge branch 'bugfix/rmt_register_file_s3' into 'master'
...
rmt: update register file after fixing csv of RMT peripheral (esp32s2/s3)
Closes IDFGH-7537
See merge request espressif/esp-idf!18392
2022-06-14 18:24:28 +08:00
Darian Leung
a8a3756b38
hal: Route CPU and Interrupt Controller HAL/LL to esp_cpu calls
...
This commit makes changes to cpu_ll.h, cpu_hal.h, and interrupt_controller_hal.h:
- Moved to esp_hw_support in order to be deprecated in the future
- HAL/LL API now route their calls to esp_cpu.h functions instead
Also updated soc_hal.h as follows:
- Removed __SOC_HAL_..._OTHER_CORES() macros as they dependend on cpu_hal.h
- Made soc_hal.h and soc_ll.h interfaces always inline, and removed soc_hal.c.
This commit also updates the XCHAL_ERRATUM_572 workaround by
- Removing it's HAL function and invoking the workaround it directly the bootloader
- Added missing workaround for the ESP32-S3
2022-06-14 14:40:03 +08:00
Darian Leung
149872131a
hal: Move dedicated GPIO LL and HAL
...
This commit moves the dedicated GPIO LL and HAL functions from
cpu_ll.h to dedic_gpio_cpu_ll.h.
- cpu_ll_enable_cycle_count() has also been removed due to lack of feasible usage scenarios
2022-06-14 14:38:29 +08:00
songruojing
c8752cee6a
clk_tree: Refactor rtc_clk.c by adding HAL layer for clock subsystem
2022-06-13 17:47:50 +08:00
morris
4094f13fd3
rmt: fix error in rmt register file
...
Closes https://github.com/espressif/esp-idf/issues/9100
2022-06-10 18:38:42 +08:00
Cao Sen Miao
6589daabb9
MMU: Add configurable mmu page size support on ESP32C2
2022-06-08 19:34:31 +08:00
Cao Sen Miao
6a2d3509dc
spi_flash: Making XMC flash works more stable when brownout detected
2022-06-02 10:38:55 +08:00
KonstantinKondrashov
ac4c7d99fe
dport: Move DPORT workaround to G0
2022-05-31 13:44:18 +08:00
Jiang Jiang Jian
f3922f1b7f
Merge branch 'feature/flash_mmap_refactor' into 'master'
...
flash mmap: abstract R/W of MMU table instead of reg access
See merge request espressif/esp-idf!16882
2022-05-29 13:56:37 +08:00
Marius Vikhammer
9177e9fb37
Merge branch 'bugfix/cpu_cycle_count_not_iram' into 'master'
...
HAL: place cpu_ll_get_cycle_count in IRAM
Closes IDFGH-7431
See merge request espressif/esp-idf!18260
2022-05-27 10:40:50 +08:00
Marius Vikhammer
415ab25a49
HAL: place cpu_ll_get_cycle_count in IRAM
...
Closes https://github.com/espressif/esp-idf/issues/9008
2022-05-26 14:42:41 +08:00
songruojing
a5b09cf015
rtc_clk: Clean up some clock related enum and macro in soc/rtc.h, replace with new ones in
...
soc/clk_tree_defs.h
2022-05-24 22:59:41 +08:00