Commit Graph

1883 Commits

Author SHA1 Message Date
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
laokaiyao
a5f651ad71 i2s: Update FIFO direct access reg on ESP32 according to the TRM
Closes: https://www.github.com/espressif/esp-idf/issues/8862
2022-05-23 16:28:42 +08:00
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
Marius Vikhammer
63edf76c36 soc: remove sigma delta and DS caps from soc_caps.h
These two peripherals do not exist on C2
2022-02-16 10:21:09 +08:00
jiangguangming
0265a86361 soc: update memory address for esp32c2 2022-02-15 15:14:42 +08:00
songruojing
b860fa96e0 esp_system: support esp32c2 reset reason 2022-02-15 13:50:22 +08:00
morris
84b750cbe8 Merge branch 'refactor/lcd_soc_ll_update_according_trm' into 'master'
lcd soc ll update according trm

See merge request espressif/esp-idf!16900
2022-02-12 08:13:34 +00:00
Song Ruo Jing
40d1102ca5 Merge branch 'bugfix/cpu_reset_perip_clk_disable' into 'master'
esp_system: change range comparsion for reset reason to specifc cpu reset reason comparison

See merge request espressif/esp-idf!15492
2022-02-10 03:44:15 +00:00
songruojing
c1dedb33fa esp_system: replace the range comparsion for reset reason in perip clk init with specific reset reason check, also add a test case in LEDC to check for the perip clk not being disabled after cpu reset 2022-02-09 15:54:34 +08:00
morris
9887c7e780 rmt: do not support rx wrap on esp32s2
Closes https://github.com/espressif/esp-idf/issues/8354
2022-02-08 13:57:31 +08:00
Michael (XIAO Xufeng)
c1b30491dd Merge branch 'feature/esp32c3_uart_add_wakeup_event' into 'master'
UART: add uart wakeup event for esp32c3 and esp32s3

Closes IDF-3416

See merge request espressif/esp-idf!14482
2022-02-04 17:23:29 +00:00
Mahavir Jain
68f67db984 Merge branch 'feature/efuse_esp8684' into 'master'
efuse(esp32c2): Support eFuse key APIs

Closes IDF-3818

See merge request espressif/esp-idf!16290
2022-02-01 11:30:00 +00:00
KonstantinKondrashov
ebdc52d4e2 efuse(esp32c2): Support eFuse key APIs 2022-02-01 17:30:31 +08:00
Konstantin Kondrashov
c4d91581ca Merge branch 'bugfix/efuse_timesettings_for_esp32s3' into 'master'
efuse: Fixes eFuse timesettings issue on esp32S3

See merge request espressif/esp-idf!16907
2022-01-26 09:33:39 +00:00
Song Ruo Jing
3821a09f83 Merge branch 'bugfix/ledc_consecutive_fade' into 'master'
ledc: Bugfixes for issues related to fade protection on ESP32

Closes IDFGH-4918 and IDFGH-5565

See merge request espressif/esp-idf!14568
2022-01-26 06:00:59 +00:00
Zim Kalinowski
67f51a4ce5 Merge branch 'bugfix/riscv_i2c_description' into 'master'
i2c: fix the controller count in the header description

Closes IDFGH-6476

See merge request espressif/esp-idf!16718
2022-01-26 03:13:07 +00:00
KonstantinKondrashov
45d2d2470b efuse: Fixes eFuse timesettings issue on esp32S3 2022-01-25 22:09:14 +08:00
laokaiyao
c4cfb654d2 uart: support light sleep on esp32s3 2022-01-25 17:43:02 +08:00
Chen Wu
35941de800 debug: esp32c3 uart1 wakeup 2022-01-25 17:43:02 +08:00
Chen Yi Qun
56e9920958 uart: add wakeup event for esp32c3 2022-01-25 17:43:02 +08:00
Mahavir Jain
c4ddfc9f06 Merge branch 'bugfix/efuse_timesettigs_in_burn_op' into 'master'
efuse: Fixes eFuse timesettings issue on esp32c3

Closes FCS-849

See merge request espressif/esp-idf!16885
2022-01-25 03:44:51 +00:00
songruojing
68e12f7092 ledc: Add ledc_fade_stop API to support stopping the fade operation.
Note that ESP32 cannot support this new feature.
2022-01-25 11:19:20 +08:00
morris
2ab7d92785 lcd: improve LL driver according to TRM 2022-01-24 18:58:37 +08:00
KonstantinKondrashov
4ede9aaa26 efuse: Fixes eFuse timesettings issue on esp32c3 2022-01-21 16:45:50 +08:00
laokaiyao
cf049e15ed esp8684: rename target to esp32c2 2022-01-19 11:08:57 +08:00
Sudeep Mohanty
2ed15d8b1e ulp: Added ULP RISC-V support for esp32s3
This commit adds support for ULP RISC-V for esp32s3.

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2022-01-18 10:58:00 +05:30
Omar Chebib
bb730292d4 i2c: fix the controller count in the header description
Closes https://github.com/espressif/esp-idf/issues/8133
2022-01-13 18:25:41 +08:00
Armando
6a74cb695d spi: support spi on 8684 2022-01-12 11:30:29 +08:00
laokaiyao
cd10bb7fa2 esp32h2: fix apb freq bug 2022-01-10 12:43:31 +08:00
morris
f7c9b8fd58 soc: remove dport register assert for esp32s2
Closes https://github.com/espressif/esp-idf/issues/8176
2022-01-06 23:10:22 +08:00
morris
24acdf23ee soc: move peripheral base address into reg_base.h 2022-01-06 21:43:12 +08:00
morris
8cdcb4e291 rmt: move RMT item definition from soc to driver 2022-01-06 21:43:12 +08:00
morris
d8f2eaf94e gpio: remove legacy rtc_io description for esp32 2022-01-06 21:43:12 +08:00
Michael (XIAO Xufeng)
46f8d868d3 soc: updated soc_caps about rtc_io and the format 2022-01-01 03:13:45 +08:00
Song Ruo Jing
2906fbfb9e Merge branch 'feature/support_esp8684_gpio' into 'master'
ESP8684: Support ESP8684 gpio

Closes IDF-4019 and IDF-3841

See merge request espressif/esp-idf!15667
2021-12-30 09:16:23 +00:00
Sudeep Mohanty
6a2a6e4220 Merge branch 'feature/remove-depricated-cpu-util-functions' into 'master'
esp_hw_support: Removed deprecated CPU util functions

Closes IDF-2868

See merge request espressif/esp-idf!16391
2021-12-29 16:44:17 +00:00
songruojing
e0bc3a923c esp8684: support GPIO peripheral, IO_MUX, GPIO matrix.
Generic GPIO example and GPIO unit test on esp8684 are both supported as well.
2021-12-29 22:01:45 +08:00
Kevin (Lao Kaiyao)
952b4d848f Merge branch 'bugfix/apll_coeff_calculate' into 'master'
i2s: impove the clock division calculation

Closes IDFGH-6283

See merge request espressif/esp-idf!16095
2021-12-29 09:35:13 +00:00
laokaiyao
4f28b33bbc apll: add lock for apll 2021-12-29 10:13:13 +08:00
laokaiyao
af4e448928 i2s: impove the clock division calculation
Reported from: https://esp32.com/viewtopic.php?f=25&t=24542&p=87595#p87595
2021-12-29 10:13:13 +08:00
Sudeep Mohanty
e22b4007d3 esp_hw_support: Removed deprecated CPU util functions
The following files were deleted:
- components/esp_hw_support/include/soc/cpu.h
- components/soc/esp32s3/include/soc/cpu.h

The following functions are deprecated:
- get_sp()

The following functions declared in soc/cpu.h are now moved to esp_cpu.h:
- esp_cpu_configure_region_protection()

The following functions declared in soc/cpu.h are now moved to components/xtensa/include/esp_cpu_utils.h:
- esp_cpu_process_stack_pc()

All files with soc/cpu.h inclusion are updated to include esp_cpu.h instead.

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2021-12-28 16:58:37 +05:30
morris
f028107359 fast_gpio: support esp32c2/esp8684 2021-12-28 10:18:18 +08:00
Song Ruo Jing
7f5e93a582 Merge branch 'bugfix/remove_ref_tick_on_s3' into 'master'
ledc: Remove REF_TICK as a supported clock source for LEDC driver on S3

See merge request espressif/esp-idf!16408
2021-12-23 12:21:01 +00:00
morris
b170aba93a timer: fix wrong kconfig soc caps 2021-12-23 11:39:32 +08:00
Mahavir Jain
2264f4d9b8 Merge branch 'feature/memprot_api_unified_c3' into 'master'
Memprot API unified - ESP32C3

Closes IDF-3849

See merge request espressif/esp-idf!15086
2021-12-21 08:45:33 +00:00
songruojing
8e3bc160bc ledc: Remove REF_TICK as a supported clock source for LEDC driver on esp32s3 2021-12-21 11:43:18 +08:00
Martin Vychodil
dd938eb952 System/Security: Memprot API unified (ESP32C3)
Unified Memory protection API for all PMS-aware chips (ESP32C3)

Closes JIRA IDF-3849
2021-12-21 01:50:36 +01:00
Marius Vikhammer
c2d00810a6 Merge branch 'feature/esp8684_doc_build' into 'master'
docs: update docs to be able to build with esp8684

Closes IDF-4313

See merge request espressif/esp-idf!15849
2021-12-20 03:32:28 +00:00
Marius Vikhammer
82325f6037 docs: update docs to be able to build with esp8684 2021-12-20 10:32:49 +08:00
morris
e8c5f8656b fast_gpio: fix wrong initial occupy mask 2021-12-17 15:49:44 +08:00
Armando
4dc0d6b2fe adc: support adc dma driver on all chips 2021-12-16 00:19:15 +00:00
Cao Sen Miao
e3d14858c7 rtc_clk: change clock source from xtal to pll on real board(ESP8684) 2021-12-15 12:21:11 +08:00
Simon
1c82e6eac7 Merge branch 'ci/8684_build_ci' into 'master'
CI: Enable ESP8684 build (2nd stage) CI on master (except example build)

Closes IDF-4388

See merge request espressif/esp-idf!16197
2021-12-14 11:12:10 +00:00
Armando (Dou Yiwen)
a86d2aff2c Merge branch 'bugfix/fix_adc1_chan8_9_not_defined_on_s3' into 'master'
adc: fix adc1 channel 8 and 9 not defined bug on s3

Closes IDF-4421

See merge request espressif/esp-idf!16326
2021-12-14 08:10:00 +00:00
morris
14c926350a gdma: fix potential use after free issue 2021-12-14 10:08:26 +08:00
Cao Sen Miao
e81841318f CI: Enable ESP8684 build stage CI on master 2021-12-13 19:18:47 +08:00
Cao Sen Miao
463cf2cf1c ESP8684: Clean up ESP8684 code, remove useless code, update headers 2021-12-09 18:36:39 +08:00
Ivan Grokhotkov
c358aceb1b Merge branch 'feature/soc_caps_build_sys' into 'master'
build-system: parse soc caps and integrate into kconfig

Closes IDF-2223

See merge request espressif/esp-idf!15305
2021-12-09 06:54:08 +00:00
Armando
964f40be35 adc: fix adc1 channel 8 and 9 not defined bug on s3 2021-12-08 18:21:28 +08:00
Simon
6f9b89f619 Merge branch 'bugfix/usb_no_rom_log' into 'master'
USB_SERIAL_JTAG: Fix the issue that there is no rom/bootloader log when restarting

Closes IDF-4173

See merge request espressif/esp-idf!16057
2021-12-07 08:16:10 +00:00
songruojing
91f1159f9c gpio: Fix the bug that gpio interrupt cannot be triggered on app cpu on ESP32S3
Add a test case for checking the interrupt on other cores.

Closes https://github.com/espressif/esp-idf/issues/7885
2021-12-06 14:17:03 +08:00
Marius Vikhammer
97d11c709d soc: Merge soc_caps for H2 rev1 and rev2
These files were identical.
2021-12-06 12:37:11 +08:00
Marius Vikhammer
c6d60615c6 build-system: include soc_caps defines into kconfig
Adds gen_soc_caps_kconfig.py which parses the soc caps (soc_caps.h) into
a format that can be included in kconfig.
2021-12-06 12:37:07 +08:00
Cao Sen Miao
17ea9d7faf USB_SERIAL_JTAG: Fix the issue that there is no rom log when restarting 2021-11-29 20:26:09 +08:00
laokaiyao
f21020ce04 esp32h2: update reg and struct for beta2 2021-11-24 12:34:17 +08:00
wuzhenghui
388615add0 update esp32h2beta2 chip_id to 14 2021-11-24 12:30:43 +08:00
wuzhenghui
968c42d88c 822 FPGA rnv init 2021-11-24 12:30:17 +08:00
morris
2e008825a9 Merge branch 'feat/rm_makefiles' into 'master'
Build & config: Remove leftover files from the unsupported make build system

Closes IDF-4273 and IDF-2827

See merge request espressif/esp-idf!15829
2021-11-16 03:44:41 +00:00
Cao Sen Miao
ce1ee3d8ae psram: add ESP32-D0WD-R2-V3 support 2021-11-12 13:52:24 +08:00
Roland Dobai
766aa57084 Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
Omar Chebib
aa2ca7dd94 LEDC: improved support for ESP32-C3 and refactored divisor calculation
As ESP32C3 does not have support for REF_TICK source clock, it is now not
possible to select it anymore.
Auto cfg clock has been improved for all boards.
2021-11-11 12:21:15 +08:00
morris
83d16aa00c gdma: support IRAM interrupt 2021-11-08 16:14:51 +08:00
Cao Sen Miao
36f6d16b8d ESP8684: add soc, riscv, newlib support 2021-11-06 17:33:44 +08:00
Wei Tian Hua
347e04cf73 Merge branch 'doc/make_classic_bt_API_ref_only_for_esp32' into 'master'
Doc/Make Classic BT related document links only visible for ESP32

Closes IDFGH-5008, IDFGH-6022, and AUD-3378

See merge request espressif/esp-idf!15635
2021-10-29 02:27:24 +00:00
weitianhua
0ea06fa336 Remove dummy defines of Classic BT 2021-10-28 19:26:46 +08:00
weitianhua
64aa94d823 Make Classic BT related document links only visible for ESP32 2021-10-27 15:28:47 +08:00
Alexey Gerenkov
111ba5bbe6 trax: Adds ESP32-S3 support 2021-10-22 23:36:28 +03:00
Wu Zheng Hui
001c29b077 bootloader: Simplify multi-chip control logic of the cache 2021-10-21 18:09:37 +08:00
morris
e2275b1f63 gptimer: clean up hal and ll for driver-ng 2021-10-20 18:40:08 +08:00
Li Shuai
e8188e5d8f ci: replacing old header with new SPDX header style 2021-10-20 11:36:23 +08:00
Li Shuai
881e1b0fd5 deep sleep: add deep sleep support for esp32s3 2021-10-20 11:36:20 +08:00
alex.li
26d8b7ee17 Add HW external coexist api.
Simplify the external coex flow.

