Commit Graph

156 Commits

Author SHA1 Message Date
Mahavir Jain
06def61fe8
clk_gate_ll: fix issue with DS peripheral clk reset
In ESP32-C6, every peripheral reset enable bit is in different register
(unlike some of the previous SoCs) and hence they must be handled with
multiple register write operations.

This allows AES, MPI peripherals to works correctly after DS peripheral
has done some operations.
2023-02-09 17:15:22 +05:30
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
Song Ruo Jing
b72d759290 uart: Add support for esp32h2 2023-02-06 00:48:04 +08:00
Wu Zheng Hui
33ae2e1073 Merge branch 'feature/bringup_esp32c6_light_sleep_pd_cpu' into 'master'
esp32c6: support light_sleep (Stage 1: support CPU power down)

See merge request espressif/esp-idf!21985
2023-02-01 14:11:15 +08:00
wuzhenghui
7a4d38eac1 example: bringup light sleep example for esp32c6 2023-01-31 22:12:58 +08:00
wuzhenghui
cd9d914ba0 codeclean: clean esp32c6 rtc_sleep related code 2023-01-31 22:12:58 +08:00
Li Shuai
c0ddaa5920 lp_timer: add hal-layer codes for esp32c6 2023-01-31 22:12:27 +08:00
Li Shuai
59cf87fe7d pmu: sleep initialization and sleep start support for esp32c6
Initialize the pmu sleep machine constant when pmu is initialized, and calculate
the pmu sleep time adjustment value and hardware configuration value according
to the machine constant during system sleep.

Calibrate fast OSC before each sleep and use the calibration value to calculate
PMU hardware wait cycles when use the fast OSC as the work clock.
2023-01-31 22:12:27 +08:00
Li Shuai
6c1f58f135 pmu: add hal layer codes for esp32c6 2023-01-31 22:12:27 +08:00
Li Shuai
34d0464662 pmu: pmu register address mapping structure redefinition 2023-01-31 22:12:22 +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
Mahavir Jain
e7ca2f2622 Merge branch 'feature/esp32c6_enable_hmac_and_ds_support' into 'master'
Feature/esp32c6 enable hmac and ds support

Closes IDF-5355 and IDF-5360

See merge request espressif/esp-idf!21761
2023-01-20 20:30:54 +08:00
Marius Vikhammer
e2d3f7c54c Merge branch 'feature/c6_wdt' into 'master'
wdt: add support for WDTs on C6

Closes IDF-5935 and IDF-5340

See merge request espressif/esp-idf!21038
2023-01-20 10:36:42 +08:00
Marius Vikhammer
5e9e8c396f wdt: add support for WDTs on C6 2023-01-19 12:58:26 +08:00
Aditya Patwardhan
4831edc624
esp32c6/hal: Added support for HMAC and DS on esp32c6
* Update DS test_apps for esp32c6 SoC
2023-01-19 09:53:34 +05:30
Kevin (Lao Kaiyao)
668e125dd4 Merge branch 'feature/support_i2s_on_h2' into 'master'
i2s: support i2s on esp32h2

Closes IDF-6219 and IDF-6700

See merge request espressif/esp-idf!21948
2023-01-19 10:47:33 +08:00
Wan Lei
e7c520e849 Merge branch 'feature/add_spi_ckl_source_selectable' into 'master'
spi_master: add feature spi periph clk source selectable

Closes IDF-6289

See merge request espressif/esp-idf!21324
2023-01-19 00:54:24 +08:00
laokaiyao
c79187fdeb i2s: support i2s on esp32h2 2023-01-18 18:42:56 +08:00
Armando (Dou Yiwen)
9f3fd2802f Merge branch 'feature/sdio_slave_c6' into 'master'
sdio: c6 support

Closes IDF-5809

See merge request espressif/esp-idf!21486
2023-01-18 16:42:32 +08:00
wanlei
184145817c spi_master: add feature spi periph clk source selectable 2023-01-18 15:40:12 +08:00
Song Ruo Jing
4c8fdc31f9 gpio: Add support for esp32h2 2023-01-18 11:41:12 +08:00
Armando
d39f0310de sdio: split sdio ll version init, and hs_enable 2023-01-18 02:34:46 +00:00
Armando
f1de9faa71 sdio: c6 support 2023-01-18 02:34:46 +00: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
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
1f3507eac0 Merge branch 'feature/gdma_support_h2' into 'master'
gdma: support esp32h2

