From 971f76c8182080a45d6e1a268efa07273413a69c Mon Sep 17 00:00:00 2001 From: Jan Prochazka <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Wed, 31 Jul 2024 11:48:43 +0200 Subject: [PATCH 1/3] patch(ble): Add patch to fix WiFiProvisiong on ESP32C6 --- patches/esp32c6_provisioning_bluedroid.diff | 12 ++++++++++++ tools/install-esp-idf.sh | 1 + 2 files changed, 13 insertions(+) create mode 100644 patches/esp32c6_provisioning_bluedroid.diff diff --git a/patches/esp32c6_provisioning_bluedroid.diff b/patches/esp32c6_provisioning_bluedroid.diff new file mode 100644 index 000000000..60cc92b6c --- /dev/null +++ b/patches/esp32c6_provisioning_bluedroid.diff @@ -0,0 +1,12 @@ +diff --git a/components/protocomm/src/simple_ble/simple_ble.c b/components/protocomm/src/simple_ble/simple_ble.c +index 8a4ae0f3d9..cd6421c6e5 100644 +--- a/components/protocomm/src/simple_ble/simple_ble.c ++++ b/components/protocomm/src/simple_ble/simple_ble.c +@@ -225,7 +225,7 @@ esp_err_t simple_ble_start(simple_ble_cfg_t *cfg) +#ifdef CONFIG_BTDM_CTRL_MODE_BTDM + ret = esp_bt_controller_enable(ESP_BT_MODE_BTDM); +-#elif defined CONFIG_BTDM_CTRL_MODE_BLE_ONLY || CONFIG_BT_CTRL_MODE_EFF ++#elif defined CONFIG_BTDM_CTRL_MODE_BLE_ONLY || CONFIG_BT_CTRL_MODE_EFF || CONFIG_IDF_TARGET_ESP32C6 + ret = esp_bt_controller_enable(ESP_BT_MODE_BLE); +#else + ESP_LOGE(TAG, "Configuration mismatch. Select BLE Only or BTDM mode from menuconfig"); \ No newline at end of file diff --git a/tools/install-esp-idf.sh b/tools/install-esp-idf.sh index 858e1381f..e7f101c2c 100755 --- a/tools/install-esp-idf.sh +++ b/tools/install-esp-idf.sh @@ -40,6 +40,7 @@ if [ ! -x $idf_was_installed ] || [ ! -x $commit_predefined ]; then patch -p1 -N -i ../patches/esp32s2_i2c_ll_master_init.diff patch -p1 -N -i ../patches/mmu_map.diff patch -p1 -N -i ../patches/lwip_max_tcp_pcb.diff + patch -p1 -N -i ../patches/esp32c6_provisioning_bluedroid.diff cd - fi From 4960c474a2a151f145f6031cb8b359ab10364087 Mon Sep 17 00:00:00 2001 From: Jan Prochazka <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Wed, 31 Jul 2024 12:11:34 +0200 Subject: [PATCH 2/3] fix(): Diff formatting --- patches/esp32c6_provisioning_bluedroid.diff | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/patches/esp32c6_provisioning_bluedroid.diff b/patches/esp32c6_provisioning_bluedroid.diff index 60cc92b6c..98371b8aa 100644 --- a/patches/esp32c6_provisioning_bluedroid.diff +++ b/patches/esp32c6_provisioning_bluedroid.diff @@ -3,10 +3,10 @@ index 8a4ae0f3d9..cd6421c6e5 100644 --- a/components/protocomm/src/simple_ble/simple_ble.c +++ b/components/protocomm/src/simple_ble/simple_ble.c @@ -225,7 +225,7 @@ esp_err_t simple_ble_start(simple_ble_cfg_t *cfg) -#ifdef CONFIG_BTDM_CTRL_MODE_BTDM + #ifdef CONFIG_BTDM_CTRL_MODE_BTDM ret = esp_bt_controller_enable(ESP_BT_MODE_BTDM); -#elif defined CONFIG_BTDM_CTRL_MODE_BLE_ONLY || CONFIG_BT_CTRL_MODE_EFF +#elif defined CONFIG_BTDM_CTRL_MODE_BLE_ONLY || CONFIG_BT_CTRL_MODE_EFF || CONFIG_IDF_TARGET_ESP32C6 ret = esp_bt_controller_enable(ESP_BT_MODE_BLE); -#else - ESP_LOGE(TAG, "Configuration mismatch. Select BLE Only or BTDM mode from menuconfig"); \ No newline at end of file + #else + ESP_LOGE(TAG, "Configuration mismatch. Select BLE Only or BTDM mode from menuconfig"); From 2e50d4d445e69000ba9ee625e2a52bca72f4c296 Mon Sep 17 00:00:00 2001 From: Jan Prochazka <90197375+P-R-O-C-H-Y@users.noreply.github.com> Date: Wed, 31 Jul 2024 12:13:14 +0200 Subject: [PATCH 3/3] fix(): Fix patches dir when IDF is not inside lib_builder --- tools/config.sh | 1 + tools/install-esp-idf.sh | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/config.sh b/tools/config.sh index 936a9c50c..ef917e846 100755 --- a/tools/config.sh +++ b/tools/config.sh @@ -45,6 +45,7 @@ AR_COMPS="$AR_ROOT/components" AR_MANAGED_COMPS="$AR_ROOT/managed_components" AR_OUT="$AR_ROOT/out" AR_TOOLS="$AR_OUT/tools" +AR_PATCHES="$AR_ROOT/patches" AR_PLATFORM_TXT="$AR_OUT/platform.txt" AR_GEN_PART_PY="$AR_TOOLS/gen_esp32part.py" AR_SDK="$AR_TOOLS/esp32-arduino-libs/$IDF_TARGET" diff --git a/tools/install-esp-idf.sh b/tools/install-esp-idf.sh index e7f101c2c..320ce0cb0 100755 --- a/tools/install-esp-idf.sh +++ b/tools/install-esp-idf.sh @@ -37,10 +37,10 @@ if [ ! -x $idf_was_installed ] || [ ! -x $commit_predefined ]; then # Temporarily patch the ESP32-S2 I2C LL driver to keep the clock source cd $IDF_PATH - patch -p1 -N -i ../patches/esp32s2_i2c_ll_master_init.diff - patch -p1 -N -i ../patches/mmu_map.diff - patch -p1 -N -i ../patches/lwip_max_tcp_pcb.diff - patch -p1 -N -i ../patches/esp32c6_provisioning_bluedroid.diff + patch -p1 -N -i $AR_PATCHES/esp32s2_i2c_ll_master_init.diff + patch -p1 -N -i $AR_PATCHES/mmu_map.diff + patch -p1 -N -i $AR_PATCHES/lwip_max_tcp_pcb.diff + patch -p1 -N -i $AR_PATCHES/esp32c6_provisioning_bluedroid.diff cd - fi