blob: 09b524acf6db874c1c8d5109434a0fb32097870a [file] [log] [blame]
# Kconfig.mcr20a - NXP MCR20A configuration options
#
#
# Copyright (c) 2017 PHYTEC Messtechnik GmbH
#
# SPDX-License-Identifier: Apache-2.0
#
menuconfig IEEE802154_MCR20A
bool "NXP MCR20A Driver support"
depends on NETWORKING && SPI
select NET_L2_IEEE802154
default n
menuconfig IEEE802154_MCR20A_RAW
bool "NXP MCR20A Driver RAW channel"
depends on SPI
select NET_L2_RAW_CHANNEL
default n
help
Enable IEEE802154_MCR20A driver with RAW channel
The MCR20A driver with RAW channel allows to export radio interface
over USB making an USB 802.15.4 dongle.
if IEEE802154_MCR20A || IEEE802154_MCR20A_RAW
config IEEE802154_MCR20A_DRV_NAME
string "NXP MCR20A Driver's name"
default "mcr20a"
help
This option sets the driver name
config IEEE802154_MCR20A_SPI_DRV_NAME
string "SPI driver's name to use to access MCR20A"
default SPI_0_NAME
help
This option is mandatory to set which SPI controller to use in order
to actually control the MCR20A chip.
config IEEE802154_MCR20A_SPI_FREQ
int "SPI system frequency"
default 4000000
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_MCR20A_SPI_SLAVE
int "SPI slave linked to MCR20A"
default 0
help
This option sets the SPI slave number SPI controller has to switch
to when dealing with MCR20A chip.
config MCR20A_GPIO_IRQ_B_NAME
string "GPIO device used for IRQ_B output of MCR20A"
default GPIO_MCUX_PORTB_NAME
config MCR20A_GPIO_IRQ_B_PIN
int "GPIO pin connected to IRQ_B output of MCR20A"
default 9
config MCR20A_GPIO_RESET_NAME
string "GPIO device used for RESET input of MCR20A"
default GPIO_MCUX_PORTA_NAME
config MCR20A_GPIO_RESET_PIN
int "GPIO pin connected to RESET input of MCR20A"
default 2
config MCR20A_IS_PART_OF_KW2XD_SIP
bool "MCR20A device is part of KW2xD SiP"
default n
help
If this option is set, the driver does not perform a hardware
reset and the CLK_OUT frequency is not set, instead these settings
are performed during the initialization of the SoC.
choice
prompt "CLK_OUT frequency"
default MCR20A_CLK_OUT_4MHZ if MCR20A_IS_PART_OF_KW2XD_SIP
default MCR20A_CLK_OUT_DISABLED
help
Configuration of the MCR20A clock output pin.
config MCR20A_CLK_OUT_DISABLED
bool "Disabled"
config MCR20A_CLK_OUT_32MHZ
bool "32 MHz"
config MCR20A_CLK_OUT_16MHZ
bool "16 MHz"
config MCR20A_CLK_OUT_8MHZ
bool "8 MHz"
config MCR20A_CLK_OUT_4MHZ
bool "4 MHz"
config MCR20A_CLK_OUT_1MHZ
bool "1 MHz"
config MCR20A_CLK_OUT_250KHZ
bool "250 kHz"
config MCR20A_CLK_OUT_62500HZ
bool "62500 Hz"
config MCR20A_CLK_OUT_32768HZ
bool "32768 Hz"
endchoice
config IEEE802154_MCR20A_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_MCR20A_INIT_PRIO
int "MCR20A initialization priority"
default 80
help
Set the initialization priority number. Do not mess with it unless
you know what you are doing. Beware mcr20a 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.
endif