# Electronut Labs Blip board configuration

# Copyright (c) 2018 Electronut Labs
# SPDX-License-Identifier: Apache-2.0

if BOARD_NRF52840_BLIP

config BOARD
	default "nrf52840_blip"

if ADC

config ADC_0
	default y

endif # ADC

if USB

config USB_NRF52840
	default y

config USB_DEVICE_STACK
	default y

endif # USB

if IEEE802154

config IEEE802154_NRF5
	default y

endif # IEEE802154

config BT_CTLR
	default BT

if PWM

config PWM_0
	default y

endif # PWM

if I2C

config I2C_0
	default y

endif # I2C

if SPI

config SPI_1
	default y

endif # SPI

endif # BOARD_NRF52840_BLIP
