# 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 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 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. 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 if !HAS_DTS_GPIO 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 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