Commit Graph

318 Commits

Author SHA1 Message Date
Marius Vikhammer
638485b222 docs: updated getting started and other misc. guides for S3 2021-06-29 15:44:45 +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
Angus Gratton
c02aa6d0ae Merge branch 'bugfix/switch_jump_tables' into 'master'
build system: always build with -fno-jump-tables & -fno-tree-switch-conversion

Closes IDF-3007

See merge request espressif/esp-idf!13458
2021-06-29 04:13:08 +00:00
Li Shuai
6ca207531b deep sleep: clear wakeup and reject int raw signal before entry sleep 2021-06-29 11:59:54 +08:00
Alexey Gerenkov
821869d98d apptrace: Refactors apptrace for better support various tracing HW 2021-06-24 13:16:13 +03:00
Marius Vikhammer
ee2f8b1a62 build system: always build with -fno-jump-tables & -fno-tree-switch-conversion
Jump tables placed in flash would cause issue with code that needed to be ran from IRAM.

These optimizations are now always disabled.
2021-06-24 14:54:10 +08:00
David Cermak
26f9d2d5e1 rtc: Fix minor const char* correction issue 2021-06-10 22:22:48 +08:00
Angus Gratton
ad7ad185e3 Merge branch 'bugfix/c3_s3_apb_freq' into 'master'
esp_hw_support: Fix ESP32-C3/S3 APB frequency

See merge request espressif/esp-idf!13296
2021-06-09 23:42:09 +00:00
Angus Gratton
bc4eb2071c Merge branch 'feature/toolchain_2021r1' into 'master'
Bring 2021r1 toolchains

Closes IDFGH-5009

See merge request espressif/esp-idf!13554
2021-06-09 05:06:23 +00:00
Angus Gratton
5b12cd4a76 esp_hw_support: Fix ESP32-C3/S3 APB frequency
Regression in e6edf34e82, APB frequency
accidentally set at 81MHz not 80MHz.
2021-06-08 07:52:32 +00:00
Anton Maklakov
343cc5025b make build system: fix build for undefined _lock_* funcs 2021-06-07 12:53:45 +07: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
Jiang Jiang Jian
4c0ed8844d Merge branch 'bugfix/wifi_mac_sleep_issue' into 'master'
fix wifi mac sleep bug when wifi is initialized multiple times

Closes WIFI-3678

See merge request espressif/esp-idf!13591
2021-05-25 14:31:20 +00:00
Angus Gratton
5c812742c6 docs: Add description for Linux getrandom() function 2021-05-20 17:08:17 +10:00
Li Shuai
2bacd7abe2 fix wifi mac sleep bug when wifi is initialized multiple times 2021-05-18 20:03:09 +08:00
Angus Gratton
e14edecf5f docs: Add random number generation to the API Reference System section 2021-05-18 16:05:42 +10:00
Michael (XIAO Xufeng)
050b1660b5 Merge branch 'feature/regi2c_add_lock' into 'master'
regi2c: add a spinlock for accessing (reg)I2C devices

Closes IDF-2978

See merge request espressif/esp-idf!12957
2021-05-16 14:04:55 +00: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
Omar Chebib
dd8843fec3 regi2c: add a spinlock for accessing (reg)I2C devices
When not compiling bootloader, a spinlock will be used for reading or writing
I2C internal devices/registers.
When compiling for bootloader, no need to use any lock.
2021-05-13 11:55:41 +08: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
a20a51316c async_memcpy: test copy with same buffer address 2021-05-12 17:10:37 +08:00
Angus Gratton
3f0851a22c Merge branch 'doc/esp_random' into 'master'
esp_hw_support: Clarify the documentation about hardware RNG entropy

Closes IDF-73

See merge request espressif/esp-idf!13454
2021-05-11 01:37:37 +00: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
Angus Gratton
4d4e094d81 esp_hw_support: Clarify the documentation about hardware RNG entropy 2021-05-06 16:59:02 +10: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
Jiang Jiang Jian
73adacb7d4 Merge branch 'bugfix/fix_nolightsleep_after_wifi_init' into 'master'
esp_wifi: fix nolightsleep after wifi init

