# Kconfig - Electronut Labs Papyr board configuration
#
# Copyright (c) 2018 Electronut Labs
#
# SPDX-License-Identifier: Apache-2.0

if BOARD_NRF52840_PAPYR

config BOARD
	default "nrf52840_papyr"

if USB

config USB_NRF52840
	default y

config USB_DEVICE_STACK
	default y

endif # USB

if IEEE802154

config IEEE802154_NRF5
	default y

endif # IEEE802154

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_PAPYR
