diff --git a/boards/riscv/esp32c3_devkitm/Kconfig.defconfig b/boards/riscv/esp32c3_devkitm/Kconfig.defconfig index 4978542f4bd..fd15bd80fa1 100644 --- a/boards/riscv/esp32c3_devkitm/Kconfig.defconfig +++ b/boards/riscv/esp32c3_devkitm/Kconfig.defconfig @@ -6,3 +6,17 @@ config BOARD default "esp32c3" depends on BOARD_ESP32C3_DEVKITM + +if BT + +config HEAP_MEM_POOL_SIZE + default 16384 + +config ENTROPY_GENERATOR + default y + +choice BT_HCI_BUS_TYPE + default BT_ESP32 +endchoice + +endif # BT diff --git a/boards/riscv/esp32c3_devkitm/esp32c3_devkitm_defconfig b/boards/riscv/esp32c3_devkitm/esp32c3_devkitm_defconfig index f2361455ae0..8313cb0e8db 100644 --- a/boards/riscv/esp32c3_devkitm/esp32c3_devkitm_defconfig +++ b/boards/riscv/esp32c3_devkitm/esp32c3_devkitm_defconfig @@ -10,3 +10,6 @@ CONFIG_SERIAL=y CONFIG_UART_CONSOLE=y CONFIG_UART_ROM_ESP32C3=y CONFIG_XIP=n +CONFIG_HEAP_MEM_POOL_SIZE=16384 +CONFIG_BT=y + diff --git a/drivers/bluetooth/hci/hci_esp32.c b/drivers/bluetooth/hci/hci_esp32.c index ca5f8b46b0d..21f0c152861 100644 --- a/drivers/bluetooth/hci/hci_esp32.c +++ b/drivers/bluetooth/hci/hci_esp32.c @@ -254,7 +254,7 @@ static int bt_esp32_ble_init(void) int ret; esp_bt_controller_config_t bt_cfg = BT_CONTROLLER_INIT_CONFIG_DEFAULT(); -#ifdef CONFIG_BT_BREDR +#if defined(CONFIG_BT_BREDR) && defined(CONFIG_SOC_ESP32) esp_bt_mode_t mode = ESP_BT_MODE_BTDM; #else esp_bt_mode_t mode = ESP_BT_MODE_BLE; diff --git a/soc/riscv/esp32c3/Kconfig.defconfig b/soc/riscv/esp32c3/Kconfig.defconfig index fa896074b8b..60258a4b34a 100644 --- a/soc/riscv/esp32c3/Kconfig.defconfig +++ b/soc/riscv/esp32c3/Kconfig.defconfig @@ -20,6 +20,9 @@ config GEN_SW_ISR_TABLE config GEN_IRQ_VECTOR_TABLE default n +config DYNAMIC_INTERRUPTS + default y + config XIP default n diff --git a/soc/riscv/esp32c3/linker.ld b/soc/riscv/esp32c3/linker.ld index d3e993fc08d..4ac7860ab82 100644 --- a/soc/riscv/esp32c3/linker.ld +++ b/soc/riscv/esp32c3/linker.ld @@ -150,6 +150,15 @@ SECTIONS .dram0.data : { _data_start = ABSOLUTE(.); + _bt_data_start = ABSOLUTE(.); + *libbt.a:(.data .data.*) + . = ALIGN (4); + _bt_data_end = ABSOLUTE(.); + _btdm_data_start = ABSOLUTE(.); + *libbtdm_app.a:(.data .data.*) + . = ALIGN (4); + _btdm_data_end = ABSOLUTE(.); + *(.data) *(.data.*) *(.gnu.linkonce.d.*) @@ -188,6 +197,16 @@ SECTIONS { . = ALIGN (8); __bss_start = ABSOLUTE(.); + + _bt_bss_start = ABSOLUTE(.); + *libbt.a:(.bss .bss.* COMMON) + . = ALIGN (4); + _bt_bss_end = ABSOLUTE(.); + _btdm_bss_start = ABSOLUTE(.); + *libbtdm_app.a:(.bss .bss.* COMMON) + . = ALIGN (4); + _btdm_bss_end = ABSOLUTE(.); + *(.dynsbss) *(.sbss) *(.sbss.*)