Linux preempt-rt

Check our new training course

Real-Time Linux with PREEMPT_RT

Check our new training course
with Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# Kconfig.cc2520 - TI CC2520 configuration options
#
#
# Copyright (c) 2017 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

menuconfig IEEE802154_CC2520
	bool "TI CC2520 Driver support"
	depends on NETWORKING
	select NET_L2_IEEE802154
	default n

if IEEE802154_CC2520

config IEEE802154_CC2520_DRV_NAME
	string "TI CC2520 Driver's name"
	default "cc2520"
	help
	This option sets the driver name

config IEEE802154_CC2520_SPI_DRV_NAME
	string "SPI driver's name to use to access CC2520"
	default ""
	help
	This option is mandatory to set which SPI controller to use in order
	to actually control the CC2520 chip.

config IEEE802154_CC2520_SPI_FREQ
	int "SPI system frequency"
	default 0
	help
	This option sets the SPI controller's frequency. Beware this value
	depends on the SPI controller being used and also on the system
	clock.

config IEEE802154_CC2520_SPI_SLAVE
	int "SPI slave linked to CC2520"
	default 0
	help
	This option sets the SPI slave number SPI controller has to switch
	to when dealing with CC2520 chip.

config IEEE802154_CC2520_RX_STACK_SIZE
	int "Driver's internal RX thread stack size"
	default 800
	help
	This option sets the driver's stack size for its internal RX thread.
	The default value should be sufficient, but in case it proves to be
	a too little one, this option makes it easy to play with the size.

config IEEE802154_CC2520_INIT_PRIO
	int "CC2520 initialization priority"
	default 80
	help
	Set the initialization priority number. Do not mess with it unless
	you know what you are doing. Beware cc2520 requires gpio and spi to
	be ready first (and sometime gpio should be the very first as spi
	might need it too). And of course it has to start before the net stack.

config IEEE802154_CC2520_RANDOM_MAC
	bool "Random MAC address"
	default y
	help
	  Generate a random MAC address dynamically.

if ! IEEE802154_CC2520_RANDOM_MAC

config IEEE802154_CC2520_MAC4
	hex "MAC Address Byte 4"
	default 0
	range 0 ff
	help
	  This is the byte 4 of the MAC address.

config IEEE802154_CC2520_MAC5
	hex "MAC Address Byte 5"
	default 0
	range 0 ff
	help
	  This is the byte 5 of the MAC address.

config IEEE802154_CC2520_MAC6
	hex "MAC Address Byte 6"
	default 0
	range 0 ff
	help
	  This is the byte 6 of the MAC address.

config IEEE802154_CC2520_MAC7
	hex "MAC Address Byte 7"
	default 0
	range 0 ff
	help
	  This is the byte 7 of the MAC address.

endif # IEEE802154_CC2520_RANDOM_MAC

config IEEE802154_CC2520_CRYPTO
	bool "Enable hardware crypto helper on cc2520"
	default n
	depends on NET_L2_IEEE802154_SECURITY
	help
	This option will expose the hardware AES encryption from CC2520.
	Such feature should not be used for anything but 802.15.4 security.
	The crypto device exposed will only support synchronous CCM operation.

config IEEE802154_CC2520_CRYPTO_DRV_NAME
	string "TI CC2520 Crypto Driver's name"
	default "cc2520_crypto"
	depends on IEEE802154_CC2520_CRYPTO
	help
	This option sets the driver name for the crypto part found on CC2520.

config IEEE802154_CC2520_CRYPTO_INIT_PRIO
	int "TI CC2520 crypto device initialization priority"
	default 81
	depends on IEEE802154_CC2520_CRYPTO
	help
	Set the initialization priority number. Do not mess with it unless
	you know what you are doing. It should be initialized after CC2520
	as it shares the same runtime context.

config IEEE802154_CC2520_RAW
	bool "TI CC2520 Driver RAW channel"
	select NET_L2_RAW_CHANNEL
	default n
	help
	Enable IEEE802154_CC2520 driver with RAW channel

	The CC2520 driver with RAW channel allows to export radio interface
	over USB making an USB 802.15.4 dongle.

endif # IEEE802154_CC2520