# 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_STM32_PORT_1
	default y

endif # UART_CONSOLE

if I2C

config I2C_1
	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

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
	default y

config NET_L2_BT_ZEP1656
	default y

endif # NETWORKING

endif # BOARD_96B_CARBON
