152 lines
3.7 KiB
Plaintext
152 lines
3.7 KiB
Plaintext
# 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
|
|
|
|
if IEEE802154_MCR20A
|
|
|
|
config IEEE802154_MCR20A_DRV_NAME
|
|
string "NXP MCR20A Driver's name"
|
|
default "mcr20a"
|
|
help
|
|
This option sets the driver name
|
|
|
|
if !HAS_DTS_SPI_DEVICE
|
|
|
|
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.
|
|
|
|
endif # !HAS_DTS_SPI_DEVICE
|
|
|
|
config IEEE802154_MCR20A_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.
|
|
|
|
if !HAS_DTS_SPI_PINS
|
|
|
|
config IEEE802154_MCR20A_GPIO_SPI_CS_DRV_NAME
|
|
string "GPIO driver's name to use to drive SPI CS through"
|
|
depends on IEEE802154_MCR20A_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_MCR20A_GPIO_SPI_CS_PIN
|
|
int "GPIO PIN to use to drive SPI CS through"
|
|
default 0
|
|
depends on IEEE802154_MCR20A_GPIO_SPI_CS
|
|
help
|
|
This option is mandatory to set which GPIO pin to use in order
|
|
to actually emulate the SPI CS.
|
|
|
|
endif # !HAS_DTS_SPI_PINS
|
|
|
|
if !HAS_DTS_GPIO_DEVICE
|
|
|
|
config MCR20A_GPIO_IRQ_B_NAME
|
|
string "GPIO device used for IRQ_B output of MCR20A"
|
|
|
|
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"
|
|
|
|
config MCR20A_GPIO_RESET_PIN
|
|
int "GPIO pin connected to RESET input of MCR20A"
|
|
default 2
|
|
|
|
endif # !HAS_DTS_GPIO_DEVICE
|
|
|
|
config MCR20A_IS_PART_OF_KW2XD_SIP
|
|
bool "MCR20A device is part of KW2xD SiP"
|
|
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
|