See merge request espressif/esp-idf!13404
2021-04-30 04:52:39 +00:00
ninh
f1ee8aa14f esp_wifi: fix nolightsleep after wifi init 2021-04-29 18:50:28 +08:00
Li Shuai
344ec80fad optimize deep sleep current in wifi softap mode 2021-04-28 14:03:02 +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
Angus Gratton
69309c88a0 Merge branch 'bugfix/fix_c3_typos' into 'master'
esp32c3: fix typos of c3 path

See merge request espressif/esp-idf!13318
2021-04-23 13:05:09 +00:00
Angus Gratton
2f70a76572 Merge branch 'bugfix/mac_addr_target_support' into 'master'
system: Restructure MAC address support documentation

See merge request espressif/esp-idf!13298
2021-04-23 10:56:42 +00:00
Shu Chen
ff3320ca8a esp32c3: fix typos of c3 path 2021-04-23 18:11:39 +08:00
Angus Gratton
0be81903cc Merge branch 'bugfix/hal_duplicated_interrupt_functions' into 'master'
[hal]: merged duplicated HAL layer functions

Closes IDF-2308

See merge request espressif/esp-idf!12444
2021-04-23 07:47:51 +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
Angus Gratton
7cb83c8787 system doc: Re-structure description of MAC addresses, especially on newer chip targets
Includes a note about calculating the Ethernet MAC on platforms with no built-in
Ethernet, and removes documentation for esp_efuse_mac_get_custom() on targets
other than ESP32
2021-04-22 16:08:55 +10:00
Angus Gratton
eb38eb670c system: Return ESP_ERR_NOT_SUPPORTED for esp_read_mac(ESP_MAC_BT, ...) on ESP32-S2
Previously this function returned ESP_OK but no MAC was set.
2021-04-22 12:22:46 +10:00
Angus Gratton
c8cb803378 system: Simplify esp_derive_local_mac() function
Previously this function included a loop but would never run more
than one iteration of it.
2021-04-22 12:22:46 +10:00
Jiang Jiang Jian
db67047eb9 Merge branch 'feature/support_esp32s3_beta3_wifi' into 'master'
esp_wifi: support esp32s3 beta3 wifi

Closes WIFI-3550

See merge request espressif/esp-idf!12863
2021-04-16 03:09:19 +00:00
ChenJianxing
dd14e97375 esp_wifi: support esp32s3 beta3 wifi 2021-04-16 00:38:20 +08:00
zwj
764a778be1 phy reinit error due to i2c high 2021-04-15 22:03:25 +08:00
Angus Gratton
23ae81c78c Merge branch 'bugfix/calc_8m_freq_test' into 'master'
rtc: increase CI acceptance range for calc 8M test

Closes IDFCI-79

See merge request espressif/esp-idf!13068
2021-04-13 08:32:51 +00: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
Jiang Jiang Jian
d6a2a67006 Merge branch 'bugfix/fix_some_pm_issue' into 'master'
esp_pm: fix an issue and add an interface

Closes IDF-2984 and IDF-2944

See merge request espressif/esp-idf!12787
2021-04-13 03:42:46 +00:00
Marius Vikhammer
38d9251bda sleep: disable switch-case jump tables from being placed in flash
sleep_modes.c contains switch statements that should be placed in flash.
Settings for avoiding this was not updated during sleep_modes refactor.
2021-04-09 14:16:27 +08:00
Marius Vikhammer
58d83dda40 rtc: increase CI acceptance range for calc 8M test 2021-04-08 18:50:56 +08:00
Angus Gratton
cef3b26a91 Merge branch 'refactor/move_from_esp_system' into 'master'
Movements from esp_system

Closes IDF-2165

See merge request espressif/esp-idf!12695
2021-04-08 10:16:08 +00:00
Angus Gratton
70cab5bd81 Merge branch 'bugfix/ulp_riscv_unintended_wake' into 'master'
ulp: unintended wakeup in ulp_riscv

