jiangguangming
42bc0b0643
soc: remove unused MMU related macros
2022-05-20 16:46:28 +08:00
jiangguangming
9c6afee12f
flash mmap: abstract R/W MMU table instead of reg access
2022-05-20 16:46:27 +08:00
Michael (XIAO Xufeng)
0adb814af3
Merge branch 'bugfix/fix_memory_miss_bug_esp32c3_esp32s3' into 'master'
...
ESP32C3/ESP32S3: Fix cpu crash bug when wakeup from lightsleep for memory data miss
Closes IDF-162 and IDF-4923
See merge request espressif/esp-idf!17823
2022-05-18 12:05:08 +08:00
Michael (XIAO Xufeng)
adcdcbaa0e
Merge branch 'feat/pm_dbias_refactoring' into 'master'
...
pm: refactoring dbias related code
See merge request espressif/esp-idf!17994
2022-05-17 14:42:16 +08:00
chaijie
cc0a5a4edb
solve memory error bug when in lightsleep mode
2022-05-16 11:43:00 +08:00
Michael (XIAO Xufeng)
6f507d527c
rtc: fixed 8MD256 can't be used as RTC slow src on ESP32
...
Sync configuration from other chips
Closes: https://github.com/espressif/esp-idf/issues/8007 , https://github.com/espressif/esp-idf/pull/8089
2022-05-14 22:35:41 +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
Michael (XIAO Xufeng)
2905cbbe03
pm: fixed RTC8M domain power issues
...
introduced in e44ead5356
1. The int8M power domain config by default is PD. While LEDC is using
RTC8M as clock source, this power domain will be kept on.
But when 8MD256 is used as RTC clock source, the power domain should
also be kept on.
On ESP32, there was protection for it, but broken by commit
e44ead5356
. Currently the power domain
will be forced on when LEDC is using RTC8M as clock source &&
!int8m_pd_en (user enable ESP_PDP_DOMAIN_RTC8M in lightsleep). Otherwise
the power domain will be powered off, regardless of RTC clock source.
In other words, int8M domain will be forced off (even when 8MD256
used as RTC clock source) if LEDC not using RTC8M as clock source, user
doesn't enable ESP_PDP_DOMAIN_RTC8M, or in deep sleep.
On later chips, there's no such protection, so 8MD256 could't be used as
RTC clock source in sleep modes.
This commit adds protection of 8MD256 clock to other chips. Fixes the
incorrect protection logic overriding on ESP32. Now the power domain
will be determiend by the logic below (order by priority):
1. When RTC clock source uses 8MD256, power up
2. When LEDC uses RTC8M clock source, power up
3. In deepsleep, power down
4. Otherwise determined by user config of ESP_PDP_DOMAIN_RTC8M,
power down by default. (This is preferred to have highest
priority, but it's kept as is because of current code structure.)
2. Before, after the macro `RTC_SLEEP_CONFIG_DEFAULT` decides dbias, the
protection above may force the int8m PU. This may cause the inconsistent
of dbias and the int8m PU status.
This commit lifts the logic of pd int8m/xtal fpu logic to upper layer
(sleep_modes.c).
Related: https://github.com/espressif/esp-idf/issues/8007 , https://github.com/espressif/esp-idf/pull/8089
temp
2022-05-11 11:30:47 +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
morris
df5872b3a4
Merge branch 'feature/support_i2c_on_esp32h2' into 'master'
...
i2c: support i2c on esp32h2
Closes IDF-4155
See merge request espressif/esp-idf!17798
2022-05-10 22:48:05 +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 (Dou Yiwen)
03aeac1dde
Merge branch 'refactor/adc_hal_common_layer' into 'master'
...
adc: create common adc hal layer
See merge request espressif/esp-idf!17577
2022-05-08 15:45:56 +08:00
Armando
49747bb486
adc: create common adc hal layer
2022-05-07 19:20:44 +08:00
morris
2fb43820c2
driver_ng: implement new rmt driver
...
The legacy driver can't handle the breaking change between esp chips
very well.
And it's not elegant to extend new feature like DMA, ETM.
The new driver can return a opaque handle for each RMT channel.
An obvious transaction concept was also introduced.
TX and RX functionalities are splited out.
2022-05-07 10:34:50 +00: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
morris
9ab4abfb46
hw_support: move rtc_ctrl from driver to hw_support
2022-04-29 14:28:09 +08:00
Michael (XIAO Xufeng)
6bc8dd0f92
Merge branch 'feature/support_esp32s3_bbpll_fix' into 'master'
...
rtc: update esp32s3 bbpll config
Closes IDF-4872
See merge request espressif/esp-idf!14471
2022-04-27 22:52:21 +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
Armando
2764cd5682
mmu: simplify mmu_hal_init
2022-04-27 11:35:07 +08:00
jiangguangming
63ac5e4a99
mmu: add ll func used to invalidate the mmu entry
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
sly
117c30e835
fix S3 bbpll calibrate fail bug in high temperature
2022-04-25 16:41:04 +08:00
Marius Vikhammer
45c1d1cba2
Merge branch 'feature/move_target_kconfig_2' into 'master'
...
system: move kconfig options out of target component
See merge request espressif/esp-idf!17321
2022-04-24 13:29:43 +08:00
laokaiyao
5b3468ebb3
i2c: support i2c on esp32h2
2022-04-23 07:38:25 +00:00
morris
4280164be4
rmt: add more clock source caps
2022-04-21 13:59:47 +00:00
Marius Vikhammer
d2872095f9
soc: moved kconfig options out of the target component.
...
Moved the following kconfig options out of the target component:
* CONFIG_ESP*_DEFAULT_CPU_FREQ* -> esp_system
* ESP*_REV_MIN -> esp_hw_support
* ESP*_TIME_SYSCALL -> newlib
* ESP*_RTC_* -> esp_hw_support
Where applicable these target specific konfig names were merged into
a single common config, e.g;
CONFIG_ESP*_DEFAULT_CPU_FREQ -> CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ
2022-04-21 12:09:43 +08:00
Armando (Dou Yiwen)
5bb59b00e7
Merge branch 'feature/support_bss_on_psram' into 'master'
...
psram: support .bss on psram on esp32s3
Closes IDF-4814, IDF-4396, IDFGH-7148, and IDFGH-7153
See merge request espressif/esp-idf!17557
2022-04-20 11:16:28 +08:00
Armando
f8249550f8
psram: support .bss on psram on esp32s3
2022-04-19 19:48:00 +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
Armando
c4bcf1117c
esp_hw_support: move soc_memory_types.h helper functions into esp_hw_support
2022-04-08 11:46:10 +08:00
Mahavir Jain
4350e6fef8
Merge branch 'feature/security_soc_capabilities' into 'master'
...
soc: add security features related capabilities
Closes IDF-4854
See merge request espressif/esp-idf!17632
2022-04-01 21:55:59 +08:00
Song Ruo Jing
e13bb580c7
Merge branch 'refactor/gpio_unit_test' into 'master'
...
gpio: Clean up unit tests and enable ci ut on some previously disabled test cases
Closes IDF-4620
See merge request espressif/esp-idf!17417
2022-04-01 18:38:19 +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
Marius Vikhammer
36b83fcb98
Merge branch 'docs/cpp_function_ref_fixes' into 'master'
...
docs: fix broken references to misc API functions and types.
Closes IDF-3184 and DOC-2806
See merge request espressif/esp-idf!17569
2022-03-31 16:22:23 +08:00
Wu Zheng Hui
506768c9fa
Merge branch 'feature/esp32h2beta2_chip_env' into 'master'
...
Support esp32h2beta2 chip
See merge request espressif/esp-idf!17503
2022-03-31 09:51:12 +08:00
songruojing
8d84033b8c
gpio: Clean up unit tests and enable ci ut on some previously disabled test cases
...
Eliminate UT_T1_GPIO runner requirement by routing internally through gpio matrix and by setting gpio pins to GPIO_MODE_INPUT_OUTPUT mode for all interrupt related test cases.
2022-03-30 15:11:08 +08:00
laokaiyao
f29d329e55
esp32h2beta2: fixed reg base name
2022-03-29 15:17:23 +08:00
wuzhenghui
4652f77a7c
esp32h2beta2:update rom layout table
2022-03-29 14:13:06 +08:00
wuzhenghui
ce9cb3a7a4
esp32h2beta2:update rom ld (ESP-ROM:esp32h2beta2-20211201)
2022-03-29 14:12:58 +08:00
Armando
fe9c6cde4f
spi: support spi on h2
2022-03-29 11:54:08 +08:00
Marius Vikhammer
a6543f0d21
docs: fix broken references to misc API functions and types.
2022-03-27 16:46:57 +08:00
Kevin (Lao Kaiyao)
5381096100
Merge branch 'feature/update_esp32h2_beta2_reg_headers' into 'master'
...
esp32-h2 beta2: update to the latest regs
Closes IDF-4789
See merge request espressif/esp-idf!17520
2022-03-23 16:18:43 +08:00
Kevin (Lao Kaiyao)
ba9d3fe819
Merge branch 'refactor/i2s_major_refactoring_for_ng' into 'master'
...
🔨 i2s: Major refactoring for driver-NG
Closes IDF-4781 and IDF-4779
See merge request espressif/esp-idf!17484
2022-03-23 15:32:46 +08:00
laokaiyao
f17edba20b
i2s: extract std/pdm/tdm modes
...
Type structures of these modes are defined. Driver and HAL layer are modified to fit these concepts.
2022-03-22 10:14:45 +08:00
laokaiyao
667c7f94e6
esp32-h2 beta2: update to the latest regs
2022-03-22 02:13:55 +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 (Dou Yiwen)
36457b1346
Merge branch 'refactor/adc_unify_adc_unit' into 'master'
...
adc: adc single driver NG pre-step - unify adc_ll_num_t and adc_unit_t
See merge request espressif/esp-idf!17408
2022-03-18 20:29:36 +08:00
Armando
386363cafd
adc: unify adc_ll_num_t and adc_unit_t
2022-03-18 11:36:50 +08:00
Michael (XIAO Xufeng)
5cc751ca9c
soc/esp32s3: merge gpio caps into soc_caps.h
2022-03-15 22:34:29 +08:00
Jiang Jiang Jian
10f3aba770
Merge branch 'feature/final_h2' into 'master'
...
Add support in Nimble for ESP32H2
See merge request espressif/esp-idf!16329
2022-03-15 16:03:24 +08:00
Rahul Tank
f376bb5d05
Add support in Nimble for ESP32H2
2022-03-14 11:57:53 +05:30
morris
9422fe077a
lcd: support I2S1 LCD mode on esp32
2022-03-14 13:55:01 +08:00
Michael (XIAO Xufeng)
aab535fe4a
Merge branch 'bugfix/regi2c_ctrl_spinlock_s2' into 'master'
...
hw_support: fixed regi2c not protected by lock on ESP32S2
See merge request espressif/esp-idf!16653
2022-03-13 02:47:53 +08:00
Michael (XIAO Xufeng)
d5bdf95580
hw_support: fixed regi2c not protected by lock on ESP32S2
2022-03-13 00:24:08 +08:00
Armando (Dou Yiwen)
6ed3ffbbf1
Merge branch 'refactor/remove_redundant_rom_cache_dependency' into 'master'
...
cache: remove redundant rom cache dependency in bootloader
Closes IDF-4523
See merge request espressif/esp-idf!17077
2022-03-12 10:11:39 +08:00
Armando
c1cbd7bbf6
cache/mmu: implememnt cache and mmu hal APIs in bootloader
2022-03-11 22:43:11 +08:00
Dai Zi Yan
1462367eeb
Merge branch 'docs/translate_coexist' into 'master'
...
docs/ translate coexist
Closes DOC-2479
See merge request espressif/esp-idf!16830
2022-03-10 10:59:18 +08:00
morris
9f55712c03
rmt: document and improve LL driver
2022-03-09 10:58:12 +08:00
xiongweichao
6514f9e94c
docs: translate coexist from CN to EN
2022-03-09 02:50:00 +00:00
Sachin Parekh
bc1d35a14e
esp32c2/hal: Added ECC HAL layer
2022-03-08 14:05:23 +00:00
Simon
4bf4a020a6
Merge branch 'refactor/abstract_temperature_sensor' into 'master'
...
temperature_sensor: Refactor temperature sensor to new APIs (follow rule of driverNG) and support esp32s3
Closes IDF-3665, IDF-3367, and IDF-1793
See merge request espressif/esp-idf!16787
2022-03-07 20:17:39 +08:00
Konstantin Kondrashov
e17b0df8ec
Merge branch 'feature/adds_efuses_to_table' into 'master'
...
efuse: Adds ERR_RST_ENABLE efuse for C3 and S3
See merge request espressif/esp-idf!17294
2022-03-07 13:05:55 +08:00
morris
a0283234cd
Merge branch 'feature/support_esp32h2_gpio' into 'master'
...
esp32h2: support GPIO peripheral, IO_MUX, GPIO matrix
Closes IDF-4232 and IDF-3439
See merge request espressif/esp-idf!16609
2022-03-04 18:22:28 +08:00
Cao Sen Miao
b248046bcb
Temperature_sensor: Create new temperature sensor API
2022-03-04 18:13:35 +08:00
Cao Sen Miao
214e206111
Temperature_sensor: Add temperature support for ESP32-S3
2022-03-04 18:13:27 +08:00
songruojing
c8c137f2b7
esp32h2: support GPIO peripheral, IO_MUX, GPIO matrix.
...
Generic GPIO example is supported as well.
2022-03-04 11:25:05 +08:00
morris
ec8defaa96
pulse_cnt: new driver for PCNT peripheral
2022-03-03 22:38:32 +08:00
KonstantinKondrashov
6d11c57b2a
efuse: Adds ERR_RST_ENABLE efuse for C3 and S3
...
Closes https://github.com/espressif/esp-idf/issues/8357
2022-03-02 18:48:42 +08:00
songruojing
24a60c12c6
uart: Provide support for esp32c2 and esp32h2
...
UART examples, unit test, and programming guide are all updated.
2022-03-02 11:29:13 +08:00
Michael (XIAO Xufeng)
78165c541e
Merge branch 'bugfix/bootloader_uart_custom_gpio' into 'master'
...
bootloader: fixed the issue custom_uart_gpio doesn't take effect
Closes IDF-4606
See merge request espressif/esp-idf!16910
2022-03-02 02:35:14 +08:00
songruojing
b6887416d4
uart: fixed reset logic on ESP32-S3
2022-03-01 18:21:31 +08:00
songruojing
d4334cc109
uart: fixed incorrect channel number on ESP32S2, S3 and C3
2022-03-01 18:21:27 +08:00
KonstantinKondrashov
7d097511fa
soc: Fix efuse_hal_get_chip_revision for esp32
2022-03-01 16:55:43 +08:00
wuzhenghui
1a4d4b9cd6
remove esp32h2 rev1/2 unsupported efuse field
2022-02-28 19:37:43 +08:00
wuzhenghui
95418fd22e
remove esp32c3 unsupported efuse field
2022-02-28 19:37:38 +08:00
Kevin (Lao Kaiyao)
cc1d89ebba
Merge branch 'feature/i2c_support_on_esp8684_esp32h2' into 'master'
...
i2c: support i2c on esp32c2 and esp32h2
Closes IDF-3918
See merge request espressif/esp-idf!16444
2022-02-28 13:59:02 +08:00
Konstantin Kondrashov
44e5ac2c59
Merge branch 'feature/efuse_hal' into 'master'
...
hal: Adds efuse hal layer
See merge request espressif/esp-idf!16354
2022-02-28 13:38:43 +08:00
KonstantinKondrashov
9605f3eb1a
soc: Adds efuse hal
...
Replaced eFuse ROM funcs with hal layer
2022-02-24 22:20:09 +08:00
morris
8c91ef7599
Merge branch 'contrib/github_pr_8430' into 'master'
...
ADC Fix compiling when included from C++ (GitHub PR)
Closes IDFGH-6804
See merge request espressif/esp-idf!17216
2022-02-24 08:42:06 +00:00
laokaiyao
cf353c505a
i2c: support esp32h2
2022-02-23 15:19:37 +08:00
laokaiyao
7da023ceae
i2c: support esp32c2
2022-02-23 15:19:37 +08:00
Jiang Guang Ming
453146fe75
Merge branch 'bugfix/update_esp32c2_soc_memory_addr' into 'master'
...
soc: update memory address for esp32c2
See merge request espressif/esp-idf!17085
2022-02-22 10:23:35 +00:00
Song Ruo Jing
da3b7f106b
Merge branch 'feature/support_esp32c2_reset_cause' into 'master'
...
esp_system: support esp32c2 reset reason
Closes IDF-3832 and IDF-4244
See merge request espressif/esp-idf!17158
2022-02-22 03:12:44 +00:00
morris
116197040f
i2s: update copyright
2022-02-21 21:28:48 +08:00