# Kconfig - 96boards Carbon board configuration
#
# Copyright (c) 2016 Linaro Limited.
#
# SPDX-License-Identifier: Apache-2.0
#

if BOARD_96B_CARBON

config BOARD
	default "96b_carbon"

if UART_CONSOLE

config UART_1
	default y

endif # UART_CONSOLE

if SERIAL

config UART_2
	default y

config UART_6
	default y

endif # SERIAL

if I2C

config I2C_1
	default y

config I2C_2
	default y

endif # I2C

if SPI

config SPI_1
	default y

config SPI_2
	default y

config SPI_STM32_INTERRUPT
	default y

endif # SPI

if BT

config SPI
	default y

choice BT_HCI_BUS_TYPE
	default BT_SPI
endchoice

endif # BT

if NETWORKING

# BT is the only onboard network iface, so use it for IP networking
# if it's enabled

config NET_L2_BT
	depends on NET_IPV6
	default y

config NET_L2_BT_ZEP1656
	depends on NET_IPV6
	default y

endif # NETWORKING

endif # BOARD_96B_CARBON