And replace gpio of driver interface with hal one.
2021-10-12 14:05:14 +08:00
Kevin (Lao Kaiyao)
a9faafee3c Merge branch 'feature/touch_sensor_driver_support_for_esp32s3' into 'master'
driver(touch): support touch sensor for esp32s3 platform

Closes IDF-1784 and IDF-3302

See merge request espressif/esp-idf!14102
2021-10-12 05:50:58 +00:00
laokaiyao
f4705f8eb4 touch sensor: update copyright notice 2021-10-08 11:45:57 +08:00
laokaiyao
a1cadba191 touch_sensor: apply general check 2021-10-08 11:32:12 +08:00
fuzhibo
589646a31e update touch with review advice 2021-10-08 10:39:46 +08:00
fuzhibo
057b9d61b5 driver(touch): support touch sensor for esp32s3 platform 2021-10-08 10:39:46 +08:00
morris
e09e39c94f lcd: unify callback prototype 2021-10-02 14:23:31 +08:00
Jiang Jiang Jian
f5ae8b0533 Merge branch 'feature/ledc_use_rtc8m_or_xtal_lightsleep' into 'master'
support RTC8M and XTAL power domain in light sleep mode

Closes IDF-3419

See merge request espressif/esp-idf!15152
2021-09-27 04:02:29 +00:00
SalimTerryLi
bd89dcc683
RMT: add loop_autostop driver support for esp32s3 2021-09-24 15:24:45 +08:00
morris
20ef511d0a Merge branch 'bugfix/fix_reg_name_charactor_err' into 'master'
bugfix: fix reg name character error

See merge request espressif/esp-idf!14169
2021-09-18 07:10:57 +00:00
Jiang Jiang Jian
3b48b7e663 Merge branch 'Fix/update_reset_reason' into 'master'
update reset reason for c3/s3/h2

See merge request espressif/esp-idf!14747
2021-09-18 07:03:50 +00:00
Wu Zheng Hui
85651b4791 efuse: remove DIS_RTC_RAM_BOOT efuse bit 2021-09-18 14:58:43 +08:00
Wu Zheng Hui
27241e8213 Merge branch 'bugfix/fix_efuse_err_address' into 'master'
fix efuse err address in block0

See merge request espressif/esp-idf!14790
2021-09-17 02:17:09 +00:00
Wu Zheng Hui
1080e4f6a2 rename APB_CTRL ro SYS_CON
save
2021-09-16 20:57:57 +08:00
wuzhenghui
9c5d1c7fcf fix s3 efuse err address in block0 2021-09-16 20:08:59 +08:00
wuzhenghui
8e1b8194f5 fix s2 efuse err address in block0 2021-09-16 20:08:59 +08:00
wuzhenghui
61b2c2d458 fix h2 efuse err address in block0 2021-09-16 20:08:59 +08:00
wuzhenghui
352ffbb78d fix c3 efuse err address in block0 2021-09-16 20:08:59 +08:00
Li Shuai
b3e27403f3 esp_hw_support: keep external 40 MHz xtal related analog circuit power on during sleep 2021-09-16 14:46:21 +08:00
Li Shuai
58292a7d22 Power Management: add XTAL power domain to control whether external 40MHz xtal is powered down during sleep 2021-09-16 14:43:43 +08:00
Li Shuai
f5b39a7cde esp_hw_support: No voltage drop during light sleep to ensure stable output clock of rtc8m oscillator 2021-09-16 14:40:46 +08:00
wuzhenghui
b2c028085a fix reg name character error 2021-09-15 21:51:20 +08:00
Armando (Dou Yiwen)
13b63cd9d2 Merge branch 'feature/support_adc_calibration_s3' into 'master'
adc: support adc calibration on s3

Closes IDF-1950, IDF-3730, and IDF-3036

See merge request espressif/esp-idf!15031
2021-09-14 08:51:03 +00:00
morris
502e132e5d Merge branch 'feature/fast_gpio_c3' into 'master'
fast gpio support on esp32-c3

Closes IDF-3783

See merge request espressif/esp-idf!14986
2021-09-14 06:09:34 +00:00
Song Ruo Jing
10b848327b Merge branch 'feature/usb_phy' into 'master'
usb: Add usb_phy driver to support operations on USB PHY

Closes IDF-3574 and IDF-1882

See merge request espressif/esp-idf!14879
2021-09-14 06:06:06 +00:00
Armando
c45c6f52f1 adc: support adc efuse-based calibration on esp32s3 2021-09-14 11:42:50 +08:00
Li Shuai
e44ead5356 Power Management: add RTC8M power domain to control whether internal 8m oscillator is powered down during sleep 2021-09-13 17:36:54 +08:00
songruojing
1fcd639224 usb: Add usb_phy driver to support operations on USB PHY 2021-09-13 12:39:56 +08:00
morris
9d97d01679 Merge branch 'bugfix/mcpwm_cpp_reserved_word' into 'master'
bugfix/mcpwm: rename invalid keyword 'operator'

Closes IDFGH-5840

See merge request espressif/esp-idf!15159
2021-09-13 03:10:04 +00:00
Bao Hong De
7fc071e133 Merge branch 'feature/high_level_interrupt_in_bluetooth' into 'master'
Bluetooth: High level interrupt in bluetooth

See merge request espressif/esp-idf!11156
2021-09-10 09:50:39 +00:00
SalimTerryLi
d9f4ae02f1
mcpwm: rename keyword 'operator' which is not valid in cpp
Closes https://github.com/espressif/esp-idf/issues/7542
2021-09-10 12:41:42 +08:00
morris
25f723765e Merge branch 'feature/lcd_driver_follow_up' into 'master'
lcd: add PM lock

Closes IDF-3631, IDF-3704, and IDF-3317

See merge request espressif/esp-idf!14880
2021-09-10 03:14:50 +00:00
baohongde
006a10b050 components/doc: Update doc about high-level interrupt
some bugfix.
2021-09-09 20:40:09 +08:00
SalimTerryLi
932d4d13f0
MCPWM/sync: expose API for configuring timer sync
removed example: mcpwm_basic_config

Closes https://github.com/espressif/esp-idf/issues/5429

Co-authored-by: wubowen <wubowen@espressif.com>
2021-09-09 17:33:37 +08:00
baohongde
6d63fe06fa components/os: add config option to choose system check intterupt level. 2021-09-09 11:29:12 +08:00
baohongde
d1db2df316 components/bt: High level interrupt in bluetooth
components/os: Move ETS_T1_WDT_INUM, ETS_CACHEERR_INUM and ETS_DPORT_INUM to l5 interrupt

components/os: high level interrupt(5)

components/os: hli_api: meta queue: fix out of bounds access, check for overflow

components/os: hli: don't spill registers, instead save them to a separate region

Level 4 interrupt has a chance of preempting a window overflow or underflow exception.
Therefore it is not possible to use standard context save functions,
as the SP on entry to Level 4 interrupt may be invalid (e.g. in WindowUnderflow4).

Instead, mask window overflows and save the entire general purpose register file,
plus some of the special registers.
Then clear WindowStart, allowing the C handler to execute without spilling the old windows.
On exit from the interrupt handler, do everything in reverse.

components/bt: using high level interrupt in lc

components/os: Add DRAM_ATTR to avoid feature `Allow .bss segment placed in external memory`

components/bt: optimize code structure

components/os: Modify the BT assert process to adapt to coredump and HLI

components/os: Disable exception mode after saving special registers

To store some registers first, avoid stuck due to live lock after disabling exception mode

components/os: using dport instead of AHB in BT to fix live lock

components/bt: Fix hli queue send error

components/bt: Fix CI fail

# Conflicts:
#	components/bt/CMakeLists.txt
#	components/bt/component.mk
#	components/bt/controller/bt.c
#	components/bt/controller/lib
#	components/esp_common/src/int_wdt.c
#	components/esp_system/port/soc/esp32/dport_panic_highint_hdl.S
#	components/soc/esp32/include/soc/soc.h
2021-09-09 11:29:06 +08:00
Cao Sen Miao
e85e9dc824 Merge branch 'feature/esp_flash_octal_api_support_xmic' into 'master'
esp_flash: Add new octal flash chip support in new chip driver (for MXIC)

Closes IDF-2859

See merge request espressif/esp-idf!14185
2021-09-08 03:59:34 +00:00
morris
02e470bc50 lcd: add pm lock 2021-09-08 11:34:46 +08:00
Mahavir Jain
d504ca614c Merge branch 'feature/clock_glitch_enable' into 'master'
bootloader: Enable clock glitch detection

Closes IDF-2453, IDF-1720, IDFGH-5721, and IDFGH-5327

See merge request espressif/esp-idf!14868
2021-09-07 11:38:18 +00:00
Cao Sen Miao
6c0aebe279 esp_flash: add opi flash support in esp_flash chip driver, for MXIC 2021-09-07 14:44:40 +08:00
morris
6cec256a34 fast_gpio: driver support on esp32c3 2021-09-06 19:39:09 +08:00
Sachin Parekh
fd5a7df404 esp32h2: Replicated HMAC JTAG downstream enable mode implementation 2021-09-06 11:06:50 +05:30
Sachin Parekh
fa2707f1f3 hmac: Added Downstream JTAG enable mode for esp32c3 and esp32s3
If JTAG is disabled temporarily by burning SOFT_DIS_JTAG, it can be
re-enabled temporarily through esp_hmac_jtag_enable API
2021-09-06 11:06:50 +05:30
Jiang Jiang Jian
316988bd2d Merge branch 'feature/support_esp32s3_cpu_tagmem_retention' into 'master'
support esp32s3 cpu + tagmem retention

See merge request espressif/esp-idf!14579
2021-09-06 03:47:44 +00:00
Kevin (Lao Kaiyao)
2991eea97d Merge branch 'refactor/i2s_driver' into 'master'
driver/i2s: bugfix and refactor for i2s

Closes IDF-3656 and IDF-3738

See merge request espressif/esp-idf!14704
2021-09-06 02:07:40 +00:00
laokaiyao
c5afd7ce34 i2s: fix write failure on ESP32 in 32bit slave mode 2021-09-03 17:36:44 +08:00
Sachin Parekh
bf1dde7233 bootloader: Enable clock glitch detection
Reset the device when clock glitch detected. Clock glitch detection is
only active in bootloader
2021-09-02 12:25:12 +05:30
laokaiyao
b26da6f115 driver/i2s: refactor for i2s driver layer 2021-09-02 14:33:36 +08:00
Sachin Billore
f80d6f8c21 Digital Signature support for S3
Closes IDF-1791
2021-09-02 11:59:24 +05:30
Marius Vikhammer
bdf3a8ff29 Merge branch 'feature/xtwdt' into 'master'
WDT: Add support for XTAL32K Watchdog timer

Closes IDF-2575

See merge request espressif/esp-idf!15000
2021-09-02 02:44:47 +00:00
Marius Vikhammer
4869b3cd4a WDT: Add support for XTAL32K Watchdog timer 2021-09-02 09:09:00 +08:00
Armando (Dou Yiwen)
5f38b766a8 Merge branch 'feature/support_120mhz_quad_psram_quad_flash' into 'master'
mspi: support 120MHz clock freq on QSPI flash/psram on ESP32-S3

Closes IDF-3711

See merge request espressif/esp-idf!14849
2021-09-01 02:46:05 +00:00
Armando
a3dc625da6 mspi: support 120MHz Quad Flash and PSRAM on ESP32S3 2021-08-31 16:06:44 +08:00
morris
2e0ffbd543 Merge branch 'bugfix/fix-driver-8_16bit-reg-access' into 'master'
bugfix/driver: fix and cleanup soc/ll stuffs

Closes IDF-3722

See merge request espressif/esp-idf!14829
2021-08-30 10:27:05 +00:00
Michael (XIAO Xufeng)
d910d42a8d Merge branch 'bugfix/soc_interrupt_source' into 'master'
soc: remove outdated description of interrupts on RISCV CPUs

See merge request espressif/esp-idf!14974
2021-08-30 09:38:24 +00:00
Michael (XIAO Xufeng)
59cedcb748 soc: remove outdated description of interrupts on RISCV CPUs 2021-08-30 17:38:16 +08:00
SalimTerryLi
892f5e7df3
timer_group: fix wrongly generated reg header that introduced in 443845fd54 2021-08-30 13:51:25 +08:00
SalimTerryLi
874a720286
soc/ll: workaround compiler bug that generate 8/16 bits inst instead of 32 bits one
update all struct headers to be more "standardized":

- bit fields are properly wrapped with struct
- bitwidth sum should be 32 within same struct, so that it's correctly padded with reserved bits
- bit field should be uint32_t
- typedef volatile struct xxx{} yyy;: xxx must exists. refer: https://github.com/espressif/esp-idf/pull/3199

added helper macros to force peripheral registers being accessed in 32 bitwidth

added a check script into ci
2021-08-30 13:50:58 +08:00
wuzhenghui
32abe5ce42 fix apb freq err temporarily 2021-08-27 19:59:33 +08:00
Mahavir Jain
f7d2f283b3 Merge branch 'bugfix/bugfix/esp32s2_memprot_no_logging_2' into 'master'
System/Security: ESP32S2 Memprot uses no abort() calls neither does logging

Closes IDF-3634

See merge request espressif/esp-idf!14852
2021-08-27 11:17:31 +00:00
Cao Sen Miao
c47ad5d22f Merge branch 'bugfix/gpio_cant_hold' into 'master'
GPIO: fix issue that gpio cannot hold during deep-sleep on c3

Closes IDFGH-5738 and IDF-3526

See merge request espressif/esp-idf!14939
2021-08-27 06:16:45 +00:00
Li Shuai
ccf1a9a1fc light sleep: add i/d-cache tagmem retention support for esp32s3 2021-08-27 11:11:09 +08:00
Li Shuai
03746de96f light sleep: add cpu power down support for esp32s3 2021-08-27 11:11:06 +08:00
Michael (XIAO Xufeng)
375145ecdb Merge branch 'feature/mcpwm_bldc_hall_example' into 'master'
mcpwm: bldc hall example

Closes IDF-3648

See merge request espressif/esp-idf!14578
2021-08-26 08:28:27 +00:00
Martin Vychodil
58aed7df98 ESP32S2: No assert()/abort() in Memprot API, use esp_err_t instead
JIRA IDF-3634
2021-08-26 09:20:00 +02:00
Shu Chen
f8f9e545e8 Merge branch 'feature/support_esp32h2_hw_support' into 'master'
Feature/support esp32h2 hw support

Closes IDF-3378 and IDF-3396

