From e85ebc6859c8136a1ec97509c69f7c2c6132cb4f Mon Sep 17 00:00:00 2001
From: Manuel <71137295+mverch67@users.noreply.github.com>
Date: Mon, 13 Apr 2026 21:31:45 +0200
Subject: [PATCH] enable esp_hosted for esp32-p4 (experimental)
---
variants/esp32p4/esp32p4.ini | 50 ++++++++++++++++++++++++++++++------
1 file changed, 42 insertions(+), 8 deletions(-)
diff --git a/variants/esp32p4/esp32p4.ini b/variants/esp32p4/esp32p4.ini
index 9ebc2a331..c8caf8b05 100644
--- a/variants/esp32p4/esp32p4.ini
+++ b/variants/esp32p4/esp32p4.ini
@@ -8,26 +8,60 @@ build_unflags=
build_flags =
${esp32_common.build_flags}
- -DHAS_BLUETOOTH=0
- -DHAS_WIFI=0
- -DMESHTASTIC_EXCLUDE_BLUETOOTH=1
- -DMESHTASTIC_EXCLUDE_WIFI=1
-DMESHTASTIC_EXCLUDE_MQTT=1
-DMESHTASTIC_EXCLUDE_PAXCOUNTER=1
build_src_filter =
- ${esp32_common.build_src_filter} - - - - - - - - - -
+ ${esp32_common.build_src_filter} - - - - - - -
monitor_speed = 460800
monitor_filters = esp32_c3_exception_decoder
+; Override esp32_common component pruning: keep esp_hosted + esp_wifi_remote for P4 hosted BT
+custom_component_remove =
+ espressif/esp_modem
+ espressif/esp-dsp
+ espressif/esp32-camera
+ espressif/libsodium
+ espressif/esp-modbus
+ espressif/qrcode
+ espressif/esp_insights
+ espressif/esp_diag_data_store
+ espressif/esp_diagnostics
+ espressif/esp_rainmaker
+ espressif/rmaker_common
+ espressif/network_provisioning
+ chmorgan/esp-libhelix-mp3
+ espressif/esp-tflite-micro
+ espressif/esp-sr
+ espressif/esp_matter
+ espressif/esp-zboss-lib
+ espressif/esp-zigbee-lib
+ espressif/mqtt
+
custom_sdkconfig =
${esp32_common.custom_sdkconfig}
CONFIG_ARDUINO_SELECTIVE_SD_MMC=y
- CONFIG_BT_ENABLED=n
- CONFIG_BT_NIMBLE_ENABLED=n
+ CONFIG_BT_ENABLED=y
+ CONFIG_BT_NIMBLE_ENABLED=y
CONFIG_BT_NIMBLE_EXT_ADV=n
- ;CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y ; remove for production version
+ CONFIG_ESP_WIFI_REMOTE_ENABLED=n
+ CONFIG_ESP_HOSTED_ENABLED=y
+ CONFIG_ESP_HOSTED_SDIO_HOST_INTERFACE=y
+ CONFIG_ESP_HOSTED_IDF_SLAVE_TARGET="esp32c6"
+ CONFIG_ESP_HOSTED_ENABLE_BT_NIMBLE=y
+ CONFIG_ESP_HOSTED_NIMBLE_HCI_VHCI=y
+ CONFIG_ESP_HOSTED_ENABLE_PEER_DATA_TRANSFER=y
+ CONFIG_ESP_HOSTED_MAX_CUSTOM_MSG_HANDLERS=3
+ ; Prefer conservative reset behavior across P4 hosts
+ CONFIG_ESP_HOSTED_SLAVE_RESET_ON_EVERY_HOST_BOOTUP=n
+ CONFIG_ESP_HOSTED_SLAVE_RESET_ONLY_IF_NECESSARY=y
+ ; SOC_LCD (MUI / lovyanGFX)
+ CONFIG_SOC_LCD_I80_SUPPORTED=y
+ CONFIG_SOC_LCD_RGB_SUPPORTED=y
+ CONFIG_SOC_MIPI_DSI_SUPPORTED=y
+ CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y ; remove for production version
+ ;CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y; for production version
;CONFIG_ESP_SYSTEM_PANIC_GDBSTUB=y ; for target debugging
lib_ignore =