# BeagleConnect Freedom board configuration

# Copyright (c) 2020 Erik Larson
# Copyright (c) 2021 Jason Kridner, BeagleBoard.org Foundation
# SPDX-License-Identifier: Apache-2.0

if BOARD_BEAGLECONNECT_FREEDOM

config BOARD_ANTENNA_INIT_PRIO
	int "Board antenna switch initialization priority"
	default 70
	help
	  Set the priority for board init, must be greater than
	  KERNEL_INIT_PRIORITY_DEVICE but smaller than
	  IEEE802154_CC13XX_CC26XX_SUB_GHZ_INIT_PRIO.

endif # BOARD_BEAGLECONNECT_FREEDOM