See merge request espressif/esp-idf!14545
2021-08-26 06:00:27 +00:00
sly
11dfd802e0 esp32h2: add rtc clock support 2021-08-26 11:25:39 +08:00
Wu Zheng Hui
b287e01f38 Merge branch 'feature/support_bss_in_psram_for_esp32s2' into 'master'
[system] Allow .bss segment placed in external memory for ESP32-S2

Closes IDFGH-4320

See merge request espressif/esp-idf!13841
2021-08-25 08:06:37 +00:00
Wu Zheng Hui
3128a2544b Adjust the variable name &
Add mapping support for different sizes of spi ram
2021-08-25 16:06:28 +08:00
Song Ruo Jing
fe5c87cb3c Merge branch 'bugfix/enable_gpio_20' into 'master'
gpio: Enable IO20 on ESP32

Closes IDFGH-5140

See merge request espressif/esp-idf!14881
2021-08-25 07:25:37 +00:00
Cao Sen Miao
c860b3ead6 gpio: fix issue that gpio cannot hold during deep-sleep on c3, Closes https://github.com/espressif/esp-idf/issues/7455 2021-08-25 15:16:08 +08:00
wuzhenghui
6ab495b4dc esp32h2: chip env support
brownout init fixed
2021-08-25 11:02:47 +08:00
morris
3bfd8f5d5f mcpwm: update register file according to TRM 2021-08-24 15:38:46 +08:00
morris
0c41837b06 Merge branch 'refactor/timer_group-reg_file-update' into 'master'
refactor/timer_group update reg headers for c3 and s2

Closes IDF-3690

See merge request espressif/esp-idf!14761
2021-08-23 04:30:59 +00:00
Mahavir Jain
85e1258178 Merge branch 'esp32s3/secure_boot' into 'master'
bootloader: Enable Secure boot V2 for ESP32-S3

Closes IDF-1787

See merge request espressif/esp-idf!14873
2021-08-20 06:44:19 +00:00
Alberto García Hierro
6deaefde69 Enable IO20 on ESP32
Some newer ESP32 variants (like ESP32-PICO-V3 and ESP32-PICO-MINI-02)
do implement this pin and it can be used as a normal GPIO.

Fixes #6016
Fixes #6837

Closes https://github.com/espressif/esp-idf/pull/6918
2021-08-20 14:05:38 +08:00
morris
bb87fd8f08 Merge branch 'refactor/pcnt_driver_esp32s3' into 'master'
pcnt: soc update and hal refactor

See merge request espressif/esp-idf!14698
2021-08-20 04:23:15 +00:00
SalimTerryLi
443845fd54
timer_group: update reg headers for c3&s2&h2 and fix direct 8/16bit reg access 2021-08-19 18:56:32 +08:00
morris
71d475149d lcd: update doc unit test and example to support 8-line spi 2021-08-19 16:40:22 +08:00
bizhuangyang
8143832041 spi_master:support octal mode for esp32s2 and esp32s3
Add support for 8-line spi for lcd on esp32s2 and esp32s3

Closes https://github.com/espressif/esp-idf/issues/6371
2021-08-19 16:40:22 +08:00
Sachin Parekh
2d82560ed5 bootloader: Enable Secure boot V2 for ESP32-S3 2021-08-19 14:08:12 +05:30
morris
f40bbb01f2 Merge branch 'feature/i80_lcd_support_esp32s2' into 'master'
esp_lcd: lcd driver for esp32/esp32s2/esp32s3

Closes IDF-3144, IDF-3314, IDF-3315, and IDF-3316

See merge request espressif/esp-idf!13679
2021-08-18 07:55:06 +00:00
wuzhenghui
f913a10a22 update reset reason for c3/s3/h2 2021-08-13 17:45:53 +08:00
Jakob Hasse
1c3be690ed [esp_hw_support]: HMAC upstream support for S3 2021-08-13 12:01:06 +08:00
morris
6fdc5877cd lcd: support i80 LCD on esp32/s2/s3 2021-08-10 21:06:59 +08:00
morris
1656cee69d i2s: correct soc info
1. remove non-exist I2S instance
2. update soc_caps.h, i2s_ll.h
2021-08-10 21:06:59 +08:00
suda-morris
9920271c21 pcnt: update pcnt soc data for all targets 2021-08-10 17:19:21 +08:00
Wang Meng Yang
8652b1d576 Merge branch 'bugfix/btdm_esp32_ble_white_list_connection_fail' into 'master'
Fixed ESP32 BLE can't resolve the peer address when enable white list

See merge request espressif/esp-idf!14348
2021-08-09 06:46:08 +00:00
Mahavir Jain
83956ebbae Merge branch 'feature/update_efuses_for_esp32s2' into 'master'
efuse(esp32s2): Added flash_ver, psram_ver, pkg_ver efuses

Closes IDF-3263

See merge request espressif/esp-idf!13644
2021-08-06 14:24:20 +00:00
Jiang Jiang Jian
6e1f8a68b9 Merge branch 'feature/support_esp32s3_wifi_lightsleep' into 'master'
support esp32s3 wifi lightsleep

Closes IDF-1781

See merge request espressif/esp-idf!14569
2021-08-06 12:51:46 +00:00
KonstantinKondrashov
3cf4fbc150 efuse(esp32s2): Added flash_ver, psram_ver, pkg_ver efuses 2021-08-06 13:14:54 +08:00
Jan Brudný
562ce4d009 esp32s2, esp32s3: update copyright notice 2021-08-05 15:01:26 +02:00
Michael (XIAO Xufeng)
947980ecac Merge branch 'bugfix/uart_set_pin_use_iomux' into 'master'
uart: uart_set_pin function will now use IOMUX whenever possible

Closes IDF-3183

See merge request espressif/esp-idf!14318
2021-08-05 04:17:29 +00:00
xiewenxiang
1cc0f6aac5 Fixed ESP32 BLE can't resolve the peer address when enable white list 2021-08-04 22:00:38 +08:00
Li Shuai
d73a09cd8b light sleep: add wifi mac sleep support for esp32s3 2021-08-04 21:58:33 +08:00
Omar Chebib
779e7400b0 uart: uart_set_pin function will now use IOMUX whenever possible
By using IOMUX instead of GPIO Matrix for UART, it is now possible
on ESP32 boards to use the UART as a wake up source even if it is
not used as a console.
For other boards where this issue was not present, using IOMUX has
the advantage to be faster than using GPIO matrix, so a highest
baudrate can be used
2021-08-04 12:48:30 +08:00
laokaiyao
f863998e90 driver/i2s: support mclk 2021-08-04 10:20:03 +08:00
laokaiyao
3c57a6ac36 driver/i2s: refactor ll and hal 2021-08-04 10:20:03 +08:00
laokaiyao
d51b85989b doc/i2s: update i2s programming guide on s3 & c3 2021-08-04 10:20:03 +08:00
laokaiyao
f7f8c9c11f driver/i2s: support i2s on c3 and s3
1. Support i2s on esp32c3 and esp32s3
    2. Refactor i2s_config_t to avoid breaking change
    2. Fix a bug that receiving unavailable values from message queue when dma queue has been re-allocted
    4. Support i2s unit test on esp32c3 and esp32s3
2021-08-04 10:20:03 +08:00
houwenxiang
2f1247e1c4 driver: support I2S on ESP32-S3 & ESP32-C3
1. refactor I2S driver.
  2. support TDM mode for esp2s3 & esp32c3.
2021-08-04 10:20:03 +08:00
Konstantin Kondrashov
4972605b16 esp_common: Add API for IPC to run small pieces of code on the other CPU, in the context of the level 4 interrupt 2021-08-03 14:35:29 +08:00
Cao Sen Miao
247866261f Merge branch 'feature/flash_support_on_esp32s3' into 'master'
esp_flash: bringup ext flash chip on ESP32-S3

Closes IDF-2021 and IDF-3230

See merge request espressif/esp-idf!14523
2021-08-02 03:59:14 +00:00
Cao Sen Miao
5083ff5922 Merge branch 'feature/usb_serial_jtag_support_s3' into 'master'
usb_serial_jtag: enable blocking implementation on esp32s3(console)

Closes IDF-3635

See merge request espressif/esp-idf!14581
2021-07-31 11:27:09 +00:00
Cao Sen Miao
24529a6aec usb_serial_jtag: enable blocking implementation on esp32s3 2021-07-31 16:32:09 +08:00
Cao Sen Miao
992de2750e spi_flash: add support for ext flash 2021-07-31 14:11:35 +08:00
Jiang Jiang Jian
aebdaf08a6 Merge branch 'bugfix/esp32s3_app_core_clock_gate_invalid_issue' into 'master'
fix app cpu core clock gate invalid issue

Closes WIFI-3899

See merge request espressif/esp-idf!14518
2021-07-31 03:00:58 +00:00
morris
6352a7ee07 lcd_cam: new csv header file 2021-07-30 11:23:26 +08:00
morris
f907009056 Merge branch 'refactor/cleanup_mcpwm_examples' into 'master'
mcpwm: more clean up (example + LL + doc)

Closes IDF-3295

See merge request espressif/esp-idf!12798
2021-07-29 10:41:07 +00:00
Michael (XIAO Xufeng)
5569dedd7f Merge branch 'bugfix/i2c_example_esp32s3' into 'master'
i2c: bringup on ESP32-S3

Closes IDF-3232 and IDF-3292

See merge request espressif/esp-idf!13985
2021-07-29 07:01:38 +00:00
Armando (Dou Yiwen)
47e1b41563 Merge branch 'bugfix/adc2_single_read0_with_wifi_on' into 'master'
ADC: support ADC2 single read while WifI is on

Closes IDFCI-353 and IDF-3454

See merge request espressif/esp-idf!14152
2021-07-29 02:25:36 +00:00
Jiang Jiang Jian
97507ebe49 Merge branch 'feature/support_esp32s3_lightsleep' into 'master'
support esp32s3 normal lightsleep

See merge request espressif/esp-idf!14369
2021-07-28 15:09:37 +00:00
Armando
3ce2d85e9e adc: support adc2 working with WiFi 2021-07-28 17:50:14 +08:00
Li Shuai
5a3d2b1874 light sleep: modify some sleep params for esp32s3 2021-07-28 15:41:47 +08:00
Li Shuai
8a10ba4179 system: fix app cpu core clock gate invalid issue 2021-07-28 11:34:29 +08:00
Michael (XIAO Xufeng)
18bee2380a Merge branch 'refactor/usb_device_driver' into 'master'
tiny_usb: support on esp32-s3

Closes IDF-3234

See merge request espressif/esp-idf!14293
2021-07-26 16:21:55 +00:00
morris
88c87bfe56 mcpwm: update hal and soc naming 2021-07-26 22:32:45 +08:00
Li Hang Fan
61f79cbf9c Merge branch 'refactor/move_ldscript_to_soc' into 'master'
refactor/soc: Move peripheral linker scripts out of target component

Closes IDF-3580

See merge request espressif/esp-idf!14474
2021-07-23 11:54:56 +00:00
Li Shuai
ead49c7acf Merge branch 'feature/support_esp32s3_gpio_sleep_iso' into 'master'
light sleep: add gpio isolate function at slept status for esp32s3

See merge request espressif/esp-idf!14370
2021-07-22 07:52:55 +00:00
Michael (XIAO Xufeng)
fbb6b1b11a Merge branch 'bugfix/fix_uart_reset_issue_on_esp32c3' into 'master'
bugfix(uart): reset uart0 core before uart apb reset

Closes IDF-3362

See merge request espressif/esp-idf!12749
2021-07-22 07:20:58 +00:00
SalimTerryLi
2347e68e6b
soc: move peripheral linker scripts out of target component 2021-07-22 12:55:01 +08:00
Marius Vikhammer
a29a6ceef0 uart: update register headers and examples for S3 2021-07-22 12:05:49 +08:00
morris
2218204aa7 doc: update tinyusb document to support esp32s3
1. Renamed SOC_USB_SUPPORTED to SOC_USB_OTG_SUPPORTED for the reason of
   another USB related peripheral: USB_JTAG_SERIAL
2. correct related document
2021-07-22 10:43:10 +08:00
Cao Sen Miao
69ad24c943 temp_sensor: add docs for esp32c3 2021-07-21 13:34:52 +08:00
Chen Yi Qun
6317f5b481 add uart core reset in uart_module_enable() 2021-07-21 11:41:04 +08:00
Omar Chebib
b8c6c5334f i2c: modify examples to work out of the box on ESP32S3
On ESP32S3, the default I2C pins of the examples are already used by USB.
This commit changes the default pins.
2021-07-21 11:04:16 +08:00
Li Shuai
512800891e light sleep: add uart new final state machine support for esp32s3 2021-07-20 11:27:14 +08:00
Jiang Jiang Jian
af9cb85e00 Merge branch 'feature/support_esp32s3_rtc_hw_support' into 'master'
esp_hw_support: add rtc module support for esp32s3

See merge request espressif/esp-idf!14368
2021-07-20 03:23:10 +00:00
Marius Vikhammer
03545feaea Merge branch 'feature/s3_flash_enc' into 'master'
S3 Flash encryption bringup

Closes IDF-1786 and IDF-2576

See merge request espressif/esp-idf!14259
2021-07-19 08:56:50 +00:00
Omar Chebib
a7b6ec85b8 Merge branch 'feature/move_memory_layout_to_heap' into 'master'
G0: Memory layouts are now part of heap components

Closes IDF-1264

See merge request espressif/esp-idf!14028
2021-07-19 06:23:19 +00:00
Zim Kalinowski
da9e5ca38a Merge branch 'bugfix/usb_device_struct_cleanup' into 'master'
Cleanup USB device struct

Closes IDFGH-5223

See merge request espressif/esp-idf!13473
2021-07-19 04:23:20 +00:00
sly
d6762a9fb7 esp_hw_support: add rtc module support for esp32s3 2021-07-19 11:17:48 +08:00
morris
2058e89448 Merge branch 'feature/fpga_bootloader' into 'master'
Boot ESP32 & ESP32-S2 apps on FPGA

See merge request espressif/esp-idf!8270
2021-07-18 08:06:38 +00:00
Michael (XIAO Xufeng)
59195b6fb3 Merge branch 'bugfix/update_gdma_soc' into 'master'
gdma: alignment setting for PSRAM transfer

Closes IDF-1524

See merge request espressif/esp-idf!13976
2021-07-17 14:04:03 +00:00
Angus Gratton
c1ca7a35b0 ldgen: Remove some remaining references to TARGET.project.ld.in 2021-07-16 20:14:27 +08:00
morris
3176ba11d8 gdma: update DMA soc data for esp32-s3 2021-07-16 14:47:09 +08:00
Angus Gratton
8cc8c60b45 soc esp32s2: Use constant for XTAL value
ESP32-S2 only supports a 40MHz crystal.
2021-07-16 10:50:06 +10:00
laokaiyao
27d9657b6c driver/adc: support adc single sample on s3 2021-07-15 19:13:50 +08:00
Omar Chebib
c4f57af6c9 G0: Memory layouts are now part of heap components 2021-07-15 11:38:23 +10:00
Li Shuai
d2aeb9e4ce light sleep: add gpio configure workaround at slept status for esp32s3 2021-07-14 21:57:21 +08:00
Marius Vikhammer
b8a322195e flash encryption: add flash encryption support for ESP32-S3 2021-07-14 18:46:17 +08:00
Angus Gratton
6f0b36f7be Merge branch 'doc/flash_manual_encrypt' into 'master'
docs: Add manual encryption docs, fix flash encryption efuse bug

