Skip to content

Commit bb9fbc0

Browse files
committed
Merge branch 'feat/c61_eco3_soc_update' into 'master'
feat(soc): c61 eco3 rom and soc header update See merge request espressif/esp-idf!39166
2 parents e0c43e6 + 6fde8cf commit bb9fbc0

File tree

188 files changed

+29805
-11408
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

188 files changed

+29805
-11408
lines changed

components/esp_hw_support/lowpower/port/esp32c61/sleep_clock.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,9 @@ bool clock_domain_pd_allowed(void)
8181
* necessary to check the state of CLOCK_MODEM to determine MODEM domain on
8282
* or off. The clock and reset of digital peripherals are managed through
8383
* PCR, with TOP domain similar to MODEM domain. */
84+
#if SOC_WIFI_SUPPORTED || SOC_BT_SUPPORTED
8485
sleep_retention_module_bitmap_t modem_clk_dep_modules = (sleep_retention_module_bitmap_t){ .bitmap = { 0 } };
86+
#endif
8587
#if SOC_WIFI_SUPPORTED
8688
modem_clk_dep_modules.bitmap[SLEEP_RETENTION_MODULE_WIFI_MAC >> 5] |= BIT(SLEEP_RETENTION_MODULE_WIFI_MAC % 32);
8789
modem_clk_dep_modules.bitmap[SLEEP_RETENTION_MODULE_WIFI_BB >> 5] |= BIT(SLEEP_RETENTION_MODULE_WIFI_BB % 32);

components/esp_hw_support/port/esp32c61/Kconfig.hw_support

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
choice ESP32C61_REV_MIN
22
prompt "Minimum Supported ESP32-C61 Revision"
3-
default ESP32C61_REV_MIN_0
3+
default ESP32C61_REV_MIN_100
44
help
55
Required minimum chip revision. ESP-IDF will check for it and
66
reject to boot if the chip revision fails the check.
@@ -9,13 +9,13 @@ choice ESP32C61_REV_MIN
99
The complied binary will only support chips above this revision,
1010
this will also help to reduce binary size.
1111

12-
config ESP32C61_REV_MIN_0
13-
bool "Rev v0.0"
12+
config ESP32C61_REV_MIN_100
13+
bool "Rev v1.0"
1414
endchoice
1515

1616
config ESP32C61_REV_MIN_FULL
1717
int
18-
default 0 if ESP32C61_REV_MIN_0
18+
default 100 if ESP32C61_REV_MIN_100
1919

2020
config ESP_REV_MIN_FULL
2121
int
@@ -25,15 +25,15 @@ config ESP_REV_MIN_FULL
2525
# MAX Revision
2626
#
2727

28-
comment "Maximum Supported ESP32-C61 Revision (Rev v0.99)"
28+
comment "Maximum Supported ESP32-C61 Revision (Rev v1.99)"
2929
# Maximum revision that IDF supports.
3030
# It can not be changed by user.
3131
# Only Espressif can change it when a new version will be supported in IDF.
3232
# Supports all chips starting from ESP32C61_REV_MIN_FULL to ESP32C61_REV_MAX_FULL
3333

3434
config ESP32C61_REV_MAX_FULL
3535
int
36-
default 99
36+
default 199
3737
# keep in sync the "Maximum Supported Revision" description with this value
3838

3939
config ESP_REV_MAX_FULL
@@ -53,6 +53,6 @@ config ESP_EFUSE_BLOCK_REV_MIN_FULL
5353

5454
config ESP_EFUSE_BLOCK_REV_MAX_FULL
5555
int
56-
default 99
56+
default 199
5757
comment "Maximum Supported ESP32-C61 eFuse Block Revision (eFuse Block Rev v0.99)"
5858
# The revision in the comment must correspond to the default value of ESP_EFUSE_BLOCK_REV_MAX_FULL

