Omar Chebib
53c7dd4efc
WDT: implement interrupt wdt and task wdt for ESP32-C2
...
ESP32-C2 has a single group timer, thus it will use it for the interrupt watchdog,
which is more critical than the task watchdog. The latter is implement in
software thanks to the `esp_timer`component.
2022-09-15 14:37:59 +08:00
wanlei
96aa2792f8
spi_master:fix error when use spi_bus_add_device
more than 3 device
...
update gpio_sig at `spics_out` array in each spi_periph.c of chips later than s2
then `spi_bus_add_device` can correctly distribute gpio_signals for cs_signal
Closes https://github.com/espressif/esp-idf/issues/8876
2022-09-05 12:10:22 +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
songruojing
9d515185d0
esp32c6: clean up existing soc files and header file inclusion in IDF to be compatible with the new chip
2022-09-01 12:28:06 +08:00
Song Ruo Jing
6a60ecf780
soc_caps: Introduce SOC_LEDC_SUPPORTED and SOC_I2C_SUPPORTED caps to IDF
...
Wrap the ledc, i2c source files with the new caps in CMakeLists and linker.lf.
This could avoid potential source file not found warning during linking time.
2022-08-31 20:43:22 +08:00
Michael (XIAO Xufeng)
746f4b814c
uart: move frequency of clock sources out of HAL
2022-08-15 18:55:43 +00:00
Michael (XIAO Xufeng)
f11de46bfc
Merge branch 'bugfix/fix_c2_rtc_ldo_too_low_bug' into 'master'
...
ESP32C2: Fix system not stable bug when rtc voltage too low
Closes IDF-5539
See merge request espressif/esp-idf!19217
2022-08-15 17:34:36 +08:00
chaijie@espressif.com
b250589f2f
set fosc div to 1 to make chip run stablly for C2
2022-08-11 14:28:11 +08:00
Geng Yuchao
0a1d8c1e09
Fix soc caps define for all chips
2022-08-08 20:50:28 +08:00
Jing Li
c25c254666
Merge branch 'feature/further_support_esp32c2_sleep' into 'master'
...
esp32c2/sleep: further support sleep for esp32c2 with 26MHz XTAL
Closes IDF-5544
See merge request espressif/esp-idf!19017
2022-08-08 13:26:15 +08:00
jingli
ee3423834e
kconfig: refactor xtal freq kconfig to common configuration item
2022-08-05 19:12:29 +08: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
Wan Lei
1265a2db9d
Merge branch 'refactor/add_missing_include_path_for_soc_struct_files' into 'master'
...
Fix check_public_headers violations for soc component
Closes IDF-5397
See merge request espressif/esp-idf!19158
2022-08-01 10:14:04 +08:00
wuzhenghui
7cb9304b65
Clean IRAM and DRAM address space conversion macros
2022-07-29 17:07:39 +08:00
wanlei
bb5a95f1aa
soc: fix register header files not self-contain
2022-07-29 11:18:06 +08:00
wuzhenghui
31183270fb
bugfix: fix SOC_ROM_STACK_START defines
2022-07-29 10:51:47 +08:00
wuzhenghui
21a4eda4d4
Use the entire sharedbuffer space as the heap of the D/IRAM attribute
2022-07-29 10:51:47 +08:00
morris
d94432fea8
systimer: refactor hal to accomodate more xtal choices
2022-07-25 16:08:52 +08:00
morris
c4e84751a5
driver: fix public header exceptions for driver
2022-07-22 00:12:36 +00:00
morris
741b031e83
soc: added SOC_TOUCH_SENSE_SUPPORTED macro
2022-07-22 00:12:36 +00: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
b3d8db3ae2
bootloader, esp_system: esp32c2 console uart to support 26MHz xtal
...
Gets the XTAL frequency from the RTC storage register, remove UART_CLK_FREQ_ROM macro from soc.h
2022-07-11 12:24:58 +08:00
songruojing
ef813b23fa
rtc: esp32c2 support 26MHz xtal in startup code and rtc_clk.c
2022-07-11 12:24:58 +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
cje
e16165f263
support c2 26M/32M xtal for bbpll
2022-07-05 17:45:03 +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
3a820462ac
temperature_sensor: Add temperature sensor support for ESP32-C2
2022-06-23 15:36:43 +08:00
Marius Vikhammer
7e60e07a0a
Merge branch 'feature/esp8684_sha' into 'master'
...
mbedtls: enable hw support for SHA on C2
Closes IDF-3830 and IDF-5141
See merge request espressif/esp-idf!18531
2022-06-23 14:18:49 +08:00
Marius Vikhammer
f4c79687f8
SHA: added hardware support for SHA on C2.
2022-06-23 11:01:16 +08:00
muhaidong
96f86e0bb4
esp_wifi: esp32c2 does not support wifi mesh
2022-06-21 16:48:52 +08:00
muhaidong
b48b9beace
esp_wifi: esp32c2 does not support csi.
2022-06-20 21:47:51 +08:00
muhaidong
9a25d06b5f
esp_wifi: esp32s2 esp32c3 and esp32s3 support ftm
2022-06-20 21:47:51 +08:00
morris
865937fba3
Merge branch 'bugfix/fix_esp32c2_dose_not_support_wapi' into 'master'
...
esp_wifi: esp32c2 does not support wapi
Closes IDF-4216
See merge request espressif/esp-idf!18573
2022-06-20 21:31:54 +08:00
muhaidong
2ccce0ca41
esp_wifi: update comments of WI-FI CAPS in soc_caps.h
2022-06-20 19:43:16 +08:00
muhaidong
6ca2804107
esp_wifi: esp32c2 does not support wapi.
2022-06-20 11:42:12 +08:00
Ivan Grokhotkov
3973db7664
soc: make register access macros compatible with C++20
...
In C++20, using the result of an assignment to a 'volatile' value is
deprecated.
Breaking change: register "setter" or modification macros can no
longer be used as expressions.
Closes https://github.com/espressif/esp-idf/issues/9170
2022-06-17 18:09:22 +02:00
Omar Chebib
752026a174
Merge branch 'refactor/remove_g0_dep_on_g1_riscv' into 'master'
...
G0: RISC-V targets have now an independent G0 layer
See merge request espressif/esp-idf!17926
2022-06-16 11:53:39 +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
Omar Chebib
5bcd9b2db8
G0: RISC-V targets have now an independent G0 layer
...
G0 doesn't depend on any G1+ layer for RISC-V based targets
2022-06-14 15:00:53 +08:00
Darian Leung
61eb7baa6b
esp_hw_support: Add esp_cpu.h abstraction and API
...
This commit updates the esp_cpu.h API. The new API presents a new
abstraction of the CPU where CPU presents the following interfaces:
- CPU Control (to stall/unstall/reset the CPU)
- CPU Registers (to read registers commonly used in SW such as SP, PC)
- CPU Interrupts (to inquire/allocate/control the CPUs 32 interrupts)
- Memory Port (to configure the CPU's memory bus for memory protection)
- Debugging (to configure/control the CPU's debugging port)
Note: Also added FORCE_INLINE_ATTR to the DoxyFile in order to pass doc
builds for esp_cpu.h
2022-06-14 14:30:58 +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
Cao Sen Miao
6589daabb9
MMU: Add configurable mmu page size support on ESP32C2
2022-06-08 19:34:31 +08:00
Mahavir Jain
2acab7c783
Merge branch 'feature/c2_rng_support' into 'master'
...
esp32c2: Add support for RNG
Closes IDF-4021
See merge request espressif/esp-idf!18149
2022-06-06 12:38:28 +08:00
Geng Yuchao
8012af37d1
Fix soc caps for BT
2022-06-03 21:45:40 +08:00
Sachin Parekh
8ad3f2ba57
esp32c2: Add support for RNG
2022-06-02 11:36:23 +08:00
Konstantin Kondrashov
b824f68b35
Merge branch 'feature/move_dport_workaround_to_g0' into 'master'
...
dport_access: Move DPORT workaround to G0
Closes IDF-2177
See merge request espressif/esp-idf!17961
2022-06-01 12:11:12 +08:00
KonstantinKondrashov
0b22839925
hal(ecp32c2): Adds spi_flash_encrypted_ll
2022-05-31 11:12:21 +00:00
KonstantinKondrashov
505e18237a
bootloader: Support Flash Encryption for ESP32-C2
2022-05-31 11:12:21 +00:00
KonstantinKondrashov
ac4c7d99fe
dport: Move DPORT workaround to G0
2022-05-31 13:44:18 +08:00
Jiang Jiang Jian
2bc5d58807
Merge branch 'feature/support_sleep_for_esp32c2' into 'master'
...
esp32c2: support power management
Closes IDF-4440 and IDF-4617
See merge request espressif/esp-idf!18174
2022-05-30 17:57:18 +08:00
jingli
93a5087e58
add PM related soc caps about power down rtc slow/fast mem
...
Supporting rtc slow/fast mem does not mean supporting
rtc slow/fast mem power down.
2022-05-30 15:26:50 +08:00
Jiang Jiang Jian
0e94779b2e
Merge branch 'feature/support_esp32c2_wifi_new' into 'master'
...
Bringup ESP32C2 Wi-Fi
Closes IDF-3905
See merge request espressif/esp-idf!18136
2022-05-29 18:25:24 +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
Jessy Chen
7b9b448041
esp_wifi: optimize wifi kconfig
2022-05-28 08:52:55 +00:00
Jessy Chen
0ae391ef07
esp_wifi: enable FTM for esp32c2 & fix pre-commit check
2022-05-28 08:52:55 +00:00
zhangyanjiao
e979e9701f
esp_wifi: bringup esp32c2 wifi
2022-05-28 08:52:55 +00:00
jingli
ae127b04cd
fix ld err since esp32c2 do not suport config gpio of spi flash via efuse
2022-05-27 19:29:38 +08:00
jingli
9eec740a16
enable external 32k osc for esp32c2
2022-05-27 19:29:29 +08:00
Song Ruo Jing
cf32e49aeb
Merge branch 'refactor/cleanup_rtc_h' into 'master'
...
clk_tree: Prework2 of introducing clock subsystem control
Closes IDF-4934
See merge request espressif/esp-idf!17861
2022-05-26 09:16:47 +08:00
Sachin Parekh
9a763f4ff2
esp32c2: Enable IRAM/DRAM split using PMP
2022-05-24 21:36:06 +05:30
songruojing
74c99a8a07
rtc_clk: Add alias for the clock tree related enum and macros for backwards compatibility
2022-05-24 22:59:51 +08:00
songruojing
729d70129a
clk_tree: add initial docs for clock tree
2022-05-24 22:59:51 +08:00
morris
b26cd91537
doc: added clk_tree definitions to doc
2022-05-24 22:59:51 +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
jiangguangming
42bc0b0643
soc: remove unused MMU related macros
2022-05-20 16:46:28 +08:00
Michael (XIAO Xufeng)
234628b3ea
pm: putting dbias and pd_cur code into same function
2022-05-14 02:35:11 +08:00
Jing Li
ac0d16cdc8
Merge branch 'bugfix/fix_cannot_lslp_again_after_ulp_wakeup' into 'master'
...
sleep: fix cannot lightsleep again after a wakeup from ULP
Closes IDFGH-4396
See merge request espressif/esp-idf!17970
2022-05-13 22:25:23 +08:00
jingli
abb6bb1181
esp_hw_support/sleep: fix cannot enable sleep reject in some cases
...
When enable sleep reject before this fix, we have two limitations:
1. it must be light sleep
2. RTC GPIO wakeup source must be set
We require light sleep because `esp_deep_sleep_start` function has
been declared with "noreturn" attribute, So developers don't expect
that this function may return (due to an error or a sleep reject).
But the requirement for RTC GPIO wakeup source is not reasonable for
all chips. This requirement exists because ESP32 only supports RTC GPIO
and SDIO sleep reject sources. But later chips support all sleep reject
sources.
This fix brings the following changes:
for ESP32: RTC GPIO and SDIO sleep reject sources can be enabled
when corresponding wakeup source is set.
for later chips: all sleep reject sources can be enabled when
corresponding wakeup source is set.
2022-05-12 19:09:57 +08:00
Marius Vikhammer
c8617fe965
docs: fix all doxygen warnings
...
Doxygen warnings would previously not result in a failed pipeline.
Fixed this as well as all current warnings.
2022-05-12 14:50:03 +08:00
Michael (XIAO Xufeng)
36074b9812
pm: add powerdown for int_8m on ESP32-C2 and ESP32-H2
...
Also move the xtal fpu logic to sleep_modes.c
2022-05-11 11:36:34 +08:00
morris
523c51818c
Merge branch 'feature/c2_soc_hwsupport_code' into 'master'
...
ESP32-C2 (729) RTC update (Clock, PM)
Closes IDF-3833 and IDF-4874
See merge request espressif/esp-idf!17311
2022-05-11 11:23:57 +08:00
zlq
6336f8191e
C2 rtc code
2022-05-09 17:50:54 +08:00
morris
722fde218d
uart: add default source clock for all targets
2022-05-09 11:26:30 +08:00
Armando
49747bb486
adc: create common adc hal layer
2022-05-07 19:20:44 +08:00
morris
3f66660444
Merge branch 'feature/bringup_esp32c2eco1' into 'master'
...
esp32c2:ECO1 ROM update
Closes IDF-4933
See merge request espressif/esp-idf!17723
2022-05-06 18:06:26 +08:00
Simon
0b00831703
Merge branch 'bugfix/i2c_timeout_issue' into 'master'
...
I2C: Patch for solving watchdog timeout issue
Closes IDFGH-6923, IDFGH-6463, and IDFGH-5558
See merge request espressif/esp-idf!17956
2022-05-06 10:38:38 +08:00
Armando (Dou Yiwen)
76be0c2624
Merge branch 'bugfix/fix_esp32_mmu_init_issue' into 'master'
...
mmu: add ll functions for mmu unmap
Closes OCD-526 and IDF-4962
See merge request espressif/esp-idf!17868
2022-05-05 22:21:18 +08:00
wuzhenghui
17b3d139d5
hal: use systimer HAL IMPL in ESP32C2 ROM
2022-05-05 17:41:11 +08:00
wuzhenghui
b530632f33
esp32c2: fix soc_caps defines
2022-05-05 17:41:11 +08:00
Cao Sen Miao
9a9f10e4c9
I2C: patch for solving watchdog timeout issue
2022-05-05 14:36:49 +08:00
Armando
b748a4fe5e
mmu: improve vaddr range check
2022-04-27 11:35:07 +08:00
Armando
e09787d851
mmu: fix macro MMU_ENTRY_NUM and add new macro MMU_MAX_PADDR_PAGE_NUM
2022-04-27 11:35:07 +08:00
Cao Sen Miao
4418a855ba
spi_flash: refactor the spi_flash clock configuration, and add support for esp32c2
2022-04-26 15:22:37 +08:00
morris
373d9b3dbc
Merge branch 'feature/default_clk_for_gptimer' into 'master'
...
clk_tree: added default clock source for peripherals (GPTimer, RMT, LCD, TempSensor)
Closes IDF-4894
See merge request espressif/esp-idf!17759
2022-04-19 18:02:40 +08:00
songruojing
534346f4bb
ledc: Provide support for esp32c2 and esp32h2
...
LEDC examples, unit test, and programming guide are all updated.
2022-04-14 08:15:14 +00:00
morris
f32a89826c
clk_tree: added default clock source for peripheral
2022-04-14 15:44:56 +08:00
songruo
60bb5c913d
clk_tree: prework of introducing clk subsystem control
...
1. Clean up clk usage in IDF, replace rtc_clk_xtal/apb_freq_get with
upper level API esp_clk_xtal/apb_freq
2. Fix small errors and wrong comments related to clock
3. Add clk_tree_defs.h to provide an unified clock id for each chip
Modify the NGed drivers to adopt new clock ids
2022-04-11 12:09:06 +08:00
Mahavir Jain
74005ed2f5
soc: add capability macros for security features
...
- Security features covers "secure boot", "flash encryption" etc.
- ECO revision specific modifications still need to be handled
through kconfig itself, as soc_caps.h is processed before ECO revision
selection
- This will simplify addition of security features for newer chips by
using these SOC capability macros
2022-04-01 09:38:34 +00:00
Mahavir Jain
3af2d15216
mbedtls: Fix build failures for ESP32-C2 with hardware SHA
...
Clean support for SHA peripheral will appear with IDF-3830
2022-03-22 02:06:30 +00:00
Mahavir Jain
75eb97fc94
esp32c2: remove AES related configs, hardware AES not supported on this chip
2022-03-22 02:06:30 +00:00
Mahavir Jain
bcc4883c25
soc: add capability macros for crypto peripherals
...
Closes IDF-4790
2022-03-22 02:06:30 +00:00
Armando
386363cafd
adc: unify adc_ll_num_t and adc_unit_t
2022-03-18 11:36:50 +08:00