Closes IDFGH-3006

See merge request espressif/esp-idf!14178
2021-07-14 09:27:34 +00:00
Angus Gratton
fcd193b024 docs: Use soc_caps instead of chip names for flash encryption docs
Clears the way for ESP32-S3 and future chips.
2021-07-14 16:57:31 +10:00
Angus Gratton
36815fa1bf soc: Add SOC_EFUSE_SUPPORT_XTS_AES_256_KEYS flags for esp32s2,s3
Fixes regression in f339b3fc96
2021-07-13 14:24:03 +10:00
morris
1560d6f1ba soc: add reset reasons in soc component 2021-07-13 10:45:38 +08:00
Marius Vikhammer
70fd8529e9 Merge branch 'bugfix/s3_soc_update' into 'master'
soc: update S3 memory layout

See merge request espressif/esp-idf!14258
2021-07-09 06:13:22 +00:00
Marius Vikhammer
5d184dcfe0 soc: update S3 memory layout 2021-07-09 12:29:56 +08:00
Marius Vikhammer
71c1da8952 timer group: add timer group and WDT support for ESP32S3
Regenerate timer group header files and update LL, check examples
and update docs.
2021-07-06 16:21:43 +08:00
morris
d9d4db43a1 Merge branch 'feature/dedic_gpio_esp32s3' into 'master'
Dedicated gpio driver on esp32s3

Closes IDF-3387

See merge request espressif/esp-idf!14196
2021-07-06 03:20:04 +00:00
Michael (XIAO Xufeng)
c6716dcb39 Merge branch 'feature/esp32c3_usbjtag_console_blocking' into 'master'
USB_serial_jtag controller:  Add driver for supporting VFS on esp32c3(blocking implementation)

Closes IDF-3066 and IDF-3019

See merge request espressif/esp-idf!13414
2021-07-05 07:57:19 +00:00
Cao Sen Miao
3aa9ac2469 usb_serial_jtag: Add blocking driver to support vfs. 2021-07-05 11:22:38 +08:00
Michael (XIAO Xufeng)
acc1e543b0 Merge branch 'bugfix/fix_bit_error_in_ledc_struct' into 'master'
LEDC: fix bit error in ledc_struct.h

Closes DOC-1580

See merge request espressif/esp-idf!14161
2021-07-03 14:01:51 +00:00
Shu Chen
75bd02bd46 esp32h2: add some more fixes and TODOs 2021-07-01 20:36:39 +08:00
Shu Chen
ee23a489b9 esp32h2: code clean up 2021-07-01 19:53:50 +08:00
Shu Chen
205cd469e9 esp32h2: update driver/hal/soc components to support esp32h2 2021-07-01 19:53:11 +08:00
Shu Chen
983cca8b27 esp32h2: copy driver/hal/soc components from esp32c3
Copy the esp32c3 code without any change:
 * components/driver/esp32h2
 * components/esp32h2
 * components/hal/esp32h2
 * components/soc/esp32h2
2021-07-01 19:53:11 +08:00
Michael (XIAO Xufeng)
e8ff60544d Merge branch 'bugfix/channel_clk_independent' into 'master'
rmt: clean up and support esp32-s3 (no DMA support)

Closes IDF-3296 and IDFGH-5350

See merge request espressif/esp-idf!13244
2021-07-01 04:37:07 +00:00
morris
c8c3015018 dedic_gpio: support on esp32s3 2021-06-30 18:10:54 +08:00
Angus Gratton
57fa883127 esp32s3: Remove APB frequency RTC register
Usage of this register changed between ESP32-S3 beta2 and the
final chip.
2021-06-29 17:38:46 +10:00
Michael (XIAO Xufeng)
fc2905384c Merge branch 'feature/support_esp32s3_728_gpio_driver' into 'master'
gpio: update gpio driver to support esp32s3

Closes IDF-3224 and IDF-3273

See merge request espressif/esp-idf!13942
2021-06-28 09:49:01 +00:00
Ivan Grokhotkov
d7928bf1db Merge branch 'feature/esp32c3_apptrace' into 'master'
apptrace: refactoring & esp32c3 support

See merge request espressif/esp-idf!11702
2021-06-28 06:00:24 +00:00
bizhuangyang
78c67d2384 gpio:support gpio in/out/interrupt for esp32s3(728)
Add support of gpio for esp32s3(728). Adjust some pins and comments in test_gpio.c. Add support for gpio functions for gpio19 and gpio20. Update S3 programming guide Peripheral API: gpio and sigmadelta. Add unit test for input and output function of S3 USB pins(GPIO19 and GPIO20) and C3 USB pins(GPIO18 and GPIO19). Adjust input only test in test_spi_master.c.
2021-06-28 11:44:14 +08:00
Michael (XIAO Xufeng)
afc2bc94b3 Merge branch 'feature/add_opi_flash_psram_support' into 'master'
spi flash: opi flash psram support and spi timing tuning  support on 727

Closes IDF-3097

See merge request espressif/esp-idf!12946
2021-06-28 01:59:19 +00:00
Chen Yi Qun
a64fc3b452 LEDC: fix bit error in ledc_struct.h 2021-06-25 20:25:45 +08:00
Armando
bc248278f8 spiflash: add octal spi psram support on 727 2021-06-25 19:41:57 +08:00
Alexey Gerenkov
20fd09728f apptrace: Adds ESP32-C3 support 2021-06-24 13:16:14 +03:00
morris
40f350693f rmt: update soc data with regtool for esp32s3 2021-06-22 15:29:11 +08:00
morris
8d9e968d3f rmt: fix wrong macro of independent channel clock 2021-06-22 15:29:11 +08:00
morris
8e483e34a8 rmt: restructure rmt_signal_conn_t 2021-06-22 15:29:11 +08:00
morris
a1494809b2 rmt: clean up LL driver 2021-06-22 15:29:11 +08:00
Cao Sen Miao
f2fe0847d5 usb_serial_jtag: add initial support for S3 (including flashing, monitoring, writing, and reading) but console is not avaliable now 2021-06-18 12:42:41 +08:00
Michael (XIAO Xufeng)
bf3f315630 Merge branch 'soc/728_header' into 'master'
soc: update the csv headers for esp32s3(legacy format)

See merge request espressif/esp-idf!13926
2021-06-17 04:56:38 +00:00
Angus Gratton
059353b0c2 Merge branch 'feature/refactor_common_secure_boot_code' into 'master'
secure_boot/flash_encryption: Refactoring

Closes IDF-2582 and IDF-2035

See merge request espressif/esp-idf!12963
2021-06-16 23:21:45 +00:00
Konstantin Kondrashov
f339b3fc96 efuse(esp32): Deprecate esp_efuse_burn_new_values() & esp_efuse_write_random_key()
These functions were used only for esp32 in secure_boot and flash encryption.
Use idf efuse APIs instead of efuse regs.
2021-06-17 07:21:36 +08:00
Cao Sen Miao
11672dc9e5 soc: update the csv headers for esp32s3 2021-06-16 18:04:18 +08:00
Marius Vikhammer
693d4a69d8 uart: update S3 uart soc reg headers 2021-06-15 13:39:51 +08:00
Angus Gratton
eca878b37f Merge branch 'feature/728_crypto_bringup' into 'master'
aes/sha/rsa: 728 bringup

Closes IDF-1792, IDF-1789, and IDF-1788

See merge request espressif/esp-idf!13874
2021-06-11 03:05:40 +00:00
morris
d4fe219c49 mcpwm: refactor driver 2021-06-09 12:27:01 +08:00
Marius Vikhammer
bdfda351bd build docs: enable building of S3 docs
* Added suport for building esp32s3 docs
 * Fixed all related warnings
 * Activated building of S3 docs for build HTML fast CI job
2021-06-09 09:30:36 +08:00
Marius Vikhammer
4786f2d88a aes/sha/rsa: update registers for ESP32-S3
Updates register headers for ESP32-S3 and default
crypto accelerators for S3 to enabled
2021-06-08 14:15:18 +08:00
Michael (XIAO Xufeng)
e005ec0899 Merge branch 'feature/s3_base_support' into 'master'
soc: S3 base support

See merge request espressif/esp-idf!13827
2021-06-07 12:07:08 +00:00
Angus Gratton
0f1b24891b Merge branch 'bugfix/esp32_u4wdh_quad_io' into 'master'
bootloader: Fix selection of Quad I/O modes on ESP32-U4WDH chip

Closes IDFGH-4353

See merge request espressif/esp-idf!13111
2021-06-07 04:50:54 +00:00
Marius Vikhammer
19a492bc8d soc: add base support for ESP32-S3
Updates the following with changes from verification branches:

 * esp_rom linker files
 * rtc_cntl and system reg and struct headers

Also updates:
 * GDMA driver with new register layout
 * esptool submodule commit
2021-06-07 10:40:14 +08:00
Angus Gratton
2aa48c9558 Merge branch 'doc/performance_guide' into 'master'
doc: Add performance guides for execution speed, binary size, RAM usage

Closes IDF-1136, IDF-486, IDF-487, IDF-485, IDFGH-5238, IDFGH-4923, IDFGH-1516, and IDFGH-408

See merge request espressif/esp-idf!13564
2021-06-04 02:17:26 +00:00
Angus Gratton
dc6b950257 doc: Add performance guides for execuion speed, binary size, RAM usage
Closes https://github.com/espressif/esp-idf/issues/7007
Closes https://github.com/espressif/esp-idf/issues/6715
Closes https://github.com/espressif/esp-idf/issues/3781
Closes https://github.com/espressif/esp-idf/issues/2566
2021-06-03 13:55:34 +10:00
Alex Lisitsyn
46020fe13a usb/hal/soc: initial copy of usbh support from esp32s2
copy required usbh driver files from esp32s2
check usb host functionality using unit tests on esp32s3
2021-06-02 17:57:50 +08:00
Michael (XIAO Xufeng)
2e4d3ad880 Merge branch 'feature/bringup_esp32s3beta_cmake_sdmmc' into 'master'
esp32s3: add sdmmc support

Closes IDF-1569

See merge request espressif/esp-idf!8304
2021-05-20 04:22:11 +00:00
Marius Vikhammer
9b4ba3d707 crypto: initial S3 Beta 3 bringup and testing for SHA/AES/RSA/flash enc 2021-05-18 11:25:41 +08:00
Michael (XIAO Xufeng)
12f42f84e7 Merge branch 'bugfix/s3_i2c_fifo_access' into 'master'
bugfix ll_hal: Access ESP32-S3 I2C FIFO using 32bits

See merge request espressif/esp-idf!13538
2021-05-17 02:49:43 +00:00
Darian Leung
3bb5f86a53 Fix incorrect D- pulldown and cleanup USB device struct
This commit fixes the incorrect setting of the D- pulldown resistor in the USB LL.
The usb_struct.h used by USB device mode has also been cleaned up.
2021-05-13 17:18:35 +08:00
me-no-dev
c31ba2b21b Change i2c_struct to force 32bit access 2021-05-13 11:26:14 +03:00
Michael (XIAO Xufeng)
e941bc838c Merge branch 'feature/lcd_driver' into 'master'
esp_lcd component panel driver

Closes IDF-2933 and IDF-2934

See merge request espressif/esp-idf!12813
2021-05-13 04:29:07 +00:00
Jiang Jiang Jian
3c30e688c4 Merge branch 'feature/support_auto_adjust_voltage_storingInEfuse_openGlitchRst' into 'master'
ESP32C3: auto adjust voltage dbias storing in efuse and open glitch reset for ECO3

See merge request espressif/esp-idf!13395
2021-05-13 03:49:59 +00:00
morris
e10202a608 lcd: add esp_lcd component
* Support intel 8080 LCD panel IO on ESP32-S3
* Support RGB LCD panel on ESP32-S3
* Support SPI && I2C LCD panel IO on all esp chips
2021-05-12 17:53:32 +08:00
Ivan Grokhotkov
17c65dad27 soc: add esp32s3 sdmmc support
* sync the latest struct header file from ESP32
* add soc_caps.h macros to distinguish between IO MUX and GPIO Matrix
  support in SDMMC on different chips.
* store GPIO matrix signal numbers in sdmmc_slot_info_t
2021-05-10 23:21:27 +02:00
Ivan Grokhotkov
bd3a6dda87 soc: esp32s2: remove SDMMC header files
no SDMMC peripheral in this chip
2021-05-10 23:21:27 +02:00
chaijie
eea76d14bb ESP32C3: auto adjust voltage dbias storing in efuse and open glitch reset for ECO3
1. add some efuse api to get rtc & digital voltage
2. set dig_rtc voltage to a fix value storing in efuse no mater which cpu frequency
3. modify hardware code in bootloader to fit all c3 ECO3 version
2021-05-08 17:56:54 +08:00
Michael (XIAO Xufeng)
758238a8a1 Merge branch 'bugfix/separate_gdma_tx_rx_interrupt' into 'master'
gdma: separate tx/rx channel interrupt

Closes IDF-3181

See merge request espressif/esp-idf!13367
2021-05-06 16:38:44 +00:00
Michael (XIAO Xufeng)
3f2f80effc Merge branch 'feature/support_esp32s3_tinyusb_driver' into 'master'
soc/hal/tinyusb: add tinyusb support esp32s3

Closes IDF-2692

See merge request espressif/esp-idf!12668
2021-05-06 08:21:01 +00:00
Alex Lisitsyn
ea6710ce98 soc/hal: add tinyusb support esp32s3
add usb hal/soc, usb_ll files and esp32s3 target for usb
move usb_hal.h into soc common folder
soc/hal: fix soc and periph for usb
tinyusb: fix tinyusb io header
hal: usb_ll fix pull up/down config for esp32s3
soc/hal: fix peripheral addresses
2021-05-06 16:20:54 +08:00
morris
6e981af406 gdma: separate tx/rx channel interrupt 2021-05-06 15:06:37 +08:00
Michael (XIAO Xufeng)
58490418ad Merge branch 'feature/merge_c3_caps' into 'master'
soc: merge C3 caps into a single soc_caps.h

See merge request espressif/esp-idf!13337
2021-05-06 05:56:42 +00:00
Michael (XIAO Xufeng)
76fbb689fd Merge branch 'bugfix/remove_uart2_c3' into 'master'
uart: remove misleading ld files and soc defs for UART2

