From 52923e6a93375e8d5c236aedfd620741320ed7d7 Mon Sep 17 00:00:00 2001 From: Johann Fischer Date: Wed, 19 Jul 2017 16:51:09 +0200 Subject: [PATCH] boards: add USB-KW24D512 support Jira: ZEP-1472 Signed-off-by: Johann Fischer --- boards/arm/usb_kw24d512/Kconfig.board | 11 ++ boards/arm/usb_kw24d512/Kconfig.defconfig | 135 +++++++++++++ boards/arm/usb_kw24d512/Makefile | 3 + boards/arm/usb_kw24d512/Makefile.board | 5 + boards/arm/usb_kw24d512/board.h | 24 +++ boards/arm/usb_kw24d512/doc/usb_kw24d512.rst | 181 ++++++++++++++++++ boards/arm/usb_kw24d512/pinmux.c | 61 ++++++ boards/arm/usb_kw24d512/usb_kw24d512.yaml | 11 ++ .../arm/usb_kw24d512/usb_kw24d512_defconfig | 11 ++ dts/arm/Makefile | 1 + dts/arm/usb_kw24d512.dts | 47 +++++ dts/arm/usb_kw24d512.fixup | 45 +++++ 12 files changed, 535 insertions(+) create mode 100644 boards/arm/usb_kw24d512/Kconfig.board create mode 100644 boards/arm/usb_kw24d512/Kconfig.defconfig create mode 100644 boards/arm/usb_kw24d512/Makefile create mode 100644 boards/arm/usb_kw24d512/Makefile.board create mode 100644 boards/arm/usb_kw24d512/board.h create mode 100644 boards/arm/usb_kw24d512/doc/usb_kw24d512.rst create mode 100644 boards/arm/usb_kw24d512/pinmux.c create mode 100644 boards/arm/usb_kw24d512/usb_kw24d512.yaml create mode 100644 boards/arm/usb_kw24d512/usb_kw24d512_defconfig create mode 100644 dts/arm/usb_kw24d512.dts create mode 100644 dts/arm/usb_kw24d512.fixup diff --git a/boards/arm/usb_kw24d512/Kconfig.board b/boards/arm/usb_kw24d512/Kconfig.board new file mode 100644 index 000000000000..63b899c853b6 --- /dev/null +++ b/boards/arm/usb_kw24d512/Kconfig.board @@ -0,0 +1,11 @@ +# Kconfig - USB-KW24D512 board +# +# Copyright (c) 2017, Phytec Messtechnik GmbH +# +# SPDX-License-Identifier: Apache-2.0 +# + +config BOARD_USB_KW24D512 + bool "NXP USB-KW24D512" + depends on SOC_SERIES_KINETIS_KWX + select SOC_PART_NUMBER_MKW24D512VHA5 diff --git a/boards/arm/usb_kw24d512/Kconfig.defconfig b/boards/arm/usb_kw24d512/Kconfig.defconfig new file mode 100644 index 000000000000..340856ec33c4 --- /dev/null +++ b/boards/arm/usb_kw24d512/Kconfig.defconfig @@ -0,0 +1,135 @@ +# Kconfig - USB-KW24D512 board +# +# Copyright (c) 2017, Phytec Messtechnik GmbH +# +# SPDX-License-Identifier: Apache-2.0 +# + +if BOARD_USB_KW24D512 + +config BOARD + default usb_kw24d512 + +config OSC_XTAL0_FREQ + # The MCU is configured to use 4 MHz external + # clock from the transceiver provided at the CLK_OUT output. + # CLK_OUT is internally connected to the input pin EXTAL0 + # of the MCU. + default 4000000 + +config MCG_PRDIV0 + default 0x1 + +config MCG_VDIV0 + default 0x0 + +config MCG_FCRDIV + default 2 + +if UART_MCUX + +config UART_MCUX_0 + def_bool y + +endif # UART_MCUX + + +config PINMUX + def_bool y + +if PINMUX_MCUX + +config PINMUX_MCUX_PORTA + def_bool y if UART_MCUX_0 + +config PINMUX_MCUX_PORTB + def_bool y if SPI_1 + +config PINMUX_MCUX_PORTC + def_bool y + +config PINMUX_MCUX_PORTD + def_bool y + +endif # PINMUX_MCUX + +if GPIO_MCUX + +config GPIO_MCUX_PORTA + def_bool y + +config GPIO_MCUX_PORTB + def_bool y + +config GPIO_MCUX_PORTC + def_bool y + +config GPIO_MCUX_PORTD + def_bool y + +config GPIO_MCUX_PORTE + def_bool y + +endif # GPIO_MCUX + +if I2C + +config I2C_0 + def_bool y + +config I2C_1 + def_bool n + +endif # I2C + +if ADC + +config ADC_0 + def_bool y + +endif # ADC + +if PWM_MCUX_FTM + +config PWM_1 + def_bool y + +endif # PWM_MCUX_FTM + +if SPI + +config SPI_1 + def_bool y + +config SPI_1_IRQ_PRI + default 3 + +endif # SPI + +if IEEE802154_MCR20A || IEEE802154_MCR20A_RAW + +config IEEE802154_MCR20A_SPI_DRV_NAME + default SPI_1_NAME + +config MCR20A_GPIO_IRQ_B_NAME + default GPIO_MCUX_PORTB_NAME + +config MCR20A_GPIO_IRQ_B_PIN + default 3 + +config MCR20A_GPIO_RESET_NAME + default GPIO_MCUX_PORTB_NAME + +config MCR20A_GPIO_RESET_PIN + default 19 + +config IEEE802154_MCR20A_SPI_FREQ + default 8000000 + +config MCR20A_IS_PART_OF_KW2XD_SIP + default y + +endif # IEEE802154_MCR20A || IEEE802154_MCR20A_RAW + + +endif # BOARD_USB_KW24D512 diff --git a/boards/arm/usb_kw24d512/Makefile b/boards/arm/usb_kw24d512/Makefile new file mode 100644 index 000000000000..2c94da585641 --- /dev/null +++ b/boards/arm/usb_kw24d512/Makefile @@ -0,0 +1,3 @@ +ccflags-y +=-I$(srctree)/drivers + +obj-$(CONFIG_PINMUX_MCUX) += pinmux.o diff --git a/boards/arm/usb_kw24d512/Makefile.board b/boards/arm/usb_kw24d512/Makefile.board new file mode 100644 index 000000000000..5d7cba01bf56 --- /dev/null +++ b/boards/arm/usb_kw24d512/Makefile.board @@ -0,0 +1,5 @@ +DEBUG_SCRIPT = jlink.sh + +JLINK_DEVICE = MKW24D512xxx5 + +export JLINK_DEVICE diff --git a/boards/arm/usb_kw24d512/board.h b/boards/arm/usb_kw24d512/board.h new file mode 100644 index 000000000000..f30b61cab675 --- /dev/null +++ b/boards/arm/usb_kw24d512/board.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2017 Phytec Messtechnik GmbH + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#ifndef __INC_BOARD_H +#define __INC_BOARD_H + +#include + +/* Push button switch (SW1) */ +#define SW0_GPIO_NAME CONFIG_GPIO_MCUX_PORTC_NAME +#define SW0_GPIO_PIN 4 + +/* LED0 (D2) */ +#define LED0_GPIO_PORT CONFIG_GPIO_MCUX_PORTD_NAME +#define LED0_GPIO_PIN 4 + +/* LED1 (D3) */ +#define LED1_GPIO_PORT CONFIG_GPIO_MCUX_PORTD_NAME +#define LED1_GPIO_PIN 5 + +#endif /* __INC_BOARD_H */ diff --git a/boards/arm/usb_kw24d512/doc/usb_kw24d512.rst b/boards/arm/usb_kw24d512/doc/usb_kw24d512.rst new file mode 100644 index 000000000000..e4dfbb048b0a --- /dev/null +++ b/boards/arm/usb_kw24d512/doc/usb_kw24d512.rst @@ -0,0 +1,181 @@ +.. _usb_kw24d512: + +NXP USB-KW24D512 +################ + +Overview +******** + +The USB-KW24D512 is an evaluation board in a convenient USB dongle +form factor based on the NXP MKW24D512 System-in-Package (SiP) device +(KW2xD wireless MCU series). +MKW24D512 wireless MCU provides a low-power, compact device with +integrated IEEE 802.15.4 radio. The board can be used as a packet sniffer, +network node, border router or as a development board. + +Hardware +******** + +- Kinetis KW2xD-2.4 GHz 802.15.4 Wireless Radio Microcontroller + (50 MHz, 512 KB flash memory, 64 KB RAM, low-power, crystal-less USB) +- USB Type A Connector +- Two blue LEDs +- One user push button +- One reset button +- Integrated PCB Folded F-type antenna +- 10-pin (0.05”) JTAG debug port for target MCU + +For more information about the KW2xD SiP and USB-KW24D512 board: + +- `KW2xD Website`_ +- `KW2xD Datasheet`_ +- `KW2xD Reference Manual`_ +- `USB-KW24D512 Website`_ +- `USB-KW24D512 Hardware Reference Manual`_ + +Supported Features +================== + +The USB-KW24D512 board configuration supports the following hardware features: + ++-----------+------------+-------------------------------------+ +| Interface | Controller | Driver/Component | ++===========+============+=====================================+ +| NVIC | on-chip | nested vector interrupt controller | ++-----------+------------+-------------------------------------+ +| SYSTICK | on-chip | systick | ++-----------+------------+-------------------------------------+ +| PINMUX | on-chip | pinmux | ++-----------+------------+-------------------------------------+ +| GPIO | on-chip | gpio | ++-----------+------------+-------------------------------------+ +| I2C | on-chip | i2c | ++-----------+------------+-------------------------------------+ +| SPI | on-chip | spi | ++-----------+------------+-------------------------------------+ +| UART | on-chip | serial port-polling; | +| | | serial port-interrupt | ++-----------+------------+-------------------------------------+ +| FLASH | on-chip | soc flash | ++-----------+------------+-------------------------------------+ + +The default configuration can be found in the defconfig file: + + ``boards/arm/usb_kw24d512/usb_kw24d512_defconfig`` + +Other hardware features are not currently supported by the port. + +Connections and IOs +=================== + +The KW2xD SoC has five pairs of pinmux/gpio controllers. + ++-------+-----------------+--------------------------------------+ +| Name | Function | Usage | ++=======+=================+======================================+ +| PTA1 | UART0_RX | UART Console | ++-------+-----------------+--------------------------------------+ +| PTA2 | UART0_TX | UART Console | ++-------+-----------------+--------------------------------------+ +| PTC4 | GPIO | SW1 | ++-------+-----------------+--------------------------------------+ +| PTD4 | GPIO | Blue LED (D2) | ++-------+-----------------+--------------------------------------+ +| PTD5 | GPIO | Blue LED (D3) | ++-------+-----------------+--------------------------------------+ +| PTB10 | SPI1_PCS0 | internal connected to MCR20A | ++-------+-----------------+--------------------------------------+ +| PTB11 | SPI1_SCK | internal connected to MCR20A | ++-------+-----------------+--------------------------------------+ +| PTB16 | SPI1_SOUT | internal connected to MCR20A | ++-------+-----------------+--------------------------------------+ +| PTB17 | SPI1_SIN | internal connected to MCR20A | ++-------+-----------------+--------------------------------------+ +| PTB19 | GPIO | internal connected to MCR20A (Reset) | ++-------+-----------------+--------------------------------------+ +| PTB3 | GPIO | internal connected to MCR20A (IRQ_B) | ++-------+-----------------+--------------------------------------+ +| PTC0 | GPIO | internal connected to MCR20A (GPIO5) | ++-------+-----------------+--------------------------------------+ + +System Clock +============ + +USB-KW24D512 contains 32 MHz oscillator crystal, which is connected to the +clock pins of the radio transceiver. The MCU is configured to +use the 4 MHz external clock from the transceiver with the on-chip PLL +to generate a 48 MHz system clock. + +Serial Port +=========== + +The KW2xD SoC has three UARTs. One is configured and can be used for the +console, but it uses the same pins as the JTAG interface and is only +accessible via the JTAG SWD connector. + +Programming and Debugging +************************* + +Currently only the J-Link tools and the `Segger J-Link debug probe`_ are +supported. The J-Link probe should be connected to the JTAG-SWD connector on +the USB-KW24D512 board. To use the Segger J-Link tools, follow the instructions +in the :ref:`nxp_opensda_jlink` page. + +Flashing +======== + +The Segger J-Link firmware does not support command line flashing, therefore +the ``make flash`` build target is not supported. + +Debugging +========= + +This example uses the :ref:`hello_world` sample with the +:ref:`nxp_opensda_jlink` tools. Use the ``make debug`` build target to build +your Zephyr application, invoke the J-Link GDB server, attach a GDB client, and +program your Zephyr application to flash. It will leave you at a gdb prompt. + +.. code-block:: console + + $ cd + $ . zephyr-env.sh + $ cd samples/hello_world/ + $ make BOARD=usb_kw24d512 debug + + +In a second terminal, open telnet: + +.. code-block:: console + + $ telnet localhost 19021 + Trying 127.0.0.1... + Connected to localhost. + Escape character is '^]'. + SEGGER J-Link V6.16j - Real time terminal output + SEGGER J-Link ARM V6.0, SN=xxxxxxxx + Process: JLinkGDBServer + +Continue program execution in GDB, then in the telnet terminal you should see: + +.. code-block:: console + + ***** BOOTING ZEPHYR OS v1.8.99 - BUILD: Jul 26 2017 15:39:04 ***** + Hello World! arm + +.. _USB-KW24D512 Website: + http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/kinetis-cortex-m-mcus/w-series-wireless-m0-plus-m4/ieee-802.15.4-packet-sniffer-usb-dongle-form-factor:USB-KW24D512 + +.. _USB-KW24D512 Hardware Reference Manual: + http://www.nxp.com/docs/en/reference-manual/USB-KW2XHWRM.pdf + +.. _KW2xD Website: + http://www.nxp.com/products/wireless-connectivity/2.4-ghz-wireless-solutions/ieee-802.15.4-wireless-mcus/kinetis-kw2xd-2.4-ghz-802.15.4-wireless-radio-microcontroller-mcu-based-on-arm-cortex-m4-core:KW2xD + +.. _KW2xD Datasheet: + http://www.nxp.com/docs/en/data-sheet/MKW2xDxxx.pdf + +.. _KW2xD Reference Manual: + http://www.nxp.com/docs/en/reference-manual/MKW2xDxxxRM.pdf + +.. _Segger J-Link debug probe: + https://www.segger.com/products/debug-probes/j-link/models/j-link-base/ diff --git a/boards/arm/usb_kw24d512/pinmux.c b/boards/arm/usb_kw24d512/pinmux.c new file mode 100644 index 000000000000..06941d5fee6b --- /dev/null +++ b/boards/arm/usb_kw24d512/pinmux.c @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2017 Phytec Messtechnik GmbH + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include +#include + +static int usb_kw24d512_pinmux_init(struct device *dev) +{ + ARG_UNUSED(dev); + +#ifdef CONFIG_PINMUX_MCUX_PORTA + struct device *porta = + device_get_binding(CONFIG_PINMUX_MCUX_PORTA_NAME); +#endif +#ifdef CONFIG_PINMUX_MCUX_PORTB + struct device *portb = + device_get_binding(CONFIG_PINMUX_MCUX_PORTB_NAME); +#endif +#ifdef CONFIG_PINMUX_MCUX_PORTC + struct device *portc = + device_get_binding(CONFIG_PINMUX_MCUX_PORTC_NAME); +#endif +#ifdef CONFIG_PINMUX_MCUX_PORTD + struct device *portd = + device_get_binding(CONFIG_PINMUX_MCUX_PORTD_NAME); +#endif + +#ifdef CONFIG_UART_MCUX_0 + /* UART0 RX, TX */ + pinmux_pin_set(porta, 1, PORT_PCR_MUX(kPORT_MuxAlt2)); + pinmux_pin_set(porta, 2, PORT_PCR_MUX(kPORT_MuxAlt2)); +#endif + + /* SW1 */ + pinmux_pin_set(portc, 4, PORT_PCR_MUX(kPORT_MuxAsGpio)); + + /* blue LEDs D2, D3 */ + pinmux_pin_set(portd, 4, PORT_PCR_MUX(kPORT_MuxAsGpio)); + pinmux_pin_set(portd, 5, PORT_PCR_MUX(kPORT_MuxAsGpio)); + +#ifdef CONFIG_SPI_1 + /* SPI1 CS0, SCK, SOUT, SIN */ + pinmux_pin_set(portb, 10, PORT_PCR_MUX(kPORT_MuxAlt2)); + pinmux_pin_set(portb, 11, PORT_PCR_MUX(kPORT_MuxAlt2)); + pinmux_pin_set(portb, 16, PORT_PCR_MUX(kPORT_MuxAlt2)); + pinmux_pin_set(portb, 17, PORT_PCR_MUX(kPORT_MuxAlt2)); +#endif + +#ifdef CONFIG_IEEE802154_MCR20A + /* Reset, IRQ_B */ + pinmux_pin_set(portb, 19, PORT_PCR_MUX(kPORT_MuxAsGpio)); + pinmux_pin_set(portb, 3, PORT_PCR_MUX(kPORT_MuxAsGpio)); +#endif + return 0; +} + +SYS_INIT(usb_kw24d512_pinmux_init, PRE_KERNEL_1, CONFIG_PINMUX_INIT_PRIORITY); diff --git a/boards/arm/usb_kw24d512/usb_kw24d512.yaml b/boards/arm/usb_kw24d512/usb_kw24d512.yaml new file mode 100644 index 000000000000..151d8c7eba47 --- /dev/null +++ b/boards/arm/usb_kw24d512/usb_kw24d512.yaml @@ -0,0 +1,11 @@ +identifier: usb_kw24d512 +name: NXP USB-KW24D512 +type: mcu +arch: arm +ram: 32 +flash: 512 +toolchain: + - zephyr + - gccarmemb +supported: + - ieee802154 diff --git a/boards/arm/usb_kw24d512/usb_kw24d512_defconfig b/boards/arm/usb_kw24d512/usb_kw24d512_defconfig new file mode 100644 index 000000000000..27fe478e5bc7 --- /dev/null +++ b/boards/arm/usb_kw24d512/usb_kw24d512_defconfig @@ -0,0 +1,11 @@ +CONFIG_ARM=y +CONFIG_SOC_MKW24D5=y +CONFIG_SOC_SERIES_KINETIS_KWX=y +CONFIG_BOARD_USB_KW24D512=y +CONFIG_CONSOLE=y +CONFIG_RTT_CONSOLE=y +CONFIG_SERIAL=y +CONFIG_CORTEX_M_SYSTICK=y +CONFIG_GPIO=y +CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=48000000 +CONFIG_OSC_EXTERNAL=y diff --git a/dts/arm/Makefile b/dts/arm/Makefile index 1d598a9acdd3..4a3c13a36d25 100644 --- a/dts/arm/Makefile +++ b/dts/arm/Makefile @@ -5,6 +5,7 @@ dtb-$(CONFIG_BOARD_FRDM_KW41Z) = frdm_kw41z.dts_compiled dtb-$(CONFIG_BOARD_FRDM_KL25Z) = frdm_kl25z.dts_compiled dtb-$(CONFIG_BOARD_HEXIWEAR_K64) = hexiwear_k64.dts_compiled dtb-$(CONFIG_BOARD_HEXIWEAR_KW40Z) = hexiwear_kw40z.dts_compiled +dtb-$(CONFIG_BOARD_USB_KW24D512) = usb_kw24d512.dts_compiled dtb-$(CONFIG_BOARD_CC3220SF_LAUNCHXL) = cc3220sf_launchxl.dts_compiled dtb-$(CONFIG_BOARD_NUCLEO_L476RG) = nucleo_l476rg.dts_compiled dtb-$(CONFIG_BOARD_NUCLEO_L432KC) = nucleo_l432kc.dts_compiled diff --git a/dts/arm/usb_kw24d512.dts b/dts/arm/usb_kw24d512.dts new file mode 100644 index 000000000000..d17cfafc97b2 --- /dev/null +++ b/dts/arm/usb_kw24d512.dts @@ -0,0 +1,47 @@ +/dts-v1/; + +#include + +/ { + model = "NXP USB-KW24D512 board"; + compatible = "nxp,usb-kw24d512", "nxp,kw24d512", "nxp,kw2xd"; + + aliases { + uart_0 = &uart0; + pinmux_a = &pinmux_a; + pinmux_b = &pinmux_b; + pinmux_c = &pinmux_c; + pinmux_d = &pinmux_d; + pinmux_e = &pinmux_e; + gpio_a = &gpioa; + gpio_b = &gpiob; + gpio_c = &gpioc; + gpio_d = &gpiod; + gpio_e = &gpioe; + i2c_0 = &i2c0; + }; + + chosen { + zephyr,sram = &sram0; + zephyr,flash = &flash0; + zephyr,console = &uart0; + zephyr,uart-pipe = &uart0; + }; +}; + +&adc0 { + status = "ok"; +}; + +&i2c0 { + status = "ok"; +}; + +&pwm1 { + status = "ok"; +}; + +&uart0 { + status = "ok"; + current-speed = <115200>; +}; diff --git a/dts/arm/usb_kw24d512.fixup b/dts/arm/usb_kw24d512.fixup new file mode 100644 index 000000000000..87be51f20f82 --- /dev/null +++ b/dts/arm/usb_kw24d512.fixup @@ -0,0 +1,45 @@ +#define CONFIG_NUM_IRQ_PRIO_BITS ARM_V7M_NVIC_E000E100_ARM_NUM_IRQ_PRIORITY_BITS + +#define CONFIG_UART_MCUX_0_BAUD_RATE NXP_KINETIS_UART_4006A000_CURRENT_SPEED +#define CONFIG_UART_MCUX_0_NAME NXP_KINETIS_UART_4006A000_LABEL +#define CONFIG_UART_MCUX_0_IRQ_ERROR NXP_KINETIS_UART_4006A000_IRQ_ERROR +#define CONFIG_UART_MCUX_0_IRQ_ERROR_PRI NXP_KINETIS_UART_4006A000_IRQ_ERROR_PRIORITY +#define CONFIG_UART_MCUX_0_IRQ_STATUS NXP_KINETIS_UART_4006A000_IRQ_STATUS +#define CONFIG_UART_MCUX_0_IRQ_STATUS_PRI NXP_KINETIS_UART_4006A000_IRQ_STATUS_PRIORITY + +#define CONFIG_UART_MCUX_1_BAUD_RATE NXP_KINETIS_UART_4006B000_CURRENT_SPEED +#define CONFIG_UART_MCUX_1_NAME NXP_KINETIS_UART_4006B000_LABEL +#define CONFIG_UART_MCUX_1_IRQ_ERROR NXP_KINETIS_UART_4006B000_IRQ_ERROR +#define CONFIG_UART_MCUX_1_IRQ_ERROR_PRI NXP_KINETIS_UART_4006B000_IRQ_ERROR_PRIORITY +#define CONFIG_UART_MCUX_1_IRQ_STATUS NXP_KINETIS_UART_4006B000_IRQ_STATUS +#define CONFIG_UART_MCUX_1_IRQ_STATUS_PRI NXP_KINETIS_UART_4006B000_IRQ_STATUS_PRIORITY + +#define CONFIG_UART_MCUX_2_BAUD_RATE NXP_KINETIS_UART_4006C000_CURRENT_SPEED +#define CONFIG_UART_MCUX_2_NAME NXP_KINETIS_UART_4006C000_LABEL +#define CONFIG_UART_MCUX_2_IRQ_ERROR NXP_KINETIS_UART_4006C000_IRQ_ERROR +#define CONFIG_UART_MCUX_2_IRQ_ERROR_PRI NXP_KINETIS_UART_4006C000_IRQ_ERROR_PRIORITY +#define CONFIG_UART_MCUX_2_IRQ_STATUS NXP_KINETIS_UART_4006C000_IRQ_STATUS +#define CONFIG_UART_MCUX_2_IRQ_STATUS_PRI NXP_KINETIS_UART_4006C000_IRQ_STATUS_PRIORITY + +#define CONFIG_UART_MCUX_3_BAUD_RATE NXP_KINETIS_UART_4006D000_CURRENT_SPEED +#define CONFIG_UART_MCUX_3_NAME NXP_KINETIS_UART_4006D000_LABEL +#define CONFIG_UART_MCUX_3_IRQ_ERROR NXP_KINETIS_UART_4006D000_IRQ_ERROR +#define CONFIG_UART_MCUX_3_IRQ_ERROR_PRI NXP_KINETIS_UART_4006D000_IRQ_ERROR_PRIORITY +#define CONFIG_UART_MCUX_3_IRQ_STATUS NXP_KINETIS_UART_4006D000_IRQ_STATUS +#define CONFIG_UART_MCUX_3_IRQ_STATUS_PRI NXP_KINETIS_UART_4006D000_IRQ_STATUS_PRIORITY + +#define CONFIG_I2C_0_NAME NXP_KINETIS_I2C_40066000_LABEL +#define CONFIG_I2C_MCUX_0_BASE_ADDRESS NXP_KINETIS_I2C_40066000_BASE_ADDRESS_0 +#define CONFIG_I2C_MCUX_0_IRQ NXP_KINETIS_I2C_40066000_IRQ_0 +#define CONFIG_I2C_MCUX_0_IRQ_PRI NXP_KINETIS_I2C_40066000_IRQ_0_PRIORITY +#define CONFIG_I2C_MCUX_0_BITRATE NXP_KINETIS_I2C_40066000_CLOCK_FREQUENCY +# +#define CONFIG_ADC_0_BASE_ADDRESS NXP_KINETIS_ADC16_4003B000_BASE_ADDRESS_0 +#define CONFIG_ADC_0_IRQ NXP_KINETIS_ADC16_4003B000_IRQ_0 +#define CONFIG_ADC_0_IRQ_PRI NXP_KINETIS_ADC16_4003B000_IRQ_0_PRIORITY +#define CONFIG_ADC_0_NAME NXP_KINETIS_ADC16_4003B000_LABEL + +#define CONFIG_FTM_1_BASE_ADDRESS NXP_KINETIS_FTM_40039000_BASE_ADDRESS_0 +#define CONFIG_FTM_1_IRQ NXP_KINETIS_FTM_40039000_IRQ_0 +#define CONFIG_FTM_1_IRQ_PRI NXP_KINETIS_FTM_40039000_IRQ_0_PRIORITY +#define CONFIG_FTM_1_NAME NXP_KINETIS_FTM_40039000_LABEL