zephyr/drivers/ieee802154/Kconfig.cc1200
Florian Grandel a12a6ab5b9 drivers: ieee802154: introduce channel pages
Replaces the previous approach to define bands via hardware capabilities
by the standard conforming concept of channel pages.

In the short term this allows us to correctly calculate the PHY specific
symbol rate and several parameters that directly depend from the symbol
rate and were previously not being correctly calculated for some of the
drivers whose channel pages could not be represented previously:
* We now support sub-nanosecond precision symbol rates for UWB. Rounding
  errors are being minimized by switching from a divide-then-multiply
  approach to a multiply-then-divide approach.
* UWB HRP: symbol rate depends on channel page specific preamble symbol
  rate which again requires the pulse repetition value to be known
* Several MAC timings are being corrected based on the now correctly
  calculated symbol rates, namely aTurnaroundTime, aUnitBackoffPeriod,
  aBaseSuperframeDuration.

In the long term, this change unlocks such highly promising functional
areas as UWB ranging and SUN-PHY channel hopping in the SubG area (plus
of course any other PHY specific feature).

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-09-27 12:44:15 -04:00

146 lines
3.8 KiB
Plaintext

# TI CC1200 configuration options
# SPDX-License-Identifier: Apache-2.0
menuconfig IEEE802154_CC1200
bool "TI CC1200 Driver support"
default y
depends on DT_HAS_TI_CC1200_ENABLED
if IEEE802154_CC1200
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 0xff
help
This is the byte 4 of the MAC address.
config IEEE802154_CC1200_MAC5
hex "MAC Address Byte 5"
default 0
range 0 0xff
help
This is the byte 5 of the MAC address.
config IEEE802154_CC1200_MAC6
hex "MAC Address Byte 6"
default 0
range 0 0xff
help
This is the byte 6 of the MAC address.
config IEEE802154_CC1200_MAC7
hex "MAC Address Byte 7"
default 0
range 0 0xff
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 "IEEE 802.15.4g SUN MR-FSK, 863MHz band, mode #1 - channel page 9, 34 channels, 50Kbps (ETSI)"
help
This is a legacy IEEE 802.15.4g-2012 SUN MR-FSK PHY that does no
longer exist in recent standards (IEEE 802.15.4-2015+).
config IEEE802154_CC1200_RF_SET_1
bool "IEEE 802.15.4g SUN MR-FSK 920MHz band, mode #1 - channel page 9, 39 channels, 50Kbps (ARIB)"
help
This is a legacy IEEE 802.15.4g-2012 SUN MR-FSK PHY that does no
longer exist in recent standards (IEEE 802.15.4-2015+).
config IEEE802154_CC1200_RF_SET_2
bool "IEEE 802.15.4 Non-Standard 2-GFSK 433MHz band - channel page 9, 15 channels, 50Kbps (ETSI)"
help
This is a non-standard PHY similar to the IEEE 802.15.4g-2012 SUN
MR-FSK PHY but not in one of the standard bands.
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