Closes IDF-6222 and IDF-6238

See merge request espressif/esp-idf!21932
2023-01-11 14:04:14 +08:00
morris
6c1d98d556 systimer: assign counter and alarm in esp_hw_support 2023-01-10 17:05:49 +08:00
morris
3681dee80e gdma: support esp32h2 2023-01-10 16:37:02 +08:00
morris
cbde82c33f apm: added low level functions for tee controller 2023-01-10 16:37:01 +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
Wan Lei
747214616c Merge branch 'feature/add_api_spi_slave_trans_in_isr' into 'master'
spi_slave: add isr version api to add transaction in isr callback

Closes IDF-6199 and IDF-6049

See merge request espressif/esp-idf!20587
2023-01-05 12:46: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
Aditya Patwardhan
04a9366694 esp32c6-SHA/AES support: Added sha_ll.h and aes_ll.h files in hal layer 2023-01-04 12:07:26 +05:30
Song Ruo Jing
662df0da3b ledc: Channel configuration requires the ledc core clock on to be effective. Therefore, a clock source is selected for the core clock since the peripheral initialization. Additionally, correct the usage of channel para_up and duty_start bits. 2023-01-03 15:16:00 +08:00
Kevin (Lao Kaiyao)
42509fa0b3 Merge branch 'bugfix/i2s_pdm_dac_wrong_clock_freq' into 'master'
i2s_pdm: fix tx frequency limitation

Closes IDFGH-9010

See merge request espressif/esp-idf!21764
2022-12-30 10:16:03 +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
morris
672ac58ad5 io_mux: can set different clock source 2022-12-29 14:46:16 +08:00
Li Shuai
3ce896429c periph clock: implemented the modem module enable, disable and reset for esp32c6 2022-12-27 21:31:59 +08:00
Li Shuai
8c05d6fd9d modem clock(hal): implemented the modem clock hal-layer for esp32c6 2022-12-27 21:31:21 +08:00
Li Shuai
28dfaeaaef modem clock(ll): implemented the modem clock ll-layer (include modem syscon and lpcon) for esp32c6 2022-12-27 21:31:21 +08:00
Kevin (Lao Kaiyao)
4a86240b6e Merge branch 'feature/support_adc_on_c6' into 'master'
adc: support adc on c6

Closes IDF-5310, IDF-5311, IDF-5917, and IDF-6567

See merge request espressif/esp-idf!21431
2022-12-27 21:01:43 +08:00
morris
011315a146 Merge branch 'feature/rmt_clock_rc_fast_c6' into 'master'
rmt: support PLL clock on esp32c6

Closes IDF-6341

See merge request espressif/esp-idf!21602
2022-12-27 12:53:56 +08:00
morris
bc2a2d3cde gptimer: support RC_FAST clock source
GPTimer on C6 supports RC_FAST as the clock source. The benefit of this
clock is that, the clock can sustain in light sleep.

Added a new API to return the real resolution of the timer handle.
2022-12-26 13:18:25 +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
morris
32cd193ddf rmt: support pll clock source on esp32c6 2022-12-22 11:25:54 +08:00
laokaiyao
f44aa9bcc5 i2s: fixed rx update stuck bug 2022-12-20 14:49:35 +08:00
Song Ruo Jing
19ee95e509 gptimer: Fix esp32c6 gptimer clock source, no APB, instead, is PLL_F80M_CLK 2022-12-13 19:18:34 +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
Song Ruo Jing
182e937c5a clk_tree: Add basic clock support for esp32c6
- Support SOC ROOT clock source switch
    - Support CPU frequency change
    - Support RTC SLOW clock source switch
    - Support RTC SLOW clock + RC FAST calibration

    Remove FPGA build for esp32c6