components/esp_rom/CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,6 @@ if(CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG OR CONFIG_ESP_ROM_HAS_CACHE_WRITEBAC
6767
list(APPEND sources "patches/esp_rom_cache_esp32s2_esp32s3.c")
6868
endif()
6969

70-
if(CONFIG_ESP_ROM_CACHE_WB_INVLD_LOW_RANGE)
71-
list(APPEND sources "patches/esp_rom_cache_esp32c61.c")
72-
endif()
73-
7470
if(CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG)
7571
list(APPEND sources "patches/esp_rom_cache_writeback_esp32s3.S")
7672
endif()

components/esp_rom/esp32c61/Kconfig.soc_caps.in

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,6 @@ config ESP_ROM_HAS_OUTPUT_PUTC_FUNC
107107
bool
108108
default y
109109

110-
config ESP_ROM_CACHE_WB_INVLD_LOW_RANGE
111-
bool
112-
default y
113-
114110
config ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY
115111
bool
116112
default y

components/esp_rom/esp32c61/esp_rom_caps.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,4 @@
3232
#define ESP_ROM_HAS_SW_FLOAT (1) // ROM has libgcc software floating point emulation functions
3333
#define ESP_ROM_USB_OTG_NUM (-1) // No USB_OTG CDC in the ROM, set -1 for Kconfig usage.
3434
#define ESP_ROM_HAS_OUTPUT_PUTC_FUNC (1) // ROM has esp_rom_output_putc (or ets_write_char_uart)
35-
#define ESP_ROM_CACHE_WB_INVLD_LOW_RANGE (1) // ROM `Cache_WriteBack_Addr` and `Cache_Invalidate_Addr` can only access low vaddr parts
3635
#define ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY (1) // ROM mem/str functions are not optimized well for misaligned memory access.

components/esp_rom/esp32c61/ld/esp32c61.rom.coexist.ld

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
/*
2-
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
6-
/* ROM function interface esp32c61.rom.coexist.ld for esp32c61
7-
*
8-
*
9-
* Generated from ./target/esp32c6lite/interface-esp32c6lite.yml md5sum 27eb0efac0883ee622c22767242c9457
10-
*
11-
* Compatible with ROM where ECO version equal or greater to 0.
6+
7+
/* ROM function interface
128
*
139
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
1410
*/
@@ -35,7 +31,7 @@ coex_hw_timer_set = 0x40000a64;
3531
coex_schm_interval_set = 0x40000a68;
3632
coex_schm_lock = 0x40000a6c;
3733
coex_schm_unlock = 0x40000a70;
38-
/*coex_status_get = 0x40000a74;*/
34+
coex_status_get = 0x40000a74;
3935
coex_wifi_release = 0x40000a78;
4036
esp_coex_ble_conn_dynamic_prio_get = 0x40000a7c;
4137
/* Data (.data, .bss, .rodata) */

components/esp_rom/esp32c61/ld/esp32c61.rom.ld

Lines changed: 62 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
/*
2-
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
6-
/* ROM function interface esp32c61.rom.ld for esp32c61
7-
*
8-
*
9-
* Generated from ./target/esp32c6lite/interface-esp32c6lite.yml md5sum 27eb0efac0883ee622c22767242c9457
10-
*
11-
* Compatible with ROM where ECO version equal or greater to 0.
6+
7+
/* ROM function interface
128
*
139
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
1410
*/
@@ -54,8 +50,6 @@ software_reset_cpu = 0x40000098;
5450
ets_clk_assist_debug_clock_enable = 0x4000009c;
5551
clear_super_wdt_reset_flag = 0x400000a0;
5652
disable_default_watchdog = 0x400000a4;
57-
esp_rom_set_rtc_wake_addr = 0x400000a8;
58-
esp_rom_get_rtc_wake_addr = 0x400000ac;
5953
send_packet = 0x400000b0;
6054
recv_packet = 0x400000b4;
6155
GetUartDevice = 0x400000b8;
@@ -192,9 +186,9 @@ MMU_Set_Page_Mode = 0x40000624;
192186
MMU_Get_Page_Mode = 0x40000628;
193187
Cache_Sync_Items = 0x4000062c;
194188
Cache_Op_Addr = 0x40000630;
195-
/*Cache_Invalidate_Addr = 0x40000634; rom version API has issue that unable to access higher vaddr range, use IDF patch */
189+
Cache_Invalidate_Addr = 0x40000634;
196190
Cache_Clean_Addr = 0x40000638;
197-
/*Cache_WriteBack_Addr = 0x4000063c; rom version API has issue that unable to access higher vaddr range, use IDF patch */
191+
Cache_WriteBack_Addr = 0x4000063c;
198192
Cache_WriteBack_Invalidate_Addr = 0x40000640;
199193
Cache_Invalidate_All = 0x40000644;
200194
Cache_Clean_All = 0x40000648;
@@ -369,7 +363,6 @@ ets_efuse_jtag_disabled = 0x400007fc;
369363
ets_efuse_usb_print_is_disabled = 0x40000800;
370364
ets_efuse_usb_download_mode_disabled = 0x40000804;
371365
ets_efuse_usb_device_disabled = 0x40000808;
372-
ets_efuse_secure_boot_fast_wake_enabled = 0x4000080c;
373366

374367

375368
/***************************************
@@ -393,3 +386,60 @@ usb_serial_device_rx_one_char = 0x40000a20;
393386
usb_serial_device_rx_one_char_block = 0x40000a24;
394387
usb_serial_device_tx_flush = 0x40000a28;
395388
usb_serial_device_tx_one_char = 0x40000a2c;
389+
390+
391+
/***************************************
392+
Group lldesc
393+
***************************************/
394+
395+
/* Functions */
396+
lldesc_build_chain = 0x400014dc;
397+
398+
399+
/***************************************
400+
Group sip
401+
***************************************/
402+
403+
/* Functions */
404+
sip_after_tx_complete = 0x400014e0;
405+
sip_alloc_to_host_evt = 0x400014e4;
406+
sip_download_begin = 0x400014e8;
407+
sip_get_ptr = 0x400014ec;
408+
sip_get_state = 0x400014f0;
409+
sip_init_attach = 0x400014f4;
410+
sip_install_rx_ctrl_cb = 0x400014f8;
411+
sip_install_rx_data_cb = 0x400014fc;
412+
sip_is_active = 0x40001500;
413+
sip_post_init = 0x40001504;
414+
sip_reclaim_from_host_cmd = 0x40001508;
415+
sip_reclaim_tx_data_pkt = 0x4000150c;
416+
sip_send = 0x40001510;
417+
sip_to_host_chain_append = 0x40001514;
418+
sip_to_host_evt_send_done = 0x40001518;
419+
420+
421+
/***************************************
422+
Group slc
423+
***************************************/
424+
425+
/* Functions */
426+
slc_add_credits = 0x4000151c;
427+
slc_enable = 0x40001520;
428+
slc_from_host_chain_fetch = 0x40001524;
429+
slc_from_host_chain_recycle = 0x40001528;
430+
slc_has_pkt_to_host = 0x4000152c;
431+
slc_init_attach = 0x40001530;
432+
slc_init_credit = 0x40001534;
433+
slc_reattach = 0x40001538;
434+
slc_send_to_host_chain = 0x4000153c;
435+
slc_set_host_io_max_window = 0x40001540;
436+
slc_to_host_chain_recycle = 0x40001544;
437+
438+
439+
/***************************************
440+
Group recovery_bootloader
441+
***************************************/
442+
443+
/* Functions */
444+
ets_get_bootloader_offset = 0x40001548;
445+
ets_set_bootloader_offset = 0x4000154c;

components/esp_rom/esp32c61/ld/esp32c61.rom.net80211.ld

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
/*
2-
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
6-
/* ROM function interface esp32c61.rom.net80211.ld for esp32c61
7-
*
8-
*
9-
* Generated from ./target/esp32c6lite/interface-esp32c6lite.yml md5sum 27eb0efac0883ee622c22767242c9457
10-
*
11-
* Compatible with ROM where ECO version equal or greater to 0.
6+
7+
/* ROM function interface
128
*
139
* THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT EDIT.
1410
*/
@@ -40,7 +36,7 @@ ieee80211_encap_esfbuf = 0x40000ac8;
4036
ieee80211_is_tx_allowed = 0x40000acc;
4137
ieee80211_output_pending_eb = 0x40000ad0;
4238
ieee80211_output_process = 0x40000ad4;
43-
/*ieee80211_set_tx_desc = 0x40000ad8;*/
39+
ieee80211_set_tx_desc = 0x40000ad8;
4440
ieee80211_classify = 0x40000adc;
4541
ieee80211_copy_eb_header = 0x40000ae0;
4642
ieee80211_recycle_cache_eb = 0x40000ae4;
@@ -60,12 +56,12 @@ ieee80211_find_ext_elem = 0x40000b18;
6056
ieee80211_find_ie = 0x40000b1c;
6157
ieee80211_find_ext_ie = 0x40000b20;
6258
ieee80211_merge_mbssid_profile = 0x40000b24;
63-
/*ieee80211_encap_esfbuf_htc = 0x40000b28;*/
59+
ieee80211_encap_esfbuf_htc = 0x40000b28;
6460
wifi_get_macaddr = 0x40000b2c;
6561
wifi_rf_phy_disable = 0x40000b30;
6662
wifi_rf_phy_enable = 0x40000b34;
6763
wifi_is_started = 0x40000b38;
68-
/*sta_input = 0x40000b3c;*/
64+
sta_input = 0x40000b3c;
6965
sta_rx_eapol = 0x40000b40;
7066
sta_reset_beacon_timeout = 0x40000b44;
7167
sta_get_beacon_timeout = 0x40000b48;

0 commit comments

Comments
 (0)