See merge request espressif/esp-idf!13340
2021-04-29 05:18:25 +00:00
Jeroen Domburg
644f430a31 Merge branch 'feature/esp32c3_usbjtagserial_console' into 'master'
USB serial/jtag controller: Add vfs (logging/printf), panic handler, gdb support.

See merge request espressif/esp-idf!12925
2021-04-28 08:38:31 +00:00
Jeroen Domburg
2c75f63f89 * ets_delay_us(1) has too much overhead; change logic
* Fix MR comments
2021-04-28 16:38:24 +08:00
Michael (XIAO Xufeng)
41937a9f97 Merge branch 'feature/support_spi_on_727' into 'master'
spi: support spi on 727

Closes IDF-3178

See merge request espressif/esp-idf!13346
2021-04-28 08:16:15 +00:00
Marius Vikhammer
504a1e6102 soc: merge C3 caps into a single soc_caps.h 2021-04-28 14:42:35 +08:00
Michael (XIAO Xufeng)
3ed5d97771 Merge branch 'bugfix/fix_touch_sensor_measure_start_wait_time' into 'master'
Bugfix(Touch):  fix the touch sensor wait cycle after wakeup from sleep

See merge request espressif/esp-idf!13116
2021-04-27 12:50:06 +00:00
Michael (XIAO Xufeng)
a0d13a31ec uart: fix misleading files for UART2
Includes: header files, ld files and clk.c

ESP32-C3 only have UART0 and UART1.
2021-04-27 17:40:19 +08:00
Armando
831b6127d7 spi: update interrupt set in spi_ll.h 2021-04-27 11:11:00 +08:00
Armando
b53a68bf70 spi: update spi_struct and spi_reg to 727 2021-04-27 11:11:00 +08:00
Cao Sen Miao
0d81edb174 spi_flash: refactoring flash encryption into new api 2021-04-25 17:09:25 +08:00
Ivan Grokhotkov
ea7d020f20 Merge branch 'feature/ubsan' into 'master'
system: add option to enable undefined behavior sanitizer (UBSAN)

Closes IDF-166 and IDF-1824

See merge request espressif/esp-idf!11318
2021-04-23 09:27:42 +00:00
Angus Gratton
96c2acd9a8 Merge branch 'refactor/strip_systimer_hal_layer' into 'master'
refactor HAL driver of systimer to a common systimer_hal

Closes IDF-2996

See merge request espressif/esp-idf!13027
2021-04-23 07:45:31 +00:00
fuzhibo
928c5b6ce3 Driver(Touch sensor): fix the touch sensor wait cycle after wakeup from sleep 2021-04-23 02:59:58 +00:00
Ivan Grokhotkov
da90775d98 hal: mpu: fix signed overflow error 2021-04-22 23:33:47 +02:00
morris
7c1e1c9e2d systimer: update soc data 2021-04-22 21:07:35 +08:00
Darian Leung
54eb152a96 TWAI: Simply caps and remove unused caps 2021-04-16 18:36:18 +08:00
Angus Gratton
bc3d45026c Merge branch 'bugfix/deep_sleep_skip_verify_rtc_mem_heap' into 'master'
Fix bootloader "skip validate on exiting deep sleep" option if "use RTC memory as heap" is enabled

See merge request espressif/esp-idf!12032
2021-04-15 23:56:39 +00:00
wangmengyang
ae8f66889b fix bit definition for SYSTEM_WIFI_CLK_WIFI_EN, sync with ESP32-C3 2021-04-15 22:03:36 +08:00
Angus Gratton
bfa9ec70f2 esp32s3: Add support for reusing RTC memory as heap 2021-04-15 16:24:44 +10:00
Darian Leung
7087f80b1e Update TWAI driver docs and registers for esp32c3
This commit updates the documentation and register struct
of the TWAI driver for the ESP32-C3. Note that the register
fields for ESP32-S3 have also been updated.
2021-04-14 15:00:07 +08:00
Michael (XIAO Xufeng)
f5f3c7143c Merge branch 'feat/c3_driver_api_cleanup_gpio' into 'master'
gpio, rtcio: removed unsupported features on different targets

See merge request espressif/esp-idf!13103
2021-04-13 06:51:33 +00:00
Michael (XIAO Xufeng)
6ab5b9cbf9 gpio, rtcio: removed unsupported features on different targets 2021-04-13 13:21:08 +08:00
Angus Gratton
268b23db96 bootloader: Fix selection of Quad I/O modes on ESP32-U4WDH chip
Closes https://github.com/espressif/esp-idf/issues/6191
2021-04-12 18:49:17 +10:00
morris
75dfd970b4 dac: added DAC support macro
Remove DAC support on ESP32-S3
2021-04-12 12:04:46 +08:00
Michael (XIAO Xufeng)
925dacd7fb Merge branch 'bugfix/remove_HSPI_macro_on_c3' into 'master'
spi: remove HSPI macros on esp32c3 and esp32s3

Closes IDF-2535

See merge request espressif/esp-idf!12637
2021-04-08 09:33:18 +00:00
Michael (XIAO Xufeng)
d21ca33e40 Merge branch 'bugfix/fix_bootloader_time_too_long_bug' into 'master'
esp32s2/esp32c3: decrease boot up and cpu start up time

See merge request espressif/esp-idf!12725
2021-04-06 06:34:57 +00:00
Armando
9b9ea71ff9 spi: remove HSPI macro on esp32c3 and esp32s3 2021-04-06 13:42:49 +08:00
Angus Gratton
6b57f33858 Merge branch 'refactor/movements_from_target_components' into 'master'
Movement from target components 1

See merge request espressif/esp-idf!12482
2021-04-05 02:37:21 +00:00
chaijie
f9de69586b esp32s2/esp32s3/esp32c3: Decrease bootloader cost time 2021-04-01 06:19:34 +00:00
chaijie
c101fc3e3d fix c3 hardware bug before ECO3 and optimizate bbpll config:
1. deepsleep poweron reset bug in high temperature before ECO3;
2. brownout reset bug before ECO2;
3. bbpll voltage low bug before ECO3;
4. need xpd iph for xtal before ECO3;
2021-03-31 13:08:56 +00:00
Renz Bagaporo
bbc599493e esp32: move common fragment definitions 2021-03-31 19:17:33 +08:00
Darian Leung
2f58060921 TWAI: FIFO overrun handling and errata workarounds
This commit adds handling for FIFO overruns and
adds workarounds for HW errats on the ESP32.

Closes https://github.com/espressif/esp-idf/issues/2519
Closes https://github.com/espressif/esp-idf/issues/4276
2021-03-30 14:17:31 +08:00
Armando
a5295af829 adc: update adc header files on c3 2021-03-26 12:04:46 +08:00
Krzysztof Budzynski
1953af4fb2 Merge branch 'doc/c3_system_api' into 'master'
docs: update system api reference chapters for C3

Closes IDF-2327 and IDF-2320

See merge request espressif/esp-idf!12730
2021-03-24 10:28:19 +00:00
Angus Gratton
c676c94445 Merge branch 'bugfix/fix_coredump_fake_stack_bug' into 'master'
espcoredump: Fix bugs related to (fake) stacks

See merge request espressif/esp-idf!12581
2021-03-24 06:55:42 +00:00
Angus Gratton
fa2946d651 Merge branch 'feature/support_esp32s3_beta_3' into 'master'
Support ESP32S3 beta 3 target

Closes IDF-2908

See merge request espressif/esp-idf!12661
2021-03-23 10:17:58 +00:00
Marius Vikhammer
c24e3aa931 soc: update efuse address 2021-03-23 11:34:18 +08:00
Michael (XIAO Xufeng)
67ba80f2ec Merge branch 'bugfix/reduce_the_consumption_of_touch_sensor_during_deep_sleep' into 'master'
fix: reduce the consumption of touch sensor during deep sleep

See merge request espressif/esp-idf!12248
2021-03-22 07:10:44 +00:00
Angus Gratton
54edd4fc58 Merge branch 'feature/wdt_c3' into 'master'
wdt: Fix RTC_SLOW_CLK for chips, corrects WDT timeout.

Closes IDF-2118 and IDF-2332

See merge request espressif/esp-idf!12796
2021-03-22 06:48:58 +00:00
Michael (XIAO Xufeng)
3a90d51831 Merge branch 'refactor/using_isr_callback_in_timer_example' into 'master'
TIMG: clean up timer example and add example test

Closes IDF-2722, IDF-2766, and IDF-2347

See merge request espressif/esp-idf!12218
2021-03-22 06:36:32 +00:00
Omar Chebib
e533431095 espcoredump: Fix bugs related to (fake) stacks
Add support to tasks stacks in RTC DRAM. Before this fix, any stack
in RTC DRAM would have been considered as corrupted, whichi is not
the case.
Fix a bug related to wrong parameters passed to esp_core_dump_get_stack.
Fix a bug reading fake stack memory, triggering a memory violation.

* Closes https://github.com/espressif/esp-idf/issues/6751
* Merges https://github.com/espressif/esp-idf/pull/6750
2021-03-22 11:38:21 +08:00
Mahavir Jain
6b1a83b38b Merge branch 'bugfix/fix_rtc_memory_region_name' into 'master'
esp32c3: correct name for RTC memory region in heap

See merge request espressif/esp-idf!12790
2021-03-19 04:53:39 +00:00
KonstantinKondrashov
aa1338bf23 wdt: Fix timeout and RTC_SLOW_CLK
RTC_SLOW_CLK
ESP32:    150kHz
ESP32-S2:  90kHz
ESP32-S3: 150kHz
ESP32-C3: 150kHz
2021-03-19 00:15:18 +08:00
Mahavir Jain
277e277690 esp32c3: correct name for RTC memory region in heap 2021-03-18 17:53:26 +05:30
Marius Vikhammer
e83d213c56 rtc: add rtc related changes from feature/support_7.2.7_soc 2021-03-18 15:23:31 +08:00
Marius Vikhammer
2aead8ba57 Support ESP32S3 Beta 3 target
Update ROM API. Port changes from bringup branch.
2021-03-18 10:24:22 +08:00
Marius Vikhammer
e2919eca8e soc: add soc headers from S3 fpga bringup branch 2021-03-17 18:47:51 +08:00
morris
3b66958b33 mcpwm: added peripheral signal description list 2021-03-16 21:54:00 +08:00
morris
f5ca47c0fc mcpwm: rename macros related to soc capbility 2021-03-16 21:53:59 +08:00
morris
5a520cacf1 timer_group: correct timer_ll_set_divider 2021-03-16 17:56:37 +08:00
Marius Vikhammer
91439e3818 docs: updated system api-reference chapters for C3 2021-03-15 18:51:12 +08:00
fuzhibo
6b361ed70f fix: reduce the consumption of touch sensor during deep sleep 2021-03-15 03:59:54 +00:00
morris
d0be56b8fe lcd: add LL driver for esp32-s3 2021-03-13 22:31:30 +08:00
Jiang Jiang Jian
ae65cffff0 Merge branch 'bugfix/esp32c3_light_sleep_default_params_optimize' into 'master'
light sleep: some default parameters optimization

See merge request espressif/esp-idf!12461
2021-03-11 03:33:46 +00:00
Angus Gratton
fd164b82b6 Merge branch 'refactor/move_from_xtensa' into 'master'
Movements from xtensa

Closes IDF-2164

See merge request espressif/esp-idf!10556
2021-03-11 00:24:25 +00:00
Li Shuai
92ddbcda05 deep sleep: power down wifi and bt during deep sleep 2021-03-10 18:22:41 +00:00
Marius Vikhammer
fe71a8e340 aes/sha: use a shared lazy allocated GDMA channel for AES and SHA
Removed the old dynamically allocated GDMA channel approach.
It proved too unreliable as we couldn't not ensure consumers of the mbedtls
would properly free the channels after use.

Replaced by a single shared GDMA channel for AES and SHA, which won't be
released unless user specifically calls API for releasing it.
2021-03-09 09:23:05 +08:00
Angus Gratton
70e13752ae Merge branch 'feature/rtc_time_get' into 'master'
rtc: Clean up for S2,S3,C3

Closes IDF-2569

See merge request espressif/esp-idf!12336
2021-03-05 01:16:15 +00:00
KonstantinKondrashov
b31bf01484 rtc: Clean up for S2,S3,C3 2021-03-01 16:51:15 +08:00
Marius Vikhammer
6334b5e56f docs: update api-reference chapters for C3
Checked and updated the following chapters:
 * api-reference/network
 * api-reference/protocols
 * api-reference/provisioning
 * api-reference/storage
 * api-reference/peripherals/ds
 * api-reference/peripherals/hmac
 * api-reference/peripherals/secure_element
2021-03-01 14:58:08 +08:00
Renz Bagaporo
1efdcd69d9 xtensa: move out trax 2021-02-26 19:45:48 +08:00
Jiang Jiang Jian
53cd589bcc Merge branch 'bugfix/wifi_phy_register_backup' into 'master'
esp_wifi: store PHY digital registers before disabling PHY and load them after enabling PHY

See merge request espressif/esp-idf!12059
2021-02-26 10:01:52 +00:00
Cao Sen Miao
a8343bc470 esp_system: support gpio wakeup from deep sleep on esp32c3 2021-02-26 12:26:49 +08:00
Xia Xiaotian
ce8b996ca0 esp_wifi: synchronize Wi-Fi adapter between different chips
Support preferring to allocate Wi-Fi memory from PSRAM on ESP32-S3

Support Wi-Fi TX cache buffer on ESP32-S3
2021-02-26 11:29:50 +08:00
Xia Xiaotian
f53c0c5b87 esp_wifi: store PHY digital registers before disabling PHY and load
them after enabling PHY
2021-02-26 11:29:50 +08:00
morris
7b37158ede rmt: distinguish group and channel in HAL layer 2021-02-25 12:42:23 +08:00
morris
6dc7f95342 mcpwm: fix wrong meta information 2021-02-22 20:23:35 +08:00
Omar Chebib
727481d71c gpio: enable GPIO19 on ESP32C3 boards 2021-02-22 08:44:55 +00:00
Armando
d0415bd8f6 spi: remove hard-coded DMA chan in soc_caps.h 2021-02-22 07:06:05 +00:00
Armando
c438ad5d72 spi: apply gdma allocator to SPI 2021-02-22 07:06:05 +00:00
Ivan Grokhotkov
a57d5813bf Merge branch 'bugfix/esp32_rtc_mem_registers_llvm_assembler' into 'master'
soc esp32: Removes parentheses from RTC_MEM_xyz macros that expand directly to single numbers

See merge request espressif/esp-idf!12331
2021-02-19 15:58:36 +00:00
Michael (XIAO Xufeng)
f5f6c59e63 Merge branch 'feature/apply_gdma_new_channel_api_to_adc' into 'master'
adc: apply gdma new channel api to adc

Closes IDF-2500

