blob: 4c96813480fe1b8664147d58e5befa1eed214aec [file] [log] [blame]
# 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
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"
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_GPIO_SPI_CS
bool "Manage SPI CS through a GPIO pin"
help
This option is useful if one needs to manage SPI CS through a GPIO
pin to by-pass the SPI controller's CS logic.
config IEEE802154_CC2520_GPIO_SPI_CS_DRV_NAME
string "GPIO driver's name to use to drive SPI CS through"
depends on IEEE802154_CC2520_GPIO_SPI_CS
help
This option is mandatory to set which GPIO controller to use in order
to actually emulate the SPI CS.
config IEEE802154_CC2520_GPIO_SPI_CS_PIN
int "GPIO PIN to use to drive SPI CS through"
default 0
depends on IEEE802154_CC2520_GPIO_SPI_CS
help
This option is mandatory to set which GPIO pin to use in order
to actually emulate the SPI CS.
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 0xff
help
This is the byte 4 of the MAC address.
config IEEE802154_CC2520_MAC5
hex "MAC Address Byte 5"
default 0
range 0 0xff
help
This is the byte 5 of the MAC address.
config IEEE802154_CC2520_MAC6
hex "MAC Address Byte 6"
default 0
range 0 0xff
help
This is the byte 6 of the MAC address.
config IEEE802154_CC2520_MAC7
hex "MAC Address Byte 7"
default 0
range 0 0xff
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"
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.
endif # IEEE802154_CC2520