# M5Stack AtomS3 board configuration
# Copyright (c) 2023 Benjamin Cabé <benjamin@zephyrproject.org>
# SPDX-License-Identifier: Apache-2.0

if BOARD_M5STACK_ATOMS3_ESP32S3_PROCPU

config LV_COLOR_16_SWAP
	default y if LVGL

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_M5STACK_ATOMS3_ESP32S3_PROCPU

if BOARD_M5STACK_ATOMS3_ESP32S3_APPCPU

config HEAP_MEM_POOL_ADD_SIZE_BOARD
	default 256

endif # BOARD_M5STACK_ATOMS3_ESP32S3_APPCPU
