# Particle Argon board configuration

# Copyright (c) 2018 Matthias Boesl
# SPDX-License-Identifier: Apache-2.0

if BOARD_PARTICLE_ARGON

config BOARD
	default "particle_argon"

if ADC

config ADC_0
	default y

endif # ADC

if I2C

config I2C_0
	default y

endif # I2C

if SPI

config SPI_2
	default y

endif # SPI

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

endif # BOARD_PARTICLE_ARGON