See merge request espressif/esp-idf!12008
2021-02-19 13:07:32 +00:00
KonstantinKondrashov
43ebb8ea61 efuse: Updates description of uart_print_control efuse 2021-02-08 18:02:55 +08:00
Armando
5427c18781 adc: apply gdma api to adc on esp32c3 2021-02-08 11:41:21 +08:00
Angus Gratton
2ec04b57de soc esp32: Removes parentheses from RTC_MEM_xyz macros that expand directly to single numbers
Not necessary in these cases, and prevents parens from expanding into the
assembly code such as added in 562ab01046  -
a pattern which is accepted by GCC assembler but illegal syntax for LLVM assembler.

As reported https://github.com/espressif/llvm-project/issues/35#issuecomment-726853574
2021-02-08 10:08:01 +11:00
Michael (XIAO Xufeng)
822a40a6cf Merge branch 'fix/adc_xpd_calibration' into 'master'
adc: fixed the issue that ADC power is left on after the calibration is done

See merge request espressif/esp-idf!12207
2021-02-05 16:28:53 +08:00
Angus Gratton
018d7c2551 Merge branch 'feature/add_pkg_and_revision_for_c3' into 'master'
efuse(esp32c3): Adds getting chip_revision and chip_pkg

See merge request espressif/esp-idf!12060
2021-02-04 16:04:36 +08:00
Michael (XIAO Xufeng)
0700129c5a soc: merge dac_caps.h into soc_caps.h for C3 2021-02-04 13:15:10 +08:00
Marius Vikhammer
548fd02d10 docs: initial update of programming guide for C3
Updates "front page" content, get-started, and api-guides with C3 content

Enable building and publishing of C3 docs in CI
2021-02-01 15:40:02 +08:00
Jiang Jiang Jian
28faf93c51 Merge branch 'feature/esp32c3_power_down' into 'master'
esp32c3 : power down MAC and BB only if both Wi-Fi and BT power down

Closes FC3-99

See merge request espressif/esp-idf!12076
2021-01-28 23:27:19 +08:00
baohongde
eef66789d4 Mac BB power down in light sleep
components/bt: Do not use feature: timer support isr dispatch method

disable controller after wake up finished.

protect critical section of power down

choose clk in sleep

components/coex: mac bb power down in light sleep

components/coex: Macro changed

components/os: protect reserved interrupt number

update phy to phy_version 300,6e46ba7,Jan 25 2021

some bugfix
2021-01-28 22:28:04 +08:00
Jiang Jiang Jian
9eae54f3be Merge branch 'bugfix/fix_a2dp_sink_crash_due_to_ble5.0_code' into 'master'
fix a2dp sink crash due to ble 5.0 code

Closes BT-1358, BT-1354, and BT-1356

See merge request espressif/esp-idf!12170
2021-01-28 19:41:54 +08:00
Angus Gratton
ae165c9b52 Merge branch 'bugfix/esp32s2_rom_address_range' into 'master'
soc: Fix SOC_IROM_MASK_HIGH address

Closes IDF-2672

See merge request espressif/esp-idf!12126
2021-01-28 13:49:27 +08:00
Martin Vychodil
69096ddce5 Security: ESP32C3 memory protection feature (IRAM0/DRAM0)
Software support for PMS module.
Allows controlled memory access to IRAM (R/W/X) and DRAM0 (R/W)
On/locked by default, configurable in Kconfig (esp_system)

Closes https://jira.espressif.com:8443/browse/IDF-2092
2021-01-27 08:44:03 +01:00
zhiweijian@espressif.com
28fd413bf5 fix ble restart faild when enable ble sleep 2021-01-27 14:45:03 +08:00
Michael (XIAO Xufeng)
c99e891201 Merge branch 'feature/sync_adc_changes_from_c3_to_master_last' into 'master'
adc: sync adc changes from c3 to master (last time)

Closes IDF-2694

See merge request espressif/esp-idf!12134
2021-01-26 12:52:20 +08:00
Michael (XIAO Xufeng)
2b83418141 adc: add fallback calibration method
Also:
1. Separate static configuration into init phase to improve
performance
2. Add a init code config layer to avoid duplicated configuration
3. Add a HW_CALIBRATION_V1 caps
2021-01-25 20:30:42 +08:00
KonstantinKondrashov
3ed226c362 efuse(esp32c3): Adds getting chip_revision and chip_pkg 2021-01-25 19:37:40 +08:00
Michael (XIAO Xufeng)
7a20ea5f0e Merge branch 'feature/support_flash_sus_res_c3' into 'master'
spi_flash: Add flash auto-suspend auto-resume mode on esp32c3

Closes IDF-2591

See merge request espressif/esp-idf!11888
2021-01-25 17:41:32 +08:00
Darian Leung
1fabfd005b soc: Fix SOC_IROM_MASK_HIGH address
The high address limit IROM on the esp32s2 is incorrect, thus
causing backtrace printing to think valid function PCs are invalid.
2021-01-25 14:54:25 +08:00
Armando
f9ec7ddda3 adc: add comment for ADC sampling frequency 2021-01-25 04:51:40 +00:00
Michael (XIAO Xufeng)
90fc3e7030 adc: update the monitor and filter in the HAL on C3
On C3 ADC has no enable bit for monitor and filter. However we can use context variables to implement one
2021-01-25 04:51:40 +00:00
Michael (XIAO Xufeng)
d7d1dee208 system: reset dma when soft reset 2021-01-25 04:51:40 +00:00
Cao Sen Miao
9905da46e0 spi_flash: Add auto suspend mode on esp32c3 2021-01-25 11:14:02 +08:00
KonstantinKondrashov
afef16c2e9 spi_flash: Support suspend/resume mode for operations
- Adds arbitration between the erase and write in suspend mode
     (If the flash memory is suspended then only a read operation can be performed.)
- espcoredump: Dump does not use suspend feature, just resume before continue.
- spi_flash: Add release_cpu() to do suspend/release_cpu/resume
2021-01-25 11:13:38 +08:00
Chen Jian Xing
f71adec8fb Support ESP32S3 (beta2) WiFi 2021-01-25 00:18:42 +08:00
Michael (XIAO Xufeng)
68034a5149 Merge branch 'bugfix/soc_rtcperi_rtcldo' into 'master'
fix rtc peripheral wakeup fail bug & clear rtc regulator force on configuration when in deepsleep

See merge request espressif/esp-idf!9709
2021-01-22 16:55:55 +08:00
Michael (XIAO Xufeng)
a08265aad8 Merge branch 'bugfix/fix_x32k_config_param' into 'master'
esp32s2/esp32s3: Improve 32k xtal startup time

See merge request espressif/esp-idf!11836
2021-01-22 16:42:54 +08:00
Angus Gratton
3532f52f60 Merge branch 'bugfix/ldgen_ignore_nonexistent_archives_and_obj' into 'master'
ldgen: check mappings

Closes IDF-1624

See merge request espressif/esp-idf!8557
2021-01-21 15:59:35 +08:00
Angus Gratton
fe8a891de9 Merge branch 'feature/support_esp32c3_master_cmake_secure_boot' into 'master'
bootloader/esp32c3: Support secure boot

Closes IDF-2115

See merge request espressif/esp-idf!11797
2021-01-21 08:42:49 +08:00
Michael (XIAO Xufeng)
db45f00860 Merge branch 'bugfix/fix_esp32c3_rf_40M_loss_package_bug' into 'master'
esp32c3: fix rf 40M loss package bug when CPU run 80M

See merge request espressif/esp-idf!12057
2021-01-20 18:48:52 +08:00
Angus Gratton
cfdd7f0f22 Merge branch 'feature/c3_crypto_gdma' into 'master'
AES/SHA: GDMA crypto driver

Closes IDF-2192 and IDF-2501

See merge request espressif/esp-idf!12014
2021-01-20 16:42:39 +08:00
Li Shuai
3170ecf268 deep sleep: add empty interface rtc_deep_sleep_start for esp32c3 2021-01-20 13:28:34 +08:00
chaijie
f6c61544ae esp32s2/esp32s3: Improve 32k xtal startup time 2021-01-20 03:51:21 +00:00
chaijie
7cf32b4387 esp32s2: Fix wakeup fail issue when pd peripheral in lightsleep.
esp32s2: fix wrong deepsleep configuration issue.

1. if RTC_CK8M_ENABLE_WAIT_DEFAULT set to 1, rtc peripherals will not poweron successfully if pd peripherals in light_sleep, the minimum RTC_CK8M_ENABLE_WAIT_DEFAULT is RTC_POWERUP_CYCLES + RTC_WAIT_CYCLES + 2;
2. when goto deepsleep after lightsleep waking up, rtc regulator should not force pu.
2021-01-20 03:51:07 +00:00
KonstantinKondrashov
88c5fe49b8 soc: Adds a soc_caps define for all chips to define the number of boot key digests 2021-01-19 20:51:13 +08:00
KonstantinKondrashov
98f726fa4b bootloader/esp32c3: Adds secure boot (not yet supported) 2021-01-19 20:51:13 +08:00
Li Shuai
f168ac3b39 light sleep: add cpu power down support for esp32c3 2021-01-19 14:51:50 +08:00
Li Shuai
a43de3a44b fix set UART_FORCE_XOFF can't stop new Tx request issue 2021-01-19 14:51:22 +08:00
Li Shuai
6d12fdd6e7 light sleep: add gpio configure workaround at slept status for esp32c3 2021-01-19 14:51:22 +08:00
Li Shuai
ac7d1bec76 light sleep: overhead time accuracy optimization for esp32c3 2021-01-19 14:50:58 +08:00
Li Shuai
aa7fd175b9 light sleep: light sleep support for esp32c3 2021-01-19 14:50:58 +08:00
chaijie
180d3fe44a esp32c3: fix rf 40M loss package bug 2021-01-19 14:09:00 +08:00
Renz Bagaporo
d1c800fbbb components: fix ldgen check errors 2021-01-19 11:17:18 +08:00
Marius Vikhammer
51169b0e0c AES/SHA: use GDMA driver instead of LL 2021-01-19 11:02:51 +08:00
Angus Gratton
5938b9a892 Merge branch 'feature/support_esp32c3_master_cmake_reset_reason' into 'master'
esp32c3: Add UTs for reset_reason

Closes IDF-2091

See merge request espressif/esp-idf!11546
2021-01-18 07:12:21 +08:00
Konstantin Kondrashov
d23c7690f2 esp32c3: Add UTs for reset_reason 2021-01-18 07:12:21 +08:00
ninh
27aa6c289f components/pm: Add slp gpio configure workaround 2021-01-15 15:34:45 +08:00
Marius Vikhammer
0713e93b8f TWAI: bringup for S3 and C3 2021-01-14 20:30:31 +08:00
morris
e6d23a35ec gdma: dynamic alloc DMA channels 2021-01-13 10:52:27 +08:00
Chen Jian Xing
5b44295cb9 esp_wifi: fix esp32c3 code issues
1. enable wifi clk and rm dport header
2.syn phy_init_data.h from esp32
2021-01-10 16:16:28 +08:00
Angus Gratton
5b68cf9de4 Merge branch 'feature/c3_ds' into 'master'
ESP32-C3 Digital Signature, HAL layer for DS.

Closes IDF-2111

See merge request espressif/esp-idf!10813
2021-01-07 13:07:28 +08:00
Jiang Jiang Jian
c05321424f Merge branch 'bugfix/lightsleep_accuracy_opt' into 'master'
Lightsleep overhead time accuracy optimization

See merge request espressif/esp-idf!11291
2021-01-06 14:02:10 +08:00
ninh
dc7bdb9857 adjust lightsleep overhead time and cali slowclk 2021-01-06 03:40:28 +00:00
morris
7a71cedf87 interrupt: filter out reserved int number by decoding risc-v JAL instruction 2021-01-05 15:39:46 +08:00
morris
9e7d2c0065 esp32c3: format and clean up interrupt and os port code 2021-01-05 15:39:46 +08:00
Felipe Neves
5d316ac142 interrupt: added INTC FLEXIBLE capabillity to esp32c3 CPU caps 2021-01-05 15:39:46 +08:00
Jakob Hasse
e532a29288 [Peripheral/Security] DS peripheral driver 2021-01-05 12:26:59 +08:00
Michael (XIAO Xufeng)
6b5377f11a gpio: fixed GPIO47 not available issue on ESP32s3 2021-01-04 20:21:06 +08:00
Marius Vikhammer
68608f804c esp32c3: Misc fixes needed to build & run 2020-12-31 15:20:05 +11:00
chaijie
d505474f78 1. Fix CPU switch to 160M issue;
2. increase lightsleep voltage to make sure wakeup successfully;
3. add judgement code to whether wait or not when switch CPU frequency.
2020-12-30 12:32:31 +08:00
Marius Vikhammer
eb788deb03 esp_hw_support: merge C3 changes to master
Merge RTC related C3 changes to master
2020-12-30 12:20:41 +08:00
Angus Gratton
629b4270b4 Merge branch 'feature/c3_mbedtls_merge' into 'master'
mbedtls: merge changes from C3 to master

Closes IDF-2544 and IDF-2114

See merge request espressif/esp-idf!11718
2020-12-29 12:37:08 +08:00
Angus Gratton
1b0442b963 Merge branch 'feature/unify_rtc_fast_mem_as_heap_config_across_chips' into 'master'
esp_system: make rtc fast memory to heap configuration unified across chips

Closes IDF-2503

See merge request espressif/esp-idf!11693
2020-12-29 11:41:05 +08:00
Marius Vikhammer
1b6891c5d8 mbedtls: merge changes from C3 2020-12-29 10:56:13 +08:00
Darian Leung
602a747b31 Add USB Host registers and types and LL layer
This commit adds the register struct, Low Level Layer, and
protocol types for USB Host
2020-12-24 19:43:42 +08:00
Angus Gratton
c3ba995f2c Merge branch 'ci/ccomp_performance_tests' into 'master'
unit_test: Refactor all performance tests that rely on cache compensated timer

See merge request espressif/esp-idf!11709
2020-12-24 13:44:52 +08:00
Mahavir Jain
880a63b2e9 esp_system: make rtc fast memory to heap configuration unified across chips
Closes IDF-2503
2020-12-24 09:46:35 +05:30
Angus Gratton
ed737becde soc: Move esp32c3 soc_memory_layout.c to soc component
Was incorrectly placed in esp_hw_support
2020-12-24 13:40:01 +11:00
Angus Gratton
b7f4c46a82 soc: Update esp32c3 soc headers
From internal commit 6d894813
2020-12-24 10:47:34 +11:00
Angus Gratton
6d6510c39b soc: Move esp32c3 soc_memory_layout.c to soc component
Was incorrectly placed in esp_hw_support
2020-12-23 11:49:16 +11:00
Angus Gratton
705d797b41 Merge branch 'feature/esp32c3_drivers' into 'master'
driver: Add esp32c3

