Skip to content

Commit f46b0d7

Browse files
me-no-devlucasssvazSuGlider
authored
Support for IDF v5.5 and ESP32-C5 (#268)
* Initial changes for IDF v5.5 and ESP32-C5 * Update gen_pioarduino_manifest.py * Add support for ESP32-C5 PSRAM * Disable Matter on C5 for now * fix(libs): Remove unnecessary IDF patches * Update target IDF branch for v5.5 * Enable Matter on ESP32-C5 * Update PSRAM Options * Add cleaner script * feat(nimble): Replace Bluedroid with NimBLE except for ESP32 * feat(matter): removes CHIPOBLE to manage it case by case --------- Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> Co-authored-by: Sugar Glider <rodrigo.garcia@espressif.com>
1 parent 53a318f commit f46b0d7

18 files changed

+161
-133
lines changed

.github/workflows/push.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
runs-on: ubuntu-latest
2626
strategy:
2727
matrix:
28-
target: [esp32, esp32s2, esp32s3, esp32c2, esp32c3, esp32c6, esp32h2, esp32p4]
28+
target: [esp32, esp32s2, esp32s3, esp32c2, esp32c3, esp32c6, esp32h2, esp32p4, esp32c5]
2929
fail-fast: false
3030
steps:
3131
- name: Checkout repository

clean.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/bash
2+
rm -rf out build dist managed_components sdkconfig

configs/builds.json

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"file":"libspi_flash.a",
55
"src":"build/esp-idf/spi_flash/libspi_flash.a",
66
"out":"lib/libspi_flash.a",
7-
"targets":["esp32","esp32c2","esp32c3","esp32s2","esp32s3","esp32c6","esp32h2","esp32p4"]
7+
"targets":["esp32","esp32c2","esp32c3","esp32s2","esp32s3","esp32c6","esp32h2","esp32p4","esp32c5"]
88
},
99
{
1010
"file":"libesp_psram.a",
@@ -44,6 +44,20 @@
4444
}
4545
],
4646
"targets":[
47+
{
48+
"target": "esp32c5",
49+
"features":["qio_ram"],
50+
"idf_libs":["qio","80m"],
51+
"bootloaders":[
52+
["qio","80m"],
53+
["dio","80m"],
54+
["qio","40m"],
55+
["dio","40m"]
56+
],
57+
"mem_variants":[
58+
["dio","80m"]
59+
]
60+
},
4761
{
4862
"target": "esp32p4",
4963
"features":["qio_ram"],

configs/defconfig.common

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,12 +125,17 @@ CONFIG_I2S_ISR_IRAM_SAFE=y
125125
# Matter Settings
126126
#
127127
# Disable Matter BLE
128-
CONFIG_ENABLE_CHIPOBLE=n
129128
CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n
130129
# ESP Insights
131130
CONFIG_ENABLE_ESP_INSIGHTS_TRACE=n
132131
# Use compact attribute storage mode
133132
CONFIG_ESP_MATTER_NVS_USE_COMPACT_ATTR_STORAGE=y
133+
# Do not use minimal mDNS within Matter Core
134+
CONFIG_USE_MINIMAL_MDNS=n
135+
# Changes Matter Memory Allocation Mode to use the default malloc() that can use PSRAM is enabled
136+
CONFIG_ESP_MATTER_MEM_ALLOC_MODE_DEFAULT=y
137+
# Disable default mode that only allocates memory from DRAM
138+
CONFIG_ESP_MATTER_MEM_ALLOC_MODE_INTERNAL=n
134139

135140
#TinyUSB Config
136141
CONFIG_TINYUSB_CDC_MAX_PORTS=2

configs/defconfig.esp32

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,9 @@ CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y
2020
CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT=y
2121
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y
2222
CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=4096
23+
24+
# Matter settings:
25+
CONFIG_ENABLE_CHIPOBLE=n
26+
# increase the maximum number of endpoints per device
27+
CONFIG_ESP_MATTER_MAX_DYNAMIC_ENDPOINT_COUNT=32
28+

configs/defconfig.esp32c2

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
CONFIG_XTAL_FREQ_26=y
22
CONFIG_XTAL_FREQ=26
33
CONFIG_BT_ENABLED=y
4-
CONFIG_BT_BLE_BLUFI_ENABLE=y
4+
CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y
5+
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n
6+
CONFIG_BTDM_CTRL_MODE_BTDM=n
7+
CONFIG_BT_BLUEDROID_ENABLED=n
8+
CONFIG_BT_NIMBLE_ENABLED=y
9+
CONFIG_BT_NIMBLE_BLUFI_ENABLE=y
510
CONFIG_RTC_CLK_CAL_CYCLES=576
611
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
712
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304

configs/defconfig.esp32c3

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,16 @@ CONFIG_RTC_CLK_CAL_CYCLES=576
22
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
33
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
44
CONFIG_BT_ENABLED=y
5+
CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y
6+
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n
7+
CONFIG_BTDM_CTRL_MODE_BTDM=n
8+
CONFIG_BT_BLUEDROID_ENABLED=n
9+
CONFIG_BT_NIMBLE_ENABLED=y
510
CONFIG_ESP_WIFI_11KV_SUPPORT=y
611
CONFIG_ESP_WIFI_SCAN_CACHE=y
712
CONFIG_ESP_WIFI_MBO_SUPPORT=y
813
CONFIG_ESP_WIFI_11R_SUPPORT=y
914
CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=4096
15+
16+
# Matter settings:
17+
CONFIG_ENABLE_CHIPOBLE=y

configs/defconfig.esp32c5

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
CONFIG_XTAL_FREQ_AUTO=y
2+
CONFIG_XTAL_FREQ=0
3+
CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y
4+
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
5+
CONFIG_SPIRAM=y
6+
7+
CONFIG_BT_ENABLED=y
8+
CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y
9+
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n
10+
CONFIG_BTDM_CTRL_MODE_BTDM=n
11+
CONFIG_BT_BLUEDROID_ENABLED=n
12+
CONFIG_BT_NIMBLE_ENABLED=y
13+
CONFIG_BT_NIMBLE_BLUFI_ENABLE=y
14+
CONFIG_RTC_CLK_CAL_CYCLES=576
15+
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
16+
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
17+
# This Enables RISCV LP for C6 - but it can't be used within Arduino at this time.
18+
#CONFIG_ULP_COPROC_ENABLED=y
19+
#CONFIG_ULP_COPROC_LP_CORE=y
20+
#CONFIG_ULP_COPROC_RESERVE_MEM=4096
21+
22+
#
23+
# OpenThread
24+
#
25+
CONFIG_OPENTHREAD_ENABLED=y
26+
# Border Router disabled
27+
# CONFIG_OPENTHREAD_BORDER_ROUTER=y
28+
# CONFIG_OPENTHREAD_RADIO_SPINEL_UART=y
29+
30+
# DNS64 and NAT64 will be disabled for a while
31+
# OT IDF issue https://github.com/espressif/esp-idf/issues/15069
32+
# CONFIG_OPENTHREAD_DNS64_CLIENT=y
33+
34+
# Radio for RPC
35+
# CONFIG_OPENTHREAD_RADIO=y
36+
# CONFIG_OPENTHREAD_RADIO_NATIVE=y
37+
# CONFIG_OPENTHREAD_DIAG=n
38+
CONFIG_OPENTHREAD_COMMISSIONER=y
39+
CONFIG_OPENTHREAD_JOINER=y
40+
CONFIG_OPENTHREAD_CLI=y
41+
CONFIG_OPENTHREAD_SRP_CLIENT=y
42+
CONFIG_OPENTHREAD_DNS_CLIENT=y
43+
# Default dataset for quick start
44+
CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP"
45+
CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX="fd00:db8:a0:0::/64"
46+
CONFIG_OPENTHREAD_NETWORK_CHANNEL=15
47+
CONFIG_OPENTHREAD_NETWORK_PANID=0x1234
48+
CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe"
49+
CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff"
50+
CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53"
51+
# end of OpenThread
52+
53+
# Matter settings: OpenThread + CHIPoBLE
54+
CONFIG_ENABLE_CHIPOBLE=y
55+
CONFIG_ENABLE_MATTER_OVER_THREAD=y
56+
# Disable Matter over WiFi
57+
CONFIG_ENABLE_WIFI_AP=n
58+
CONFIG_ENABLE_WIFI_STATION=n
59+
60+
#
61+
# Zigbee
62+
#
63+
CONFIG_ZB_ENABLED=y
64+
CONFIG_ZB_ZED=y
65+
CONFIG_ZB_RADIO_NATIVE=y
66+
# end of Zigbee

configs/defconfig.esp32c6

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
CONFIG_BT_ENABLED=y
2-
CONFIG_BT_BLE_BLUFI_ENABLE=y
2+
CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y
3+
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n
4+
CONFIG_BTDM_CTRL_MODE_BTDM=n
5+
CONFIG_BT_BLUEDROID_ENABLED=n
6+
CONFIG_BT_NIMBLE_ENABLED=y
7+
CONFIG_BT_NIMBLE_BLUFI_ENABLE=y
38
CONFIG_RTC_CLK_CAL_CYCLES=576
49
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
510
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
@@ -39,8 +44,14 @@ CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff"
3944
CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53"
4045
# end of OpenThread
4146

42-
# Matter shall use only WiFi
43-
CONFIG_ENABLE_MATTER_OVER_THREAD=n
47+
# Matter settings: WiFi and OpenThread + CHIPoBLE
48+
CONFIG_ENABLE_CHIPOBLE=y
49+
CONFIG_ENABLE_MATTER_OVER_THREAD=y
50+
# Set endpoint id for Thread and Wi-Fi, depending on the secondary network interface endpoint id.
51+
CONFIG_THREAD_NETWORK_ENDPOINT_ID=2
52+
CONFIG_WIFI_NETWORK_ENDPOINT_ID=0
53+
# increase the maximum number of endpoints per device
54+
CONFIG_ESP_MATTER_MAX_DYNAMIC_ENDPOINT_COUNT=32
4455

4556
#
4657
# Zigbee

configs/defconfig.esp32h2

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
CONFIG_BT_ENABLED=y
2-
CONFIG_BT_BLE_BLUFI_ENABLE=y
2+
CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y
3+
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n
4+
CONFIG_BTDM_CTRL_MODE_BTDM=n
5+
CONFIG_BT_BLUEDROID_ENABLED=n
6+
CONFIG_BT_NIMBLE_ENABLED=y
7+
CONFIG_BT_NIMBLE_BLUFI_ENABLE=y
38
CONFIG_RTC_CLK_CAL_CYCLES=576
49
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
510
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
@@ -35,6 +40,13 @@ CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff"
3540
CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53"
3641
# end of OpenThread
3742

43+
# Matter settings: OpenThread + CHIPoBLE
44+
CONFIG_ENABLE_CHIPOBLE=y
45+
CONFIG_ENABLE_MATTER_OVER_THREAD=y
46+
# Disable Matter over WiFi
47+
CONFIG_ENABLE_WIFI_AP=n
48+
CONFIG_ENABLE_WIFI_STATION=n
49+
3850
#
3951
# Zigbee
4052
#

0 commit comments

Comments
 (0)