Skip to content

Commit 00d34bb

Browse files
lucasssvazP-R-O-C-H-YSuGlider
committed
feat(esp32c61): Add support for ESP32-C61
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com> Co-authored-by: Sugar Glider <rodrigo.garcia@espressif.com>
1 parent 45c1b25 commit 00d34bb

File tree

5 files changed

+79
-10
lines changed

5 files changed

+79
-10
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, esp32c5]
28+
target: [esp32, esp32s2, esp32s3, esp32c2, esp32c3, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61]
2929
fail-fast: false
3030
steps:
3131
- name: Checkout repository

configs/builds.json

Lines changed: 16 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","esp32c5"]
7+
"targets":["esp32","esp32c2","esp32c3","esp32s2","esp32s3","esp32c6","esp32h2","esp32p4","esp32c5", "esp32c61"]
88
},
99
{
1010
"file":"libesp_psram.a",
@@ -44,6 +44,21 @@
4444
}
4545
],
4646
"targets":[
47+
{
48+
"target": "esp32c61",
49+
"skip": 1,
50+
"features":["qio_ram"],
51+
"idf_libs":["qio","80m"],
52+
"bootloaders":[
53+
["qio","80m"],
54+
["dio","80m"],
55+
["qio","40m"],
56+
["dio","40m"]
57+
],
58+
"mem_variants":[
59+
["dio","80m"]
60+
]
61+
},
4762
{
4863
"target": "esp32c5",
4964
"features":["qio_ram"],

configs/defconfig.esp32c5

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@ CONFIG_BT_NIMBLE_NVS_PERSIST=y
1515
CONFIG_RTC_CLK_CAL_CYCLES=576
1616
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
1717
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
18-
# This Enables RISCV LP for C6 - but it can't be used within Arduino at this time.
19-
#CONFIG_ULP_COPROC_ENABLED=y
20-
#CONFIG_ULP_COPROC_LP_CORE=y
21-
#CONFIG_ULP_COPROC_RESERVE_MEM=4096
2218

2319
#
2420
# OpenThread

configs/defconfig.esp32c61

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
CONFIG_SPIRAM=y
2+
3+
CONFIG_BT_ENABLED=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
10+
CONFIG_BT_NIMBLE_NVS_PERSIST=y
11+
CONFIG_RTC_CLK_CAL_CYCLES=576
12+
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
13+
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
14+
15+
#
16+
# OpenThread
17+
#
18+
CONFIG_OPENTHREAD_ENABLED=y
19+
# Border Router disabled
20+
# CONFIG_OPENTHREAD_BORDER_ROUTER=y
21+
# CONFIG_OPENTHREAD_RADIO_SPINEL_UART=y
22+
23+
# DNS64 and NAT64 will be disabled for a while
24+
# OT IDF issue https://github.com/espressif/esp-idf/issues/15069
25+
# CONFIG_OPENTHREAD_DNS64_CLIENT=y
26+
27+
# Radio for RPC
28+
# CONFIG_OPENTHREAD_RADIO=y
29+
# CONFIG_OPENTHREAD_RADIO_NATIVE=y
30+
# CONFIG_OPENTHREAD_DIAG=n
31+
CONFIG_OPENTHREAD_COMMISSIONER=y
32+
CONFIG_OPENTHREAD_JOINER=y
33+
CONFIG_OPENTHREAD_CLI=y
34+
CONFIG_OPENTHREAD_SRP_CLIENT=y
35+
CONFIG_OPENTHREAD_DNS_CLIENT=y
36+
# Default dataset for quick start
37+
CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP"
38+
CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX="fd00:db8:a0:0::/64"
39+
CONFIG_OPENTHREAD_NETWORK_CHANNEL=15
40+
CONFIG_OPENTHREAD_NETWORK_PANID=0x1234
41+
CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe"
42+
CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff"
43+
CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53"
44+
# end of OpenThread
45+
46+
# Matter settings: WiFi and OpenThread + CHIPoBLE
47+
CONFIG_ENABLE_CHIPOBLE=y
48+
CONFIG_ENABLE_MATTER_OVER_THREAD=y
49+
# Set endpoint id for Thread and Wi-Fi, depending on the secondary network interface endpoint id.
50+
CONFIG_THREAD_NETWORK_ENDPOINT_ID=2
51+
CONFIG_WIFI_NETWORK_ENDPOINT_ID=0

tools/copy-libs.sh

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -452,10 +452,17 @@ for item; do
452452
mkdir -p "$out_cpath$rel_p"
453453
cp -n $f "$out_cpath$rel_p/"
454454
done
455-
# Temporary measure to fix issues caused by https://github.com/espressif/esp-idf/commit/dc4731101dd567cc74bbe4d0f03afe52b7db9afb#diff-1d2ce0d3989a80830fdf230bcaafb3117f32046d16cf46616ac3d55b4df2a988R17
456-
if [[ "$fname" == "bt" && "$out_sub" == "/include/$IDF_TARGET/include" && -f "$ipath/controller/$IDF_TARGET/esp_bt_cfg.h" ]]; then
457-
mkdir -p "$AR_SDK/include/$fname/controller/$IDF_TARGET"
458-
cp -n "$ipath/controller/$IDF_TARGET/esp_bt_cfg.h" "$AR_SDK/include/$fname/controller/$IDF_TARGET/esp_bt_cfg.h"
455+
456+
# Copy the the files in /include/esp32*/include for the soc found in bt
457+
# This is necessary as there might be cross soc dependencies in the bt component.
458+
# For example, the esp32c61 requires the esp_bt_cfg.h and esp_bt.h from the esp32c6.
459+
if [[ "$out_sub" =~ ^/include/esp32[^/]+/include$ ]]; then
460+
soc_name=$(echo "$out_sub" | sed -n 's|/include/\(esp32[^/]*\)/include$|\1|p')
461+
echo "Copying bt config file for soc: $soc_name"
462+
if [ -n "$soc_name" ] && [ -f "$ipath/controller/$soc_name/esp_bt_cfg.h" ]; then
463+
mkdir -p "$AR_SDK/include/$fname/controller/$soc_name"
464+
cp -n "$ipath/controller/$soc_name/esp_bt_cfg.h" "$AR_SDK/include/$fname/controller/$soc_name/esp_bt_cfg.h"
465+
fi
459466
fi
460467
fi
461468
done

0 commit comments

Comments
 (0)