# Copyright (c) 2023 Espressif Systems (Shanghai) Co., Ltd.
# SPDX-License-Identifier: Apache-2.0

if BOARD_ESP32_DEVKITC_WROVER_ESP32_PROCPU

config HEAP_MEM_POOL_ADD_SIZE_BOARD
	int
	default 65535 if WIFI && BT
	default 51200 if WIFI
	default 40960 if BT
	default 4096

choice BT_HCI_BUS_TYPE
	default BT_ESP32 if BT
endchoice

endif # BOARD_ESP32_DEVKITC_WROVER_ESP32_PROCPU

if BOARD_ESP32_DEVKITC_WROVER_ESP32_APPCPU

config HEAP_MEM_POOL_ADD_SIZE_BOARD
	default 4096

endif # BOARD_ESP32_DEVKITC_WROVER_ESP32_APPCPU