See merge request espressif/esp-idf!12894
2021-04-08 01:52:41 +00:00
Renz Bagaporo
586023790e esp_system: move sleep modes to esp_hw_support, power down light sleep to esp_pm 2021-04-07 17:53:37 +08:00
Renz Bagaporo
c112bd8b57 esp_system: move intr_alloc 2021-04-07 17:53:37 +08:00
Renz Bagaporo
8762bfebde esp_system: move asysnc memcpy to esp_hw_support 2021-04-07 17:53:37 +08: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
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
1b4e4c37b7 esp32: remove deprecated esp_intr.h 2021-03-31 19:17:33 +08:00
Renz Bagaporo
9478298aa4 esp32: move mac target specific configs 2021-03-31 19:17:33 +08:00
Renz Bagaporo
e6edf34e82 esp32: move esp_clk functions 2021-03-31 19:17:33 +08:00
Renz Bagaporo
4a08264e7a esp_system: split esp_system.h header 2021-03-31 19:13:03 +08:00
Renz Bagaporo
a7bac58480 esp32: move system api to esp_system 2021-03-31 19:13:03 +08:00
Renz Bagaporo
784a02a4ee esp32: move hw random 2021-03-31 19:13:03 +08:00
Renz Bagaporo
3639c2322b ulp: clear rtc int at initialization
Closes https://github.com/espressif/esp-idf/issues/6654
2021-03-31 17:15:55 +08:00
Renz Bagaporo
44a8dc9342 ci: change assertions rtc clk compenstation test 2021-03-25 15:47:19 +08: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
Angus Gratton
7ebefe2e2b Merge branch 'bugfix/check_a_time_after_deepsleep' into 'master'
Fix esp32s2 timekeeping on deep sleep issue

See merge request espressif/esp-idf!12623
2021-03-23 08:15:34 +00:00
Renz Bagaporo
02c6ffe5a7 esp_hw_support: add test for rtc clk compensation 2021-03-19 12:04:06 +08: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
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
c85d949c1f ci: run Example_GENERIC for C3
Add support for running example_GENERIC tests for C3 on label.

Fix examples that fail.
2021-03-15 10:27:07 +08: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
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
Angus Gratton
d6f4d99d93 core system: Fix warnings in compilation when assertions are disabled
Adds a CI config for hello world that sets this, to catch future regressions
2021-03-03 10:26:57 +11:00
KonstantinKondrashov
b31bf01484 rtc: Clean up for S2,S3,C3 2021-03-01 16:51:15 +08:00
Renz Bagaporo
0f03f450ff esp_hw_support: create esp_cpu
Create a esp_cpu header that contains CPU-related functions and
utilities.
2021-02-26 13:34:29 +08:00
Renz Bagaporo
7e0e91bf76 arch: move debug helpers 2021-02-26 13:34:29 +08:00
Renz Bagaporo
349f0cad3e esp_common: other movements 2021-02-24 12:16:37 +08:00
Renz Bagaporo
5e8799bbfe esp_common: move some headers 2021-02-24 12:16:37 +08:00
Renz Bagaporo
ae15c81dbe esp_common: move to esp_hw_support 2021-02-24 12:16:37 +08:00
Renz Bagaporo
2eb563406f esp_hw_support: fix esp_restart crash
Closes https://github.com/espressif/esp-idf/issues/6297
2021-02-10 23:38:17 +00:00
Xia Xiaotian
b71481093a esp_wifi: fix some Wi-Fi scan and coexist bugs
1. Fix the bug that Wi-Fi performance is impacted by BLE starting scan for a while in some scenarios on ESP32-C3.

2. Fix the bug that Wi-Fi performance is impacted when Bluetooth change state for a while in some scenarios on ESP32-C3.

3. Fix the bug that BLE performance is impacted by Wi-Fi scan on ESP32-C3.

4. Fix the bug that Wi-Fi scan fails when BLE is scanning on ESP32-C3.

5. Fix Wi-Fi ACK and CTS rate when low rate is disabled on ESP32-C3.
2021-02-08 21:20:09 +08:00
Michael (XIAO Xufeng)
d741b08fe7 Merge branch 'feature/esp32c3_deep_sleep_rtcfastmem' into 'master'
esp32c3: Finish deep sleep support

Closes IDF-2560

