8ded57d3a2
CC1200 is a sub-ghz chip supporting 6 ISM & SRD bands: 169, 433, 470, 868, 915 and 920 MHz, with features dedicated to IEEE 802.15.4(g). Current driver enables CC1200 against actual IEEE 802.15.4 Soft-MAC. 'g' version support in the Soft-MAC will follow later. The chip itself is closer to a bare metal radio modem than to a usual 15.4 chip: up to the user to provide the right RF settings for the carrier band. Such settings can be generaten through TI's SmartRF tool. Hopefully, for channel selection, this driver will be clever enough to compute the proper register change without any special input from the user. This will work for all the bands supported by the chip. Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
188 lines
4.7 KiB
Plaintext
188 lines
4.7 KiB
Plaintext
# Kconfig.cc1200 - TI CC1200 configuration options
|
|
#
|
|
|
|
menuconfig IEEE802154_CC1200
|
|
bool "TI CC1200 Driver support"
|
|
depends on NETWORKING
|
|
select NET_L2_IEEE802154_SUB_GHZ
|
|
default n
|
|
|
|
if IEEE802154_CC1200
|
|
|
|
config IEEE802154_CC1200_DRV_NAME
|
|
string "TI CC1200 Driver's name"
|
|
default "cc1200"
|
|
help
|
|
This option sets the driver name
|
|
|
|
config IEEE802154_CC1200_SPI_DRV_NAME
|
|
string "SPI driver's name to use to access CC1200"
|
|
default ""
|
|
help
|
|
This option is mandatory to set which SPI controller to use in order
|
|
to actually control the CC1200 chip.
|
|
|
|
config IEEE802154_CC1200_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_CC1200_SPI_SLAVE
|
|
int "SPI slave linked to CC1200"
|
|
default 0
|
|
help
|
|
This option sets the SPI slave number SPI controller has to switch
|
|
to when dealing with CC1200 chip.
|
|
|
|
config IEEE802154_CC1200_GPIO_SPI_CS
|
|
bool "Manage SPI CS through a GPIO pin"
|
|
default n
|
|
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_CC1200_GPIO_SPI_CS_DRV_NAME
|
|
string "GPIO driver's name to use to drive SPI CS through"
|
|
default ""
|
|
depends on IEEE802154_CC1200_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_CC1200_GPIO_SPI_CS_PIN
|
|
int "GPIO PIN to use to drive SPI CS through"
|
|
default 0
|
|
depends on IEEE802154_CC1200_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_CC1200_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_CC1200_INIT_PRIO
|
|
int "CC1200 initialization priority"
|
|
default 80
|
|
help
|
|
Set the initialization priority number. Do not mess with it unless
|
|
you know what you are doing. Beware cc1200 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_CC1200_RANDOM_MAC
|
|
bool "Random MAC address"
|
|
default y
|
|
help
|
|
Generate a random MAC address dynamically.
|
|
|
|
if ! IEEE802154_CC1200_RANDOM_MAC
|
|
|
|
config IEEE802154_CC1200_MAC4
|
|
hex "MAC Address Byte 4"
|
|
default 0
|
|
range 0 ff
|
|
help
|
|
This is the byte 4 of the MAC address.
|
|
|
|
config IEEE802154_CC1200_MAC5
|
|
hex "MAC Address Byte 5"
|
|
default 0
|
|
range 0 ff
|
|
help
|
|
This is the byte 5 of the MAC address.
|
|
|
|
config IEEE802154_CC1200_MAC6
|
|
hex "MAC Address Byte 6"
|
|
default 0
|
|
range 0 ff
|
|
help
|
|
This is the byte 6 of the MAC address.
|
|
|
|
config IEEE802154_CC1200_MAC7
|
|
hex "MAC Address Byte 7"
|
|
default 0
|
|
range 0 ff
|
|
help
|
|
This is the byte 7 of the MAC address.
|
|
|
|
endif # IEEE802154_CC1200_RANDOM_MAC
|
|
|
|
config IEEE802154_CC1200_XOSC
|
|
int "Value of the Crystal oscillator in kHz"
|
|
default 40000
|
|
help
|
|
This sets the XOSC value, it must be between 38400 and 40000.
|
|
This value should follow what has been set in the RF settings via
|
|
SmartRF tool. Do not touch this unless you know what you are doing.
|
|
|
|
config IEEE802154_CC1200_RF_PRESET
|
|
bool "Use TI CC1200 RF pre-sets"
|
|
default y
|
|
|
|
choice
|
|
prompt "TI CC1200 RF preset"
|
|
default IEEE802154_CC1200_RF_SET_0
|
|
depends on IEEE802154_CC1200_RF_PRESET
|
|
help
|
|
Set the RF preset you want to use.
|
|
|
|
config IEEE802154_CC1200_RF_SET_0
|
|
bool "868MHz - 50Kbps - 2-GFSK - IEEE 802.15.4g compliant - ETSI"
|
|
|
|
config IEEE802154_CC1200_RF_SET_1
|
|
bool "920MHz - 50Kbps - 2-GFSK - IEEE 802.15.4g compliant - ARIB"
|
|
|
|
config IEEE802154_CC1200_RF_SET_2
|
|
bool "434MHz - 50Kbjt - 2-GFSK - IEEE 802.15.4g compliant - ETSI"
|
|
|
|
endchoice
|
|
|
|
config IEEE802154_CC1200_CCA_THRESHOLD
|
|
int "Value in dbm of the CCA threshold"
|
|
default -91
|
|
help
|
|
Set the CCA threshold. See datasheet's AGC_CS_THR register for
|
|
more information. Do not touch this unless you know what you are doing.
|
|
|
|
config IEEE802154_CC1200_RSSI_OFFSET
|
|
int "Value in dbm of the RSSI offset"
|
|
default -81
|
|
help
|
|
Set the gain adjustment. See datasheet's AGC_GAIN_ADJUST register for
|
|
more information. Do not touch this unless you know what you are doing.
|
|
|
|
# Do no touch below settings unless you know what you are doing
|
|
config IEEE802154_CC1200_SETTLING_CFG
|
|
hex
|
|
default 0x03
|
|
|
|
config IEEE802154_CC1200_PKTCFG0
|
|
hex
|
|
default 0x20
|
|
|
|
config IEEE802154_CC1200_PKTCFG1
|
|
hex
|
|
default 0x03
|
|
|
|
config IEEE802154_CC1200_PKTCFG2
|
|
hex
|
|
default 0x00
|
|
|
|
config IEEE802154_CC1200_RFEND_CFG1
|
|
hex
|
|
default 0x3F
|
|
|
|
config IEEE802154_CC1200_RFEND_CFG0
|
|
hex
|
|
default 0x00
|
|
|
|
endif # IEEE802154_CC1200
|