Linux debugging

Check our new training course

Linux debugging, tracing, profiling & perf. analysis

Check our new training course
with Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# 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