chaijie
d222adbeeb
solve memory error bug when in lightsleep mode
2022-05-18 17:43:13 +08:00
Cao Sen Miao
04f7c342f0
I2C: patch for solving watchdog timeout issue
2022-05-17 16:36:40 +08:00
Michael (XIAO Xufeng)
17b9cc6b4a
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-12 15:57:09 +08:00
Jiang Jiang Jian
f0e894e540
Merge branch 'bugfix/remove_c_series_chips_unsupported_efuse_field_backport_v4.4' into 'release/v4.4'
...
efuse: free esp32c3/esp32h2 unused efuse field (backport v4.4)
See merge request espressif/esp-idf!17292
2022-03-02 18:36:13 +08:00
morris
5f56bbd2d0
Merge branch 'bugfix/rtcio_increase_size_v4.4' into 'release/v4.4'
...
sleep: fixed ext1 cannot wakeup via RTCIO >= 18 issue (v4.4)
See merge request espressif/esp-idf!17201
2022-03-02 16:53:05 +08:00
songruojing
bdd7610e66
uart: fixed incorrect channel number on ESP32S2, S3 and C3
2022-03-02 02:42:06 +08:00
wuzhenghui
c6aa1cf732
remove esp32c3 unsupported efuse field
2022-02-28 17:26:28 +08:00
Michael (XIAO Xufeng)
21b80a969f
soc: updated soc_caps about rtc_io and the format
2022-02-18 11:44:43 +08:00
Cao Sen Miao
a74e06560b
USB_SERIAL_JTAG: Fix the issue that there is no rom log when restarting
2022-02-15 18:56:06 +08:00
Michael (XIAO Xufeng)
8b86834a72
Merge branch 'bugfix/gpio_pin_num_fix_v4.4' into 'release/v4.4'
...
gpio: Fix some gpio pin num errors on esp32s2 and esp32c3 (backport v4.4)
See merge request espressif/esp-idf!16594
2022-02-10 10:21:52 +00:00
Omar Chebib
63afc84de5
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.
2022-02-10 16:54:00 +08:00
Martin Vychodil
7d9652dccf
System/Security: Memprot API unified (ESP32C3,ESP32S3)
...
Unified Memory protection API for all PMS-aware chips
Closes JIRA IDF-3849
2022-01-27 12:40:27 +08:00
KonstantinKondrashov
1638b36804
efuse: Fixes eFuse timesettings issue on esp32c3
2022-01-25 19:14:31 +08:00
songruojing
b25fb1111d
gpio: Fix some gpio pin num errors on esp32s2 and esp32c3
2021-12-30 12:27:14 +08:00
Armando
1ec46ad3b8
adc: support adc dma driver on all chips
2021-12-23 17:13:46 +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
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
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
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
morris
6cec256a34
fast_gpio: driver support on esp32c3
2021-09-06 19:39:09 +08:00
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
laokaiyao
b26da6f115
driver/i2s: refactor for i2s driver layer
2021-09-02 14:33:36 +08:00
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
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)
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
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
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
wuzhenghui
f913a10a22
update reset reason for c3/s3/h2
2021-08-13 17:45:53 +08: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
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
24529a6aec
usb_serial_jtag: enable blocking implementation on esp32s3
2021-07-31 16:32:09 +08:00
Armando
3ce2d85e9e
adc: support adc2 working with WiFi
2021-07-28 17:50:14 +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
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
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
c4f57af6c9
G0: Memory layouts are now part of heap components
2021-07-15 11:38:23 +10: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
morris
1560d6f1ba
soc: add reset reasons in soc component
2021-07-13 10:45:38 +08:00
Cao Sen Miao
3aa9ac2469
usb_serial_jtag: Add blocking driver to support vfs.
2021-07-05 11:22:38 +08:00
Shu Chen
75bd02bd46
esp32h2: add some more fixes and TODOs
2021-07-01 20:36:39 +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
Alexey Gerenkov
20fd09728f
apptrace: Adds ESP32-C3 support
2021-06-24 13:16:14 +03:00
morris
8e483e34a8
rmt: restructure rmt_signal_conn_t
2021-06-22 15:29:11 +08: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
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
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
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
Marius Vikhammer
504a1e6102
soc: merge C3 caps into a single soc_caps.h
2021-04-28 14:42:35 +08: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
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
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
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
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
Armando
9b9ea71ff9
spi: remove HSPI macro on esp32c3 and esp32s3
2021-04-06 13:42:49 +08: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
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
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
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
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
Li Shuai
92ddbcda05
deep sleep: power down wifi and bt during deep sleep
2021-03-10 18:22:41 +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