# nRF52 PCA20020 board configuration

# Copyright (c) 2018 Aapo Vienamo
# SPDX-License-Identifier: Apache-2.0

if BOARD_NRF52_PCA20020

config BOARD
	default "nrf52_pca20020"

if ADC

config ADC_0
	default y

endif # ADC

config I2C
	default y

if I2C

config I2C_0
	default y

config I2C_1
	default y

if I2C_0

choice I2C_0_NRF_TYPE
	default I2C_0_NRF_TWIM

endchoice

endif # I2C_0

if I2C_1

choice I2C_1_NRF_TYPE
	default I2C_1_NRF_TWIM

endchoice

config GPIO_SX1509B
	default y

config GPIO_SX1509B_INIT_PRIORITY
	default 70

endif # I2C_1

endif # I2C

config BT_CTLR
	default BT

endif # BOARD_NRF52_PCA20020