Closes IDF-2363

See merge request espressif/esp-idf!11650
2020-12-23 08:43:31 +08:00
Armando
2d37bfa126 driver: Add adc_digi single conversion mode
- add lock for single read and continuous read APIs
- update onetime read start singal delay for hardware limitation[*]
- move adc_caps to soc_caps.h
- update license dates

[*] There is a hardware limitation. If the APB clock frequency is high, the
step of this reg signal: ``onetime_start`` may not be captured by the
ADC digital controller (when its clock frequency is too slow). A rough
estimate for this step should be at least 3 ADC digital controller
clock cycle.
2020-12-23 09:53:24 +11:00
Angus Gratton
fa892eb017 soc: Explain units for rtc_clk_cal() function, fix typo 2020-12-23 09:53:24 +11:00
Cao Sen Miao
e338a2e3df rtc: add function to en/disable the rtc clock 2020-12-23 09:53:24 +11:00
Angus Gratton
f09b8ae7a4 driver: Add esp32c3 ADC driver
Based on internal commit 3ef01301fffa552d4be6d81bc9d199c223224305
2020-12-23 09:53:24 +11:00
Angus Gratton
27a9cf861e driver: Add esp32c3 drivers (except ADC/DAC) and update tests
Some ESP32-C3 drivers are still pending.

Based on internal commit 3ef01301fffa552d4be6d81bc9d199c223224305
2020-12-23 09:53:24 +11:00
Marius Vikhammer
0a95151a75 unit_test: Refactor all performance tests that rely on cache compensated timer
There is no ccomp timer on C3, which means our performance tests will start
failing again due to variance caused by cache misses.

This MR adds TEST_PERFORMANCE_CCOMP_ macro that will only fail
performance test if CCOMP timer is supported on the target
2020-12-22 18:56:24 +11:00
boarchuz
06d6146445 fix rtc_gpio_desc_t compilation error
Closes https://github.com/espressif/esp-idf/pull/6029
Closes https://github.com/espressif/esp-idf/issues/6301
Closes IDFGH-4470
Closes IDFGH-4167
2020-12-21 13:54:52 +05:30
Cao Sen Miao
0736c91d68 soc: Remove cache constants from soc.h 2020-12-17 15:34:13 +11:00
Marius Vikhammer
457ce080ae AES: refactor and add HAL layer
Refactor the AES driver and add HAL, LL and caps.

Add better support for running AES-GCM fully in hardware.
2020-12-10 09:04:47 +00:00
Armando
d393699ab6 uart: bringup on esp32c3 2020-11-30 15:23:15 +11:00
Angus Gratton
b68094199f esp_rom: Add initial ESP32-C3 support
From internal commit 7761d6e8
2020-11-30 11:12:56 +11:00
Angus Gratton
c29d93986d soc: Add initial ESP32-C3 support
From internal commit 7761d6e8
2020-11-30 11:12:56 +11:00
Armando
fb8b905539 uart: add uart support on esp32s3 2020-11-24 19:12:51 +08:00
morris
c5fe158929 doc: fix wrong register description regarding to ethernet SMI 2020-11-16 13:30:49 +08:00
Michael (XIAO Xufeng)
14944b181e Merge branch 'fix/soc_caps_spi_dummy_output_esp32' into 'master'
soc_caps.h: remove spi cap that is defined to 0

See merge request espressif/esp-idf!11203
2020-11-16 10:39:27 +08:00
Michael (XIAO Xufeng)
099fca515d Merge branch 'bugfix/move_crypto_caps' into 'master'
SHA/RSA: moved all caps to soc_caps.h

Closes IDF-2300

See merge request espressif/esp-idf!11032
2020-11-13 11:06:44 +08:00
Angus Gratton
935e4b4d62 Merge branch 'feature/riscv_arch' into 'master'
Add RISC-V support

Closes IDF-2359

See merge request espressif/esp-idf!11140
2020-11-13 07:50:31 +08:00
Angus Gratton
420aef1ffe Updates for riscv support
* Target components pull in xtensa component directly
* Use CPU HAL where applicable
* Remove unnecessary xtensa headers
* Compilation changes necessary to support non-xtensa gcc types (ie int32_t/uint32_t is no
  longer signed/unsigned int).

Changes come from internal branch commit a6723fc
2020-11-13 07:49:11 +11:00
Michael (XIAO Xufeng)
caf83b88ba Merge branch 'feature/bringup_i2c_for_s3' into 'master'
I2C:  Add support for esp32s3 and add source clock allocator

Closes IDF-2011

See merge request espressif/esp-idf!10923
2020-11-12 22:12:58 +08:00
Cao Sen Miao
6eee601cf6 i2c: Add supports on esp32s3 2020-11-12 11:32:45 +08:00
morris
dc227c78e1 rmt: fix wrong signal assign on esp32 2020-11-12 10:31:38 +08:00
Michael (XIAO Xufeng)
5b6c965e99 soc_caps.h: remove spi cap that is defined to 0
According to the caps rule, for unsupported feature we don't define anything. 

Remove the define 0 that violates this rule.
2020-11-12 10:29:42 +08:00
Marius Vikhammer
488f46acf5 SHA/RSA: moved all caps to soc_caps.h 2020-11-12 02:15:46 +00:00
Angus Gratton
66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Angus Gratton
3882c2b8ed Merge branch 'feature/bringup_esp32s3_fpga_update_rmt_driver' into 'master'
rmt: support esp32s3

Closes IDF-1773

See merge request espressif/esp-idf!10292
2020-11-07 07:15:53 +08:00
Michael (XIAO Xufeng)
d7ce8a537f Merge branch 'feature/bringup_esp32s3_fpga_rtc_sleep' into 'master'
feature (rtc): update rtc related code(rtc_sleep rtc_init) to support esp32s3

See merge request espressif/esp-idf!10404
2020-11-05 19:19:36 +08:00
morris
ff976867b3 rmt: split TX and RX in LL driver
Split TX and RX function in LL driver.
Channel number is encoded in driver layer.
Added channel signal list in periph.c
2020-11-05 19:00:55 +08:00
chenjianqiang
9465af0066 rmt: support esp32s3 2020-11-05 19:00:55 +08:00
fuzhibo
93c7cf094e rtc: update rtc related code(rtc_sleep rtc_init) to support esp32s3 2020-11-04 02:43:41 +00:00
morris
e4c8ec6174 timergroup: move interrupt index into peripheral description file
1. Added timer_group_periph.c file, describing module global signals
   (e.g. interrupt index)
2. Added more caps in soc_caps.h
2020-11-03 18:16:50 +08:00
Michael (XIAO Xufeng)
35faecea1d Merge branch 'feature/support_sigma_delta_on_s3' into 'master'
sigma_delta: add periph signal list and support esp32-s3

See merge request espressif/esp-idf!10945
2020-10-30 17:22:02 +08:00
Michael (XIAO Xufeng)
8337f0afa2 spi_flash: fix LL of esp32s3 and add 32-bit support 2020-10-29 18:21:42 +08:00
Michael (XIAO Xufeng)
3bacf35310 esp_flash: support high capacity flash chips (32-bit address) 2020-10-29 18:20:11 +08:00
morris
17808b3ff8 sigma_delta: add periph signal list and support esp32-s3 2020-10-29 11:06:28 +08:00
Renz Bagaporo
6b0a5af73e soc: move implementations to esp_hw_support 2020-10-28 22:38:50 +08:00
Renz Bagaporo
79887fdc6c soc: descriptive part occupy whole component 2020-10-28 07:21:29 +08:00
Renz Bagaporo
988be69466 esp_hw_support: create component 2020-10-28 07:21:29 +08:00
Michael (XIAO Xufeng)
9a394e1aa0 Merge branch 'feature/spi_bringup_esp32s3' into 'master'
spi: bringup on esp32s3

See merge request espressif/esp-idf!10107
2020-10-27 00:51:42 +08:00
Michael (XIAO Xufeng)
bcb5c3506d Merge branch 'feature/dedicated_gpio' into 'master'
Dedicated GPIO driver on ESP32-S2 and ESP32-S3

Closes IDF-1672

See merge request espressif/esp-idf!8716
2020-10-26 15:33:33 +08:00
Michael (XIAO Xufeng)
8926216723 Merge branch 'bugfix/esp32s2_adc_rng_registers' into 'master'
esp32s2: Use regi2c registers to enable bootloader RNG

See merge request espressif/esp-idf!10941
2020-10-26 13:55:05 +08:00
Armando
f7e91ef6c1 spi: esp32s3 bringup for spi 2020-10-26 11:28:34 +08:00
Renz Bagaporo
e7460c1f00 soc: remove unecessary headers in dport_access.h 2020-10-22 19:42:34 +08:00
Angus Gratton
57d6026f97 Merge branch 'feature/efuse_support_for_esp32s3' into 'master'
efuse: Adds support for esp32-s3 chip

See merge request espressif/esp-idf!10491
2020-10-22 13:53:01 +08:00
Angus Gratton
639e97437f esp32s2: Use regi2c registers to enable bootloader RNG 2020-10-22 14:39:59 +11:00
morris
bb1369b922 dedicated gpio: add driver 2020-10-20 21:06:09 +08:00
morris
74d78148bc pcnt: add pcnt peripheral signal connections
pcnt: fix bug in clear interrupt status
2020-10-19 11:56:18 +08:00
Michael (XIAO Xufeng)
1966f00f0b soc: updates caps usage
We should define caps as 1 if true. When use the caps macros, #if and
 #if ! should be used instead of #ifdef/#ifndef.
2020-10-17 16:10:17 +08:00
Michael (XIAO Xufeng)
647dea9395 soc: combine xxx_caps.h into one soc_caps.h
During HAL layer refactoring and new chip bringup, we have several
caps.h for each part, to reduce the conflicts to minimum. But this is
The capabilities headers will be relataive stable once completely
written (maybe after the featues are supported by drivers).

Now ESP32 and ESP32-S2 drivers are relative stable, making it a good
time to combine all these caps.h into one soc_caps.h

This cleanup also move HAL config and pin config into separated files,
to make the responsibilities of these headers more clear. This is
helpful for the stabilities of soc_caps.h because we want to make it
public some day.
2020-10-17 16:10:15 +08:00
Michael (XIAO Xufeng)
ecca44df93 Merge branch 'bugfix/fix_adc-dma_reading_gap_for_esp32' into 'master'
bugfix(adc): missing ranges of ADC-DMA codes in ESP32

Closes DIG-53

See merge request espressif/esp-idf!10521
2020-10-16 23:02:35 +08:00
Angus Gratton
67baa8371a Merge branch 'feature/rename_analog_i2c_files' into 'master'
feature(rtc): rename i2c_xxx to regi2c_xxx

See merge request espressif/esp-idf!10672
2020-10-15 11:16:14 +08:00
fuzhibo
6773df88f2 feature(rtc): rename i2c_xxx to regi2c_xxx 2020-10-14 21:15:24 +08:00
KonstantinKondrashov
66b9b589cb efuse: Adds support for esp32-s2 chip 2020-10-14 16:26:51 +08:00
Felipe Neves
3057b76a7e tests: re-add all disabled tests and all disabled configurations 2020-10-14 16:11:49 +11:00
Felipe Neves
a3c90bf59a freertos: merged freertos 10 kernel files into IDF
freertos/port: update the port files and split into xtensa and riscv ports

freertos: separated cpu files from rest of the kernel sources

freertos/port_xtensa: separated private include files into a folder

freertos/tasks: added task create pinned to core function do not break current IDF API

freertos/tasks: mimiced task create pinned function into tasks.c to do not break the IDF API.

freertos: freertos component now compiling

freertos: freertos component now building

freertos: moved critical sections outside from FR kernel section to portable section

portmacro_xtensa: add void indentifier on functions that take no arguments

freertos: fix critical sections implementation to match with their function prototype

freertos: add cmake changes of freertos into make

freertos: remove portDONT_DISCARD attribute from switch context function, it was breaking the docs building.

freertos: fix conflicitng types of vApplicationSleep function

license: update the license of freertos

freertos: Doxygen comments refactored to render them correctly on docs

freertos: added new functions of freertos into the documentation

freertos: added message buffers and stream buffers to documentation

sysview: update freertos system view to the compatible with version 10

freertos: fixed event group  documentation rendering

freertos:  update static task structure to match the actual tcb size

freertos: removed backported test functions

freertos/smp: brought SMP code to  FreeRTOS 10 port

freertos/portmacro: added missing crosscore interrupt for yielding tasks

freertos: replaced soft-critical sections with hard-critical sections used by SMP

freertos: placed muxes inside of kernel objects

freertos: replaced original FR critical sections with SMP enabled spinlocks critical sections

freertos: moved xtensa port files to a separated folder

freertos: added multiple instance of global variables required to SMP

freertos: added SMP modifications on specific tasks module functions

freertos: added TLS deletion function to task module

freertos/tls: initialize TLS deletion callback to avoid crashing when calling task delete

freertos: modified vTaskDelete to do not erase current task that runs on other core

freertos: reverted taskhandle and timerhandle as void* type

freertos: fixed de-referencing void pointer to get run time counter

freertos: fix system view trace enter macro arguments

freertos: Replaced soft critical sections with spinlocks on event_groups

freertos: fixed tick function to avoid calling tick hooks twice

freertos: Nofity give checking per CPU if schedule is suspended

freertos: added mpu release on TCB deletion

freertos: Added SMP changes when deleting a TCB on idle task

freertos/license: update freertos license in COPYRIGHT.rst

freertos: unicore configurations can use task create pinned to core, it will be always pinned to core 0

freertos/portmacro: added cpu_hal_get_core_id() function instead of inline assembly

freertos/xtensa:  update xtensa specific files used in master branch

newlib/locks: revert the preemption checking in lock acquisition and release

ref_clock: fix initial state of ref_clock interrupt handler

freertos: added missing critical sections and yielding checkings

freertos: remove magic numbers in vTaskDelete

freertos: added missing critical section in prvIsQueueEmpty
2020-10-13 23:52:03 +00:00
Angus Gratton
ff8d05466e Merge branch 'bugfix/deep_sleep_stub_heap_rtc_fast_mem' into 'master'
deep sleep: Calculate RTC CRC without using any stack or other RTC heap memory

Closes IDF-2242

See merge request espressif/esp-idf!10741
2020-10-13 06:17:50 +08:00
fuzhibo
9cd5e6f8c9 bugfix(adc): missing ranges of ADC codes in ESP32 2020-10-12 07:41:03 +00:00
Angus Gratton
562ab01046 deep sleep: Calculate RTC CRC immediately before deep sleep, without using RAM
Fix for issues where RTC FAST memory is updated as part of going into deep
sleep. Very high risk if heaps are in RTC memory - in particular task stacks
may be in RTC memory, but also other variables.

Also fixes potential concurrency problems as RTC FAST memory is not accessible
by CPU during the CRC calculation itself.

