# M5Stack STAMP-C3 board configuration

# Copyright 2022 TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
# SPDX-License-Identifier: Apache-2.0

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

if BT

choice BT_HCI_BUS_TYPE
	default BT_ESP32
endchoice

endif # BT
