| /* |
| * Copyright (c) 2018 Prevas A/S |
| * Copyright 2024 NXP |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| /dts-v1/; |
| |
| #include <nxp/nxp_k22fn512.dtsi> |
| #include <zephyr/dt-bindings/pwm/pwm.h> |
| #include "frdm_k22f-pinctrl.dtsi" |
| #include <zephyr/dt-bindings/input/input-event-codes.h> |
| |
| / { |
| model = "NXP Freedom MK22F board"; |
| compatible = "nxp,mk22f12", "nxp,k22f", "nxp,k2x"; |
| |
| aliases { |
| led0 = &green_led; |
| led1 = &blue_led; |
| led2 = &red_led; |
| sw0 = &user_button_3; |
| sw1 = &user_button_2; |
| pwm-led0 = &green_pwm_led; |
| green-pwm-led = &green_pwm_led; |
| blue-pwm-led = &blue_pwm_led; |
| red-pwm-led = &red_pwm_led; |
| magn0 = &fxos8700; |
| accel0 = &fxos8700; |
| mcuboot-button0 = &user_button_3; |
| }; |
| |
| chosen { |
| zephyr,sram = &sram0; |
| zephyr,flash = &flash0; |
| zephyr,code-partition = &slot0_partition; |
| zephyr,uart-mcumgr = &uart1; |
| zephyr,console = &uart1; |
| zephyr,shell-uart = &uart1; |
| zephyr,uart-pipe = &uart1; |
| }; |
| |
| leds { |
| compatible = "gpio-leds"; |
| red_led: led_0 { |
| gpios = <&gpioa 1 0>; |
| label = "User LD1"; |
| }; |
| green_led: led_1 { |
| gpios = <&gpioa 2 0>; |
| label = "User LD2"; |
| }; |
| blue_led: led_2 { |
| gpios = <&gpiod 5 0>; |
| label = "User LD3"; |
| }; |
| }; |
| |
| pwmleds { |
| compatible = "pwm-leds"; |
| |
| red_pwm_led: red_pwm_led { |
| label = "red_led"; |
| pwms = <&ftm0 6 15625000 PWM_POLARITY_INVERTED>; |
| }; |
| green_pwm_led: green_pwm_led { |
| label = "green_led"; |
| pwms = <&ftm0 7 15625000 PWM_POLARITY_INVERTED>; |
| }; |
| blue_pwm_led: blue_pwm_led { |
| label = "blue_led"; |
| pwms = <&ftm0 5 15625000 PWM_POLARITY_INVERTED>; |
| }; |
| }; |
| |
| gpio_keys { |
| compatible = "gpio-keys"; |
| user_button_2: button_0 { |
| label = "User SW2"; |
| gpios = <&gpioc 1 GPIO_ACTIVE_LOW>; |
| zephyr,code = <INPUT_KEY_0>; |
| }; |
| user_button_3: button_1 { |
| label = "User SW3"; |
| gpios = <&gpiob 17 GPIO_ACTIVE_LOW>; |
| zephyr,code = <INPUT_KEY_1>; |
| }; |
| }; |
| |
| arduino_header: connector { |
| compatible = "arduino-header-r3"; |
| #gpio-cells = <2>; |
| gpio-map-mask = <0xffffffff 0xffffffc0>; |
| gpio-map-pass-thru = <0 0x3f>; |
| gpio-map = <0 0 &gpiob 0 0>, /* A0 */ |
| <1 0 &gpiob 1 0>, /* A1 */ |
| <2 0 &gpioc 1 0>, /* A2 */ |
| <3 0 &gpioc 2 0>, /* A3 */ |
| <4 0 &gpiob 3 0>, /* A4 */ |
| <5 0 &gpiob 2 0>, /* A5 */ |
| <6 0 &gpiod 2 0>, /* D0 */ |
| <7 0 &gpiod 3 0>, /* D1 */ |
| <8 0 &gpiob 16 0>, /* D2 */ |
| <9 0 &gpioa 2 0>, /* D3 */ |
| <10 0 &gpioa 4 0>, /* D4 */ |
| <11 0 &gpiob 18 0>, /* D5 */ |
| <12 0 &gpioc 3 0>, /* D6 */ |
| <13 0 &gpioc 6 0>, /* D7 */ |
| <14 0 &gpiob 19 0>, /* D8 */ |
| <15 0 &gpioa 1 0>, /* D9 */ |
| <16 0 &gpiod 4 0>, /* D10 */ |
| <17 0 &gpiod 6 0>, /* D11 */ |
| <18 0 &gpiod 7 0>, /* D12 */ |
| <19 0 &gpiod 5 0>, /* D13 */ |
| <20 0 &gpioe 0 0>, /* D14 */ |
| <21 0 &gpioe 1 0>; /* D15 */ |
| }; |
| }; |
| |
| &sim { |
| pllfll-select = <KINETIS_SIM_PLLFLLSEL_MCGPLLCLK>; |
| er32k-select = <KINETIS_SIM_ER32KSEL_RTC>; |
| }; |
| |
| &adc0 { |
| status = "okay"; |
| }; |
| |
| &dac0 { |
| status = "okay"; |
| voltage-reference = <2>; |
| }; |
| arduino_i2c: &i2c0 { |
| status = "okay"; |
| pinctrl-0 = <&i2c0_default>; |
| pinctrl-names = "default"; |
| |
| fxos8700: fxos8700@1c { |
| compatible = "nxp,fxos8700"; |
| reg = <0x1c>; |
| int1-gpios = <&gpiod 0 GPIO_ACTIVE_LOW>; |
| int2-gpios = <&gpiod 1 GPIO_ACTIVE_LOW>; |
| }; |
| }; |
| |
| |
| arduino_spi: &spi0 { |
| status = "okay"; |
| pinctrl-0 = <&spi0_default>; |
| pinctrl-names = "default"; |
| }; |
| |
| &ftm0 { |
| status = "okay"; |
| compatible = "nxp,kinetis-ftm-pwm"; |
| #pwm-cells = <3>; |
| pinctrl-0 = <&ftm0_default>; |
| pinctrl-names = "default"; |
| clock-source = "fixed"; |
| }; |
| |
| &uart1 { |
| status = "okay"; |
| current-speed = <115200>; |
| pinctrl-0 = <&uart1_default>; |
| pinctrl-names = "default"; |
| }; |
| |
| &uart2 { |
| pinctrl-0 = <&uart2_default>; |
| pinctrl-names = "default"; |
| }; |
| |
| zephyr_udc0: &usbotg { |
| compatible = "nxp,kinetis-usbd"; |
| status = "okay"; |
| num-bidir-endpoints = <8>; |
| }; |
| |
| &gpioa { |
| status = "okay"; |
| }; |
| |
| &gpiob { |
| status = "okay"; |
| }; |
| |
| &gpioc { |
| status = "okay"; |
| }; |
| |
| &gpiod { |
| status = "okay"; |
| }; |
| |
| &gpioe { |
| status = "okay"; |
| }; |
| |
| &flash0 { |
| partitions { |
| compatible = "fixed-partitions"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| boot_partition: partition@0 { |
| label = "mcuboot"; |
| reg = <0x00000000 DT_SIZE_K(64)>; |
| read-only; |
| }; |
| /* The MCUBoot swap-move algorithm uses the last 3 sectors |
| * of the primary slot0 for swap status and move. |
| */ |
| slot0_partition: partition@10000 { |
| label = "image-0"; |
| reg = <0x00010000 (DT_SIZE_K(180) + DT_SIZE_K(6))>; |
| }; |
| slot1_partition: partition@3E800 { |
| label = "image-1"; |
| reg = <0x0003E800 DT_SIZE_K(180)>; |
| }; |
| storage_partition: partition@6B800 { |
| label = "storage"; |
| reg = <0x0006B800 DT_SIZE_K(82)>; |
| }; |
| |
| }; |
| }; |