Method:
- Disable interrupts (currently for single core only, will need update for S3)
- Load all registers before calculating CRC or going to sleep
2020-10-12 11:19:56 +11:00
Marius Vikhammer
949fb8e63a SHA: add HAL layer and refactor driver
Add a LL and HAL layer for SHA.
2020-10-09 08:24:08 +00:00
Angus Gratton
d6f8e9dfa8 Merge branch 'bugfix/delete_unneeded_cpu_h' into 'master'
esp32s2, esp32s3: delete unneeded cpu.h

See merge request espressif/esp-idf!10716
2020-10-09 13:54:56 +08:00
Martin Vychodil
497b730e8f * memprot support for RTC_SLOW
* API upgrade
JIRA IDF-1636
2020-10-08 11:19:23 +08:00
Angus Gratton
1eefe6494c Merge branch 'feature/rsa_caps' into 'master'
RSA: add max RSA bit len as a soc caps

See merge request espressif/esp-idf!10594
2020-10-05 12:56:28 +08:00
Renz Bagaporo
72176e275d esp32s2, esp32s3: delete unneeded cpu.h 2020-09-30 17:58:00 +08:00
Michael (XIAO Xufeng)
f4aacbef9b Merge branch 'feature/support_access_internal_i2c_register' into 'master'
feature(rtc): add new APIs support access internal i2c register

See merge request espressif/esp-idf!10039
2020-09-29 08:08:51 +08:00
fuzhibo
247789bb2e rtc: support access internal i2c register 2020-09-27 12:12:17 +08:00
Renz Bagaporo
6462f9bfe1 esp32, esp32s2: create esp_pm component 2020-09-25 05:24:10 +00:00
Marius Vikhammer
3c14900a95 RSA: add max RSA bit len as a soc caps 2020-09-24 16:52:50 +08:00
Armando
1e1beb69aa spi: fix build fail issue when target is esp32s3 2020-09-24 10:51:23 +08:00
Michael (XIAO Xufeng)
3c2f2aaffe Merge branch 'docs/spi_flash_readme_update' into 'master'
hal: Update readme aftering extracting hal document from soc document

See merge request espressif/esp-idf!10453
2020-09-23 13:33:08 +08:00
Cao Sen Miao
5baf124219 docs: update readme aftering extracting hal document from soc document 2020-09-23 11:47:23 +08:00
Renz Bagaporo
6d7606aee5 soc: remove unecessary compile line include dir orderding control 2020-09-23 02:53:03 +00:00
Renz Bagaporo
7f5893d53c soc: move dac_hal to hal 2020-09-23 02:53:03 +00:00
Renz Bagaporo
01d9aa8070 soc: move mpu_hal test to hal component 2020-09-23 02:53:03 +00:00
Renz Bagaporo
2bcf99527c soc: move out rtc_hal to hal component 2020-09-23 02:53:03 +00:00
morris
9fa06719fa global: enable build uinit test for esp32-s3 2020-09-22 15:15:03 +08:00
morris
75a372a9f0 unit_test: support reference clock, test delay function 2020-09-22 15:15:03 +08:00
morris
61f89b97c6 bringup esp32-s3 on FPGA 2020-09-22 15:15:03 +08:00
Cao Sen Miao
d7e50c6457 spi_flash:bringup some flash supports for esp32s3 2020-09-22 15:15:03 +08:00
chenjianqiang
f19cabb7e4 psram: support psram for esp32s3 2020-09-22 15:15:03 +08:00
Angus Gratton
3f034a5005 spiram: Add soc macro for SPIRAM address space size, use it where applicable
Reference https://github.com/espressif/esp-idf/pull/5373
2020-09-21 11:43:55 +10:00
negativekelvin
5eb5bb5f72 Fix reserved psram region
Closes https://github.com/espressif/esp-idf/pull/5373

Closes https://github.com/espressif/esp-idf/issues/5821
2020-09-21 11:39:54 +10:00
Michael (XIAO Xufeng)
fefdee1349 bootloader: fix the WRSR format for ISSI flash chips
1. The 2nd bootloader always call `rom_spiflash_unlock()`, but never help to clear the WEL bit when exit. This may cause system unstability.

   This commit helps to clear WEL when flash configuration is done.

   **RISK:** When the app starts, it didn't have to clear the WEL before it actually write/erase. But now the very first write/erase operation should be done after a WEL clear. Though the risk is little (all the following write/erase also need to clear the WEL), we still have to test this carefully, especially for those functions used by the OTA.

2. The `rom_spiflash_unlock()` function in the patch of ESP32 may (1) trigger the QPI, (2) clear the QE or (3) fail to unlock the ISSI chips.

   Status register bitmap of ISSI chip and GD chip:

| SR | ISSI | GD25LQ32C |
| -- | ---- | --------- |
| 0  | WIP  | WIP       |
| 1  | WEL  | WEL       |
| 2  | BP0  | BP0       |
| 3  | BP1  | BP1       |
| 4  | BP2  | BP2       |
| 5  | BP3  | BP3       |
| 6  | QE   | BP4       |
| 7  | SRWD | SRP0      |
| 8  |      | SRP1      |
| 9  |      | QE        |
| 10 |      | SUS2      |
| 11 |      | LB1       |
| 12 |      | LB2       |
| 13 |      | LB3       |
| 14 |      | CMP       |
| 15 |      | SUS1      |

   QE bit of other chips are at the bit 9 of the status register (i.e. bit 1 of SR2), which should be read by RDSR2 command.

   However, the RDSR2 (35H, Read Status 2) command for chip of other vendors happens to be the QIOEN (Enter QPI mode) command of ISSI chips. When the `rom_spiflash_unlock()` function trys to read SR2, it may trigger the QPI of ISSI chips.

   Moreover, when `rom_spiflash_unlock()` try to clear the BP4 bit in the status register, QE (bit 6) of ISSI chip may be cleared by accident. Or if the ISSI chip doesn't accept WRSR command with argument of two bytes (since it only have status register of one byte), it may fail to clear the other protect bits (BP0~BP3) as expected.

   This commit makes the `rom_spiflash_unlock()` check whether the vendor is issi. if so, `rom_spiflash_unlock()` only send RDSR to read the status register, send WRSR with only 1 byte argument, and also avoid clearing the QE bit (bit 6).

3. `rom_spiflash_unlock()` always send WRSR command to clear protection bits even when there is no protection bit active. And the execution of clearing status registers, which takes about 700us, will also happen even when there's no bits cleared.

   This commit skips the clearing of status register if there is no protection bits active.

Also move the execute_flash_command to be a bootloader API; move
implementation of spi_flash_wrap_set to the bootloader
2020-09-19 10:51:51 +08:00
Angus Gratton
0fe231d2b3 Merge branch 'feature/pkg_ver_uses_4_bits' into 'master'
efuse/esp32: Expands PKG_VER from 3 bit to 4 bits

Closes IDF-1919

See merge request espressif/esp-idf!9949
2020-09-17 18:21:08 +08:00
KonstantinKondrashov
2373f115fc efuse/esp32: Expands PKG_VER from 3 bit to 4 bits
Closes: IDF-1919
2020-09-17 07:44:37 +00:00
morris
a3cc43485f async memcpy: support async memcopy on esp32s2/s3
Added async memory copy API:
on esp32-s2, the implementation is based on CP_DMA
on esp32-s3, the implementation is based on GDMA
2020-09-16 21:30:54 +08:00
Michael (XIAO Xufeng)
1a1e1911f9 Merge branch 'bugfix/spi_dma_close_before_cpu_reset' into 'master'
spi: fix issue with closing DMA before CPU reset

Closes FCS-484

See merge request espressif/esp-idf!9844
2020-09-14 23:02:05 +08:00
Marius Vikhammer
b2f390df01 hal: update link to HAL readme.md
The HAL readme was moved during refactoring, but links were not updated.
2020-09-11 15:48:08 +08:00
Jakob Hasse
20c068ef3b cmock: added cmock as component
* changing dependencies from unity->cmock
* added component.mk and Makefile.projbuild
* ignore test dir in gen_esp_err_to_name.py
* added some brief introduction of CMock in IDF
2020-09-02 16:38:37 +08:00
Michael (XIAO Xufeng)
5425ef4ee4 hal: extract hal component from soc component 2020-09-01 13:25:32 +08:00
Krzysztof Budzynski
94cc8fc4b3 Merge branch 'doc/tinyusb' into 'master'
TinyUSB documentation

See merge request espressif/esp-idf!8862
2020-08-31 20:57:29 +08:00
Michael (XIAO Xufeng)
2b323e7180 Merge branch 'bugfix/fix_dac_driver_ut' into 'master'
Driver(dac): fix DAC-DMA driver and unit test

Closes IDF-1407

See merge request espressif/esp-idf!8814
2020-08-31 00:05:34 +08:00
Andrei Gramakov
c863b4c777 docs: tinyusb documentation 2020-08-27 13:49:33 +02:00
fuzhibo
0914dfbb6a dfiver(dac): add dac dma driver and unit test 2020-08-26 06:23:24 +00:00
fuzhibo
bd92e95160 driver(adc): add adc-dma code for esp32 2020-08-26 03:54:02 +00:00
me-no-dev
0aa1c13027 Fix USB CLK always reset and USB with swapped pins not working 2020-08-25 10:59:59 +03:00
Michael (XIAO Xufeng)
8a9dc46b14 Merge branch 'bugfix/spi_master_add_dummy_check' into 'master'
spi_master: add dummy check when both mosi and miso are set

Closes IDF-1872 and IDF-266

See merge request espressif/esp-idf!9406
2020-08-23 12:47:18 +08:00
David Čermák
e2f72f449c Merge branch 'feature/ethernet_flow_control' into 'master'
ethernet: support flow control

Closes IDF-1207, WIFI-2510, WIFI-2290, WIFI-2291, WIFI-2507, WIFI-2508, WIFI-2612, and IDFGH-3465

See merge request espressif/esp-idf!9643
2020-08-21 14:33:30 +08:00
Armando
aa93347972 spi: remove spi4 related macros and codes 2020-08-17 21:32:15 +08:00
Renz Bagaporo
4f5135030f esp_system: remove register level operations for timer wakeup 2020-08-17 19:09:24 +08:00
Renz Bagaporo
0b6ead74b5 soc: ll and hal for sleep related code 2020-08-17 19:09:24 +08:00
Armando
e58ce2141d spi_master: rename the hal layer function that calculates clock and timing 2020-08-17 17:04:07 +08:00
Michael (XIAO Xufeng)
dc22501b47 Merge branch 'bugfix/mcpwm_capture_getedge_null_deref' into 'master'
Bugfix(MCPWM):  Fix dereferencing of a null pointer in function mcpwm_capture_signal_get_edge

See merge request espressif/esp-idf!9255
2020-08-17 15:52:24 +08:00
Angus Gratton
62c4b569ad Merge branch 'refactor/timekeeping_init' into 'master'
Timekeeping refactor

Closes IDF-1864

See merge request espressif/esp-idf!7824
2020-08-17 08:13:44 +08:00
morris
a3da67a97a ethernet: set DMA owner after all descriptors have configured 2020-08-10 18:54:25 +08:00
morris
f4131b9b42 ethernet: handle early rx interrupt 2020-08-10 18:54:25 +08:00
morris
4e38aab1b0 ethernet: support flow control for esp32 emac 2020-08-10 18:54:25 +08:00
wubowen
de72ef2c1a bugfix: Fixed the issue that calling mcpwm_capture_signal_get_edge causes a crash 2020-08-10 09:31:03 +00:00
Darian Leung
fdbda1ce78 TWAI: Simplify caps header
This commit simplies the defines made in the _caps.h header. Kconfig
option dependencies were moved into the LL, and the check for a
valid BRP has bee simplified.
2020-08-10 17:01:32 +08:00
Darian Leung
d814a40c1d TWAI: Fix ESP32-S2 register field name 2020-08-10 17:01:32 +08:00
Darian Leung
6983d1e0bb TWAI: Fix BRP field initialization onf ESP32 ECO3
This commit zero initializes the brp_div field on ESP32 ECO3
to prevent incorrect timing configuration.
2020-08-10 17:01:32 +08:00
Renz Bagaporo
5785e4dfb6 newlib: move some functions to soc, esp32, esp32s2 2020-08-10 15:11:38 +08:00
Michael (XIAO Xufeng)
cda9c595d7 Merge branch 'feature/mcpwm_capture_on_both_edge' into 'master'
MCPWM: add an option to do mcpwm capture on both edges

See merge request espressif/esp-idf!9850
2020-08-10 11:48:50 +08:00
morris
edb5ddf63b soc: placeholder for esp32s3 HAL driver
soc rtc
2020-08-07 11:59:00 +08:00
Michael (XIAO Xufeng)
bfd71ae7ec Merge branch 'feature/dma_memcpy' into 'master'
esp32s2: async memcpy

Closes IDF-1573

See merge request espressif/esp-idf!8436
2020-08-06 11:32:43 +08:00
dongyou
97ae87df41 wifi, bt: move esp_phy_common_clock_disable into periph_ctrl and put it into IRAM
Replace periph_module_enable/disable by periph_wifi_bt_common_module_enable which are in IRAM.
AddIRAM_ATTR periph_ll_wifi_bt_module_enable_clk_clear_rstandIRAM_ATTR periph_ll_wifi_bt_module_disable_clk_set_rstto fit O0 optimization level.
Delete duplicated spinlock and counter.
2020-08-05 11:04:16 +08:00
morris
b30bd7a2ef esp32s2: add CP_DMA driver 2020-08-04 15:28:32 +08:00
Wu Bo Wen
14a6b1db56 driver/mcpwm: add an option to capture on both edges.
However, The functionality of capturing on both edges is alternatively done with passing in the two flags ORed together: MCPWM_NEG_EDGE|MCPWM_POS_EDGE

closes https://github.com/espressif/esp-idf/issues/4446
closes https://github.com/espressif/esp-idf/issues/2943
2020-08-03 14:58:45 +08:00
Ivan Grokhotkov
0ee714e1fa soc: move RTC initialization out of IRAM
Saves approximately 870 bytes of IRAM.
2020-08-01 00:52:43 +02:00
Darian Leung
662864f5bc twai: Fix size of RX msg count field on the esp32
This commit fixes the size of the RX message count register field
on the esp32.
2020-07-30 15:45:58 +08:00
Angus Gratton
75402afcae Merge branch 'feature/esp32s3_clk_memory_layout' into 'master'
esp32s3: memory layout

See merge request espressif/esp-idf!9753
2020-07-29 13:48:25 +08:00
Michael (XIAO Xufeng)
6434c1e2bd Merge branch 'feat/esp_flash_enable_s2_ut' into 'master'
esp_flash: fix several issues and enable unit test for ESP32-S2

Closes IDF-1409

See merge request espressif/esp-idf!8259
2020-07-28 18:15:41 +08:00