See merge request espressif/esp-idf!12031
2021-01-26 12:53:34 +08:00
Angus Gratton
0eb8d7e185 esp_hw_support esp32c3: Add deep sleep rtc crc calculation support
Last step to enable deep sleep on ESP32-C3 in all configurations
2021-01-25 17:20:04 +00: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
Armando
f5f0461264 tmpsensor: add temp_sensor.h for c3 2021-01-25 04:51:40 +00:00
Angus Gratton
a5fb7deda5 driver: Update/cleanup esp32c3 rtc_tempsensor.c 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
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
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
Li Shuai
3170ecf268 deep sleep: add empty interface rtc_deep_sleep_start for esp32c3 2021-01-20 13:28:34 +08: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
Renz Bagaporo
d1c800fbbb components: fix ldgen check errors 2021-01-19 11:17:18 +08:00
Renz Bagaporo
32206d3a7d ci: enabled ldgen mapping check in ci 2021-01-19 11:17:18 +08:00
Angus Gratton
f683db7aea Merge branch 'feature/c3_IDF-2554' into 'master'
global: Uses CCOUNT API instead of XTHAL macro

Closes IDF-2554

See merge request espressif/esp-idf!11954
2021-01-13 12:55:21 +08:00
KonstantinKondrashov
dada7cd035 global: Uses CCOUNT API instead of XTHAL macro 2021-01-12 16:24:23 +08:00
morris
753a929525 global: fix sign-compare warnings 2021-01-12 14:05:08 +08:00
fuzhibo
312a0ad6c1 fix: support bootloader random enable for esp32c3 2021-01-11 14:41:09 +08:00
ninh
dc7bdb9857 adjust lightsleep overhead time and cali slowclk 2021-01-06 03:40:28 +00:00
ninh
e908a32381 put pm_slp_iram_opt and pm_rtos_iram_opt related attributes in esp_pm/linker.lf 2021-01-06 03:40:28 +00: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
30a96d22e1 Merge branch 'feature/esp32c3_soc_changes' into 'master'
soc: Apply esp32c3 updates

See merge request espressif/esp-idf!11712
2020-12-24 09:20:24 +08:00
Jiang Jiang Jian
788e9fa49a Merge branch 'feature/lightsleep_related_iram_opt' into 'master'
components/pm: Add sleep related code iram opt chioce

See merge request espressif/esp-idf!11290
2020-12-23 14:45:43 +08:00
Liu Ning
57aa65eeed components/pm: Add sleep related code iram opt chioce 2020-12-23 14:45:36 +08: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
75dede2344 esp_hw_support: Add esp32c3 regi2c headers 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
Wu Bo Wen
5cc329b9d0 driver/adc: support for esp32s2 adc calibration scheme V2
notice that the o_code is now pulled from efuse instead of automatically calibrated. This may influence other parts of the system.

Closes https://github.com/espressif/esp-idf/issues/5455
2020-12-03 20:08:59 +08:00
Angus Gratton
b696d2917e esp_hw_support: Add initial ESP32-C3 support
From internal commit 7761d6e8
2020-11-30 15:23:15 +11:00
Michael (XIAO Xufeng)
af992c26bc Merge branch 'bugfix/fix_x32k_startup_slow_bug' into 'master'
bugfix: Fix xtal 32k not oscillate or oscillate too slowly issue for esp32

See merge request espressif/esp-idf!10519
2020-11-24 17:37:29 +08:00
chaijie
a48b5246cc ESP32: Fix xtal 32k not oscillate or oscillate too slowly issue
ESP32 in revision0 and revision1 uses touchpad to provide
current to oscillate xtal 32k. But revision2 and revision3
do not need to do that.
Note: touchpad can not work and toupad/ULP wakeup sources
are not available when toupad provides current to xtal 32k
2020-11-23 19:38:11 +08:00
Michael (XIAO Xufeng)
9277306aef Merge branch 'bugfix/fix_rtc_wdt_in_light_sleep_process' into 'master'
RTC(bugfix): compile the regi2c_ctrl.c code to iram

See merge request espressif/esp-idf!10931
2020-11-18 20:30:25 +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
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
fuzhibo
b29f075660 rtc: compile the regi2c_ctrl.c code to iram 2020-11-05 16:17:12 +08:00
fuzhibo
93c7cf094e rtc: update rtc related code(rtc_sleep rtc_init) to support esp32s3 2020-11-04 02:43:41 +00:00
Renz Bagaporo
6b0a5af73e soc: move implementations to esp_hw_support 2020-10-28 22:38:50 +08:00
Renz Bagaporo
988be69466 esp_hw_support: create component 2020-10-28 07:21:29 +08:00