| # 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 |