esp-idf/components
Michael (XIAO Xufeng) 7931c033ed 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-11-05 20:02:53 +08:00
..
app_trace apptrace: move all apptrace related functions to IRAM 2022-06-29 10:21:32 +08:00
app_update bootloader: Fixes bootloader_common_get_sha256_of_partition. Adds hash check. 2022-01-25 20:01:00 +08:00
asio asio coap: If LWIP IPV6 is disabled, automatically don't build asio & coap 2021-11-23 22:39:58 +08:00
bootloader (Xtensa) Build: add .xt.prop and .xt.lit to the compiled ELF file 2022-08-22 02:43:50 +00:00
bootloader_support Merge branch 'refactor/flash_qio_overidable_v4.3' into 'release/v4.3' 2022-08-19 13:58:26 +08:00
bt Merge branch 'bugfix/use_nonblocking_coex_callback_v4.3' into 'release/v4.3' 2022-11-01 10:48:38 +08:00
cbor esp_ipc: fix race condition in ipc task 2021-09-17 23:19:27 +03:00
cmock
coap asio coap: If LWIP IPV6 is disabled, automatically don't build asio & coap 2021-11-23 22:39:58 +08:00
console console: linenoise: fix usage of an uninitialized buffer 2022-04-20 16:03:23 +05:30
cxx vfs_usb_serial: set secondary selection for making usb port can output under default menu 2022-05-12 12:23:35 +08:00
driver I2C: Make I2C clock frequency accurate 2022-11-01 15:48:26 +08:00
efuse efuse: Fix burn operation when data was written directly to regs 2022-07-05 17:37:48 +08:00
esp32 wifi/bt: fix part of modem module not reset when power up 2022-10-26 20:47:10 +08:00
esp32c3 bugfix: esprv_intc_int_set_type should not use bitmap parameter 2022-10-14 15:27:19 +08:00
esp32s2 wifi/bt: fix part of modem module not reset when power up 2022-10-26 20:47:10 +08:00
esp32s3 wifi/bt: fix part of modem module not reset when power up 2022-10-26 20:47:10 +08:00
esp_adc_cal adc: upgrade adc calibration algorithm to version 2 on c3 2022-02-15 15:27:25 +08:00
esp_common versions: Update version to 4.3.4 2022-09-12 10:59:15 +02:00
esp_eth esp_eth: EMAC start/stop optimization 2022-03-07 14:54:55 +01:00
esp_event [esp_event]: fixed and improved docs 2021-09-10 10:12:39 +08:00
esp_gdbstub fix (gdbstub): added xtensa, esp32 as public includes in component.mk 2021-11-10 13:45:05 +08:00
esp_hid fix esp hid crash when auth failed 2022-10-14 16:02:58 +08:00
esp_http_client esp_http_client: Enable support of crt_bundle in esp_http_client 2022-06-01 14:38:51 +05:30
esp_http_server fix(server): Fix websocket server not support handle multiple connections when client send CLOSE frame 2022-05-06 17:58:52 +08:00
esp_https_ota esp_https_ota: Warn users when CONFIG_OTA_ALLOW_HTTP is set 2022-09-06 13:54:22 +05:30
esp_https_server
esp_hw_support pm: fixed RTC8M domain power issues 2022-11-05 20:02:53 +08:00
esp_ipc esp_ipc: Fix a case when ipc_task() can wake up blocking task early 2022-06-09 10:59:30 +00:00
esp_local_ctrl Added support for security1 in local control 2021-09-21 09:21:18 +05:30
esp_netif Doc:update wifi api docs 2022-07-26 09:55:39 +00:00
esp_pm pm_impl: fix neither enter light sleep nor enter waiti state in idle task 2022-04-21 14:38:17 +08:00
esp_ringbuf ringbuf: Fix bug where comparision between a signed and unsigned operand resulted in incorrect free size for no-split/allow-split buffers 2021-12-27 15:02:27 +08:00
esp_rom sleep: beacon loss and noise check timer optimize for wifi power save 2022-10-21 21:43:24 +08:00
esp_serial_slave_link SPI: change the different soc's spi defintion location and fix the bug that wrong dummy cycle under quad spi mode 2022-09-15 16:03:54 +08:00
esp_system pm: fixed RTC8M domain power issues 2022-11-05 20:02:53 +08:00
esp_timer spi_flash: No CPU release time for an erase operation when OS is not running 2021-11-04 15:18:44 +08:00
esp_websocket_client transport: Add CONFI_WS_TRANSPORT for optimize the code size 2021-06-23 11:26:56 +08:00
esp_wifi esp_wifi:Set AP rsnxe while connecting to a AP 2022-11-02 15:25:31 +05:30
esp-tls esp-tls: Fix memory leak in mbedtls ds peripheral when MBEDTLS_THREADING_C enabled 2022-10-13 19:41:19 +08:00
espcoredump coredump: backport the coredump test data from v4.4 2022-02-28 12:29:08 +07:00
esptool_py efuse: update efuse name (backport v4.3) 2022-05-31 14:42:05 +08:00
expat expat: Update expat library to R_2_4_8 release 2022-09-22 10:04:59 +05:30
fatfs Merge branch 'bugfix/vfs_fat_(p)write_on_diskfull_v4.3' into 'release/v4.3' 2022-04-21 23:12:44 +08:00
freemodbus freemodbus: fix port enable disable sequence for tcp master and slave 2022-03-08 09:40:08 +01:00
freertos freertos: Adds new APIs to set/get and restore base priority 2022-10-14 19:04:44 +08:00
hal I2C: Make I2C clock frequency accurate 2022-11-01 15:48:26 +08:00
heap SPIRAM: 'Abort on allocation failure' should not trigger when there is available SPI ram 2022-08-22 02:45:10 +00:00
idf_test fix (esp_event): lowered performance threshold for esp_event test 2022-08-19 12:02:42 +02:00
jsmn
json cJSON: Update submodule to latest release. 2021-08-30 13:16:55 +05:30
libsodium libsodium: fix source directory names to address build issues with Make 2021-08-12 08:43:35 +05:30
log Merge branch 'feature/c3_IDF-2554' into 'master' 2021-01-13 12:55:21 +08:00
lwip Icmp: get tos parameter in icmp reply 2022-07-26 09:55:39 +00:00
mbedtls esp_rsa_sign_alt: Fix esp_init_ds_data_ctx API to not modify user defined data when it is given directory from flash 2022-08-23 13:32:12 +05:30
mdns components/bt: move config BT_RESERVE_DRAM from bluedroid to ESP32 controller 2022-03-11 10:48:21 +00:00
mqtt mqtt: Fix incorrect reads on error (idf_v4.x) 2022-07-15 06:16:40 +00:00
newlib newlib: Mitigate UT - time adjustment happens linearly 2022-02-23 16:51:28 +08:00
nghttp
nvs_flash Merge branch 'bugfix/nvs_part_ptr_wrong_init_4.3' into 'release/v4.3' 2022-08-19 13:59:12 +08:00
openssl
partition_table partition_table: Fix case when a few similar to otadata partitions in the table 2021-10-26 16:07:31 +08:00
perfmon esp32c3: Disable components that are not yet supported 2020-12-31 09:27:38 +11:00
protobuf-c
protocomm Fix iOS advertisement response and simplify 2022-05-16 04:08:12 +00:00
pthread pthread: Fix behaviour when pthread destructor calls pthread_getspecific/pthread_setspecific 2021-12-21 01:27:49 +00:00
riscv RISC-V: Fix vectors.S assembly file indentation and macro usage 2022-04-22 13:17:59 +03:00
sdmmc
soc pm: fixed RTC8M domain power issues 2022-11-05 20:02:53 +08:00
spi_flash freertos: Adds new APIs to set/get and restore base priority 2022-10-14 19:04:44 +08:00
spiffs spiffs: add init checks for partition alignment and data types 2022-04-20 12:53:57 +02:00
tcp_transport tcp_transport: Add option to enable crt_bundle for SSL connection 2022-06-01 14:39:01 +05:30
tcpip_adapter components: Use CONFIG_LWIP_IPV6 to strip IPv6 function in components 2021-04-12 05:42:50 +00:00
tinyusb esp_ipc: fix race condition in ipc task 2021-09-17 23:19:27 +03:00
touch_element touch_element: add unit test for Touch Element lib 2022-04-22 03:13:25 +00:00
ulp ulp riscv: force cocpu clock on to prevent spurious cocpu trap resets 2021-07-28 18:15:38 +08:00
unity
vfs vfs: Fix potential select() race if both sock and other-fd trigger 2022-06-21 16:39:58 +00:00
wear_levelling docs: update sdmmc and vfs cn trans 2022-02-22 11:07:16 +08:00
wifi_provisioning feat(wifi_provisioning): Optimize memory for wifi scan ap number 2022-05-16 14:14:23 +08:00
wpa_supplicant wpa_supplicant: Update security patches from upstream 2022-10-17 18:03:33 +05:30
xtensa freertos: Xtensa FreeRTOS saves threadptr in solicited stack frame 2022-07-04 18:27:26 +08:00