Simon Arlott
d78d1a2376
hal/uart_ll.h: Fix compile issue with C++
...
Merges https://github.com/espressif/esp-idf/pull/10640
2023-02-08 06:24:24 +00:00
Armando
d6844051fc
esp_mm: new virtual memory mapping apis via mmu
2023-02-07 20:23:52 +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
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
3908f4c84d
i2s_test: fix output half sample rate failure
2023-01-17 11:37:22 +08:00
laokaiyao
c25fc7d242
i2s: fix incorrect sclk in legacy driver
2023-01-17 11:34:25 +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
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
943dcd2cd1
i2s_pdm: fix tx frequency limitation
...
Closes: https://github.com/espressif/esp-idf/issues/10420
2022-12-29 16:31:03 +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
laokaiyao
f44aa9bcc5
i2s: fixed rx update stuck bug
2022-12-20 14:49:35 +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
Sachin Parekh
97709b899f
esp32s3/memprot: Fix DRAM fault address calculation
2022-11-30 13:46:53 +00:00
Sachin Parekh
90d40b96e2
esp32s3/memprot: Fix SRAM region high addresses
2022-11-30 13:46:53 +00:00
Sachin Parekh
2a01e66b25
esp32s3/memprot: Set permission for Icache region
2022-11-30 13:46:53 +00:00
KonstantinKondrashov
741e89cbaa
esp_hw_support: Removes efuse dependency
2022-11-25 19:27:33 +08:00
Aditya Patwardhan
1c233cc508
hmac_hal: Merge hmac hal layer for different into one
2022-11-24 16:04:26 +05:30
Aditya Patwardhan
2c1416d92c
hal/esp32s3: Rename static API hmac_ll_query_config_error to
...
hmac_ll_config_error in order to make it standardized across targets
2022-11-24 16:03:30 +05:30
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
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
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
morris
f997b81242
mcpwm: support esp32c6
2022-10-20 11:55:03 +08:00
Song Ruo Jing
6d24e8bcf4
gpio: Add support for esp32c6
2022-10-18 12:38:36 +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
Song Ruo Jing
de0401047c
rtcio: Disable USB Serial JTAG pad when setting pins 19 and 20 as RTC function on ESP32S3
...
Similar to the fix in gpio lower layers, USB Serial JTAG pad should be disabled when the DM and DP pins want to be used as rtcio pins.
2022-09-13 12:13:51 +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
morris
7b2c491064
Merge branch 'feature/add_esp32c6_g0_components' into 'master'
...
ESP32C6: Add G0 components support (hal, soc, riscv, esp_common)
See merge request espressif/esp-idf!19826
2022-09-01 16:11:40 +08:00
Cao Sen Miao
31b88a4c88
I2C: Refactor i2c hal and ll
2022-09-01 15:53:59 +08:00
morris
e2634b5223
Merge branch 'feature/rgb_lcd_yuv_converter' into 'master'
...
RGB-YUV converter
Closes IDF-4598
See merge request espressif/esp-idf!19094
2022-09-01 13:41:14 +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
Song Ruo Jing
72a15e3c7a
Merge branch 'bugfix/gpio_usb_pin_pupd' into 'master'
...
gpio: fix USB D+ pin cannot disable pullup
Closes IDFGH-7984
See merge request espressif/esp-idf!19191
2022-08-22 17:18:05 +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
songruojing
01143bd732
gpio: fix USB D+ pin cannot disable pullup
...
Internally, disable usb serial jtag DP pin's pullup when calling gpio_ll_pullup_dis and rtcio_ll_pullup_disable
At usb serial jtag setup/install, re-enable DP pin's pullup
Closes https://github.com/espressif/esp-idf/issues/9495
2022-08-19 15:05:28 +08:00
morris
fc1aa2848b
rgb_lcd: support yuv converter
2022-08-17 06:33:06 +00: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
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
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
laokaiyao
90866e99fb
i2s: add basic examples for STD/TDM/PDM mode
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
Cao Sen Miao
683d92bc88
flash_encryption: Fix issue that flash encryption cannot work when 8-line psram enabled,
...
Closes https://github.com/espressif/esp-idf/issues/9244 ,
Closes https://github.com/espressif/esp-idf/issues/9287
2022-07-12 16:08:57 +08:00
Song Ruo Jing
ea97cc93ea
Merge branch 'feature/c2_systimer_26mhz' into 'master'
...
esp32c2: 26 MHz XTAL support: Kconfig option, systimer support
Closes IDF-5412 and IDF-5413
See merge request espressif/esp-idf!18835
2022-07-11 16:17:25 +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
Jiang Jiang Jian
a7bf3af687
Merge branch 'bugfix/reset_ble_hw_on_inititalization' into 'master'
...
component/bt: reset Bluetooth hardware during controller inititalization on ESP32-C3/ESP32-S3
Closes BT-2402
See merge request espressif/esp-idf!18831
2022-07-08 16:21:41 +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
wangmengyang
1d55f12c2d
component/bt: reset Bluetooth hardware during controller inititalization on ESP32-C3/ESP32-S3
...
1. Rename MACROs SYSTEM_WIFI_RST_EN register bit fields to be more recognizable
2. reset Bluetooth baseband and clock bits to fix the issue of task watchdog triggered during controller initialization due to invalid hardware state
2022-07-06 16:23:48 +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
31b3f31ef4
ext_mem: make memory region check strict
2022-06-28 14:17:44 +08:00
Cao Sen Miao
2c0651a671
Add regi2c enable/disable reference count
2022-06-23 15:36:44 +08:00