diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index c76e45a6b..c29be2464 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - target: [esp32, esp32s2, esp32s3, esp32c2, esp32c3, esp32c6, esp32h2, esp32p4, esp32c5] + target: [esp32, esp32s2, esp32s3, esp32c2, esp32c3, esp32c6, esp32h2, esp32p4, esp32c5, esp32c61] fail-fast: false steps: - name: Checkout repository diff --git a/configs/builds.json b/configs/builds.json index d40c15d2f..74f9b41b0 100644 --- a/configs/builds.json +++ b/configs/builds.json @@ -4,7 +4,7 @@ "file":"libspi_flash.a", "src":"build/esp-idf/spi_flash/libspi_flash.a", "out":"lib/libspi_flash.a", - "targets":["esp32","esp32c2","esp32c3","esp32s2","esp32s3","esp32c6","esp32h2","esp32p4","esp32c5"] + "targets":["esp32","esp32c2","esp32c3","esp32s2","esp32s3","esp32c6","esp32h2","esp32p4","esp32c5", "esp32c61"] }, { "file":"libesp_psram.a", @@ -44,6 +44,21 @@ } ], "targets":[ + { + "target": "esp32c61", + "skip": 1, + "features":["qio_ram"], + "idf_libs":["qio","80m"], + "bootloaders":[ + ["qio","80m"], + ["dio","80m"], + ["qio","40m"], + ["dio","40m"] + ], + "mem_variants":[ + ["dio","80m"] + ] + }, { "target": "esp32c5", "features":["qio_ram"], diff --git a/configs/defconfig.esp32c5 b/configs/defconfig.esp32c5 index 2ad03f3ac..4a71edfd3 100644 --- a/configs/defconfig.esp32c5 +++ b/configs/defconfig.esp32c5 @@ -15,10 +15,6 @@ CONFIG_BT_NIMBLE_NVS_PERSIST=y CONFIG_RTC_CLK_CAL_CYCLES=576 # CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304 -# This Enables RISCV LP for C6 - but it can't be used within Arduino at this time. -#CONFIG_ULP_COPROC_ENABLED=y -#CONFIG_ULP_COPROC_LP_CORE=y -#CONFIG_ULP_COPROC_RESERVE_MEM=4096 # # OpenThread diff --git a/configs/defconfig.esp32c61 b/configs/defconfig.esp32c61 new file mode 100644 index 000000000..923b9d37c --- /dev/null +++ b/configs/defconfig.esp32c61 @@ -0,0 +1,13 @@ +CONFIG_SPIRAM=y + +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_BLUFI_ENABLE=y +CONFIG_BT_NIMBLE_NVS_PERSIST=y +CONFIG_RTC_CLK_CAL_CYCLES=576 +# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304 diff --git a/main/idf_component.yml b/main/idf_component.yml index 4ba96d85a..2a89f7828 100644 --- a/main/idf_component.yml +++ b/main/idf_component.yml @@ -20,4 +20,4 @@ dependencies: version: "1.4.1" require: public rules: - - if: "target not in [esp32c2, esp32p4]" + - if: "target not in [esp32c2, esp32p4, esp32c61]" diff --git a/tools/copy-libs.sh b/tools/copy-libs.sh index a49b851f0..03af32580 100755 --- a/tools/copy-libs.sh +++ b/tools/copy-libs.sh @@ -452,10 +452,17 @@ for item; do mkdir -p "$out_cpath$rel_p" cp -n $f "$out_cpath$rel_p/" done - # Temporary measure to fix issues caused by https://github.com/espressif/esp-idf/commit/dc4731101dd567cc74bbe4d0f03afe52b7db9afb#diff-1d2ce0d3989a80830fdf230bcaafb3117f32046d16cf46616ac3d55b4df2a988R17 - if [[ "$fname" == "bt" && "$out_sub" == "/include/$IDF_TARGET/include" && -f "$ipath/controller/$IDF_TARGET/esp_bt_cfg.h" ]]; then - mkdir -p "$AR_SDK/include/$fname/controller/$IDF_TARGET" - cp -n "$ipath/controller/$IDF_TARGET/esp_bt_cfg.h" "$AR_SDK/include/$fname/controller/$IDF_TARGET/esp_bt_cfg.h" + + # Copy the the files in /include/esp32*/include for the soc found in bt + # This is necessary as there might be cross soc dependencies in the bt component. + # For example, the esp32c61 requires the esp_bt_cfg.h and esp_bt.h from the esp32c6. + if [[ "$fname" == "bt" && "$out_sub" =~ ^/include/esp32[^/]+/include$ ]]; then + soc_name=$(echo "$out_sub" | sed -n 's|/include/\(esp32[^/]*\)/include$|\1|p') + echo "Copying bt config file for soc: $soc_name" + if [ -n "$soc_name" ] && [ -f "$ipath/controller/$soc_name/esp_bt_cfg.h" ]; then + mkdir -p "$AR_SDK/include/$fname/controller/$soc_name" + cp -n "$ipath/controller/$soc_name/esp_bt_cfg.h" "$AR_SDK/include/$fname/controller/$soc_name/esp_bt_cfg.h" + fi fi fi done