# 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 USB

config USB_NRFX
	default y

config USB_DEVICE_STACK
	default y

endif # USB

config IEEE802154_NRF5
	default y
	depends on IEEE802154

config BT_CTLR
	default BT

endif # BOARD_PARTICLE_ARGON
