# Kconfig - nRF51 PCA10028 board configuration
#
# Copyright (c) 2016 Linaro Limited.
#
# SPDX-License-Identifier: Apache-2.0

if BOARD_NRF51_PCA10028

config BOARD
	default "nrf51_pca10028"

if ADC

config ADC_0
	default y

endif # ADC

if I2C

config I2C_0
	default y

endif # I2C

if SPI

config SPI_1
	default y

endif # SPI

config BT_CTLR
	default BT

endif # BOARD_NRF51_PCA10028