2022-12-13 19:18:34 +08:00
morris
62f1cbca2c gpio: support glitch filter 2022-12-09 11:33:42 +08:00
Wan Lei
35a749a76e Merge branch 'test/re-enable_unit-test' into 'master'
test: re-enable some test cases of spi for esp32c2 and c6

Closes IDF-5146

See merge request espressif/esp-idf!21052
2022-12-08 17:54:04 +08:00
Song Ruo Jing
9402ab427b ledc: Add basic support for esp32c6 2022-12-07 18:40:50 +08:00
wanlei
7f14f9e487 spi_slave_hd: fix c6 bringup issue of dma interrupt invokr bit 2022-12-07 11:37:48 +08:00
laokaiyao
888ca08cb2 uart: support examples and tests on esp32c6 2022-11-24 16:07:24 +08:00
laokaiyao
7778ab6d5c uart: support update_reg and PCR clock for all uart devices 2022-11-24 16:07:23 +08:00
wuzhenghui
e90d76e5b7 bugfix: fix uart fifo lost data issue 2022-11-24 16:07:23 +08:00
morris
356c6bb528 gdma: support etm extension 2022-11-23 15:32:34 +08:00
morris
560ea9b754 systimer: support etm event 2022-11-23 15:32:34 +08:00
morris
00b6ec28b2 gptimer: support etm event and task 2022-11-23 15:31:33 +08:00
morris
494516d5f3 gpio: support etm extension 2022-11-23 15:31:33 +08:00
morris
fb26d0e11f etm: added etm channel allocator 2022-11-23 15:31: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
C.S.M
cc9fd34a4f Merge branch 'feature/bringup_tsens_esp32c6' into 'master'
temperature_sensor: Add support on ESP32-C6 (No calibration)

Closes IDF-5322

See merge request espressif/esp-idf!20698
2022-11-23 12:46:21 +08:00
Konstantin Kondrashov
618572c139 Merge branch 'feature/efuse_c6' into 'master'
efuse(esp32-c6): Update efuse_table and rs coding error func

Closes IDF-5919 and IDF-5341

See merge request espressif/esp-idf!21163
2022-11-22 21:50:42 +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
Cao Sen Miao
fb9d0d9f03 temperature_sensor: Add support on ESP32-C6 (No calibration) 2022-11-22 16:22:31 +08:00
KonstantinKondrashov
0eee228700 efuse(esp32-c6): Update efuse_table and rs coding error func 2022-11-22 16:09:10 +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
wanlei
3aeedc2ad3 spi: bringup c6 spi master & slave driver support 2022-11-18 15:54:14 +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
Cao Sen Miao
d9f01ed43c spi_flash: bringup for esp32c6 2022-11-09 12:50:46 +08:00
Mahavir Jain
bdefd7fb6b Merge branch 'esp32c6/add_ecc_support' into 'master'
esp32c6: Add support for ECC peripheral

Closes IDF-5820

See merge request espressif/esp-idf!20950
2022-11-08 17:06:53 +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
Sachin Parekh
69c8df5e49 esp32c6: Add support for ECC peripheral 2022-11-07 10:42:33 +05:30
morris
a25123f703 twai: bringup on esp32c6 2022-11-04 17:40:29 +08: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
wuzhenghui
fca7d70e05 esp32c6: add minimal ci support
- enable build_template_app
- enable check public headers
- enable g0 components dependency check
2022-09-26 20:32:13 +08:00
wuzhenghui
5115e31175 driver: Minor update for esp32c6
Leave TODO for esp_adc and legacy adc driver
HAL/SOC update for spi and i2s
2022-09-26 20:32:13 +08:00
morris
f6eba4ccfe gpio_sdm: bring up SDM driver on esp32c6 2022-09-17 16:15:56 +08:00
morris
b562754a2f rmt: support esp32c6 2022-09-17 04:56:49 +00:00
morris
e8a356ec91 Merge branch 'feature/esp32c6_fast_gpio_bringup' into 'master'
fast_gpio: bring up fast gpio driver on esp32c6

Closes IDF-5331

See merge request espressif/esp-idf!20159
2022-09-16 14:17:40 +08:00
laokaiyao
bae4944b90 i2s: bringup i2s on esp32c6 2022-09-15 20:03:39 +08:00