/* * Copyright (c) 2021, Electromaticus LLC, 2022 NXP * * SPDX-License-Identifier: Apache-2.0 */ /dts-v1/; #include #include #include "rddrone_fmuk66-pinctrl.dtsi" #include / { model = "NXP RDDRONE FMUK66 board"; compatible = "nxp,mk66f18", "nxp,k66f", "nxp,k6x"; aliases { led0 = &amber_led; led1 = &green_led; pwm-led0 = &red_pwm_led; pwm-led1 = &green_pwm_led; pwm-led2 = &blue_pwm_led; magn0 = &bmm150; red-pwm-led = &red_pwm_led; green-pwm-led = &green_pwm_led; blue-pwm-led = &blue_pwm_led; }; chosen { /* * Note: when using DMA, the SRAM region must be set to * a memory region that is not cached by the chip. If the chosen * sram region is changed and DMA is in use, you will * encounter issues! */ zephyr,sram = &sram0; zephyr,flash = &flash0; zephyr,code-partition = &slot0_partition; zephyr,uart-mcumgr = &lpuart0; zephyr,console = &lpuart0; zephyr,shell-uart = &lpuart0; zephyr,uart-pipe = &lpuart0; zephyr,canbus = &flexcan0; }; leds { compatible = "gpio-leds"; amber_led: led_0 { gpios = <&gpiod 13 GPIO_ACTIVE_LOW>; label = "LED_AMB"; }; green_led: led_1 { gpios = <&gpiod 14 GPIO_ACTIVE_LOW>; label = "LED_GRN"; }; }; pwmleds { compatible = "pwm-leds"; red_pwm_led: red_pwm_led { pwms = <&ftm3 1 15625000 PWM_POLARITY_INVERTED>; }; blue_pwm_led: blue_pwm_led { pwms = <&ftm3 4 15625000 PWM_POLARITY_INVERTED>; }; green_pwm_led: green_pwm_led { pwms = <&ftm3 5 15625000 PWM_POLARITY_INVERTED>; }; }; transceiver0: can-phy0 { compatible = "nxp,tja1042", "can-transceiver-gpio"; max-bitrate = <5000000>; standby-gpios = <&gpioc 19 GPIO_ACTIVE_HIGH>; #phy-cells = <0>; }; transceiver1: can-phy1 { compatible = "nxp,tja1042", "can-transceiver-gpio"; max-bitrate = <5000000>; standby-gpios = <&gpioc 18 GPIO_ACTIVE_HIGH>; #phy-cells = <0>; }; /* This regulator enables the 3V3_S line, which powers sensors on-board. */ reg-3v3-s { compatible = "regulator-fixed"; regulator-name = "reg-3v3-s"; enable-gpios = <&gpiob 8 GPIO_ACTIVE_HIGH>; startup-delay-us = <2000>; regulator-always-on; status = "okay"; }; /* This regulator enables the onboard Ethernet PHY */ reg-3v3-neth { compatible = "regulator-fixed"; regulator-name = "reg-3v3-neth"; enable-gpios = <&gpiob 3 GPIO_ACTIVE_LOW>; regulator-always-on; status = "okay"; }; /* This regulator enables the onboard SD card support */ reg-3v3-sd { compatible = "regulator-fixed"; regulator-name = "reg-3v3-sd"; enable-gpios = <&gpiod 6 GPIO_ACTIVE_HIGH>; regulator-always-on; status = "okay"; }; }; &sim { pllfll-select = ; er32k-select = ; }; &cpu0 { clock-frequency = <160000000>; }; &adc0 { status = "okay"; }; &adc1 { status = "okay"; }; &temp1 { status = "okay"; }; &dac0 { status = "okay"; voltage-reference = <2>; }; /* PWM header is powered by FlexTimer 0 for channels 1 to 4 */ &ftm0 { status = "okay"; compatible = "nxp,ftm-pwm"; #pwm-cells = <3>; pinctrl-0 = <&ftm0_default>; pinctrl-names = "default"; clock-source = "fixed"; }; /* RGB LED powered by FlexTimer 3, and PWM headers for channel 5 and 6 */ &ftm3 { status = "okay"; compatible = "nxp,ftm-pwm"; #pwm-cells = <3>; pinctrl-0 = <&ftm3_default>; pinctrl-names = "default"; clock-source = "fixed"; }; /* LPUART connected to debug header */ &lpuart0 { status = "okay"; current-speed = <115200>; pinctrl-0 = <&lpuart0_default>; pinctrl-names = "default"; }; zephyr_udc0: &usbotg { compatible = "nxp,kinetis-usbd"; status = "okay"; num-bidir-endpoints = <8>; }; &uart0 { status = "okay"; current-speed = <115200>; pinctrl-0 = <&uart0_default>; pinctrl-names = "default"; }; &uart1 { status = "okay"; current-speed = <115200>; pinctrl-0 = <&uart1_default>; pinctrl-names = "default"; }; &uart2 { status = "okay"; current-speed = <115200>; pinctrl-0 = <&uart2_default>; pinctrl-names = "default"; }; &uart4 { status = "okay"; current-speed = <115200>; pinctrl-0 = <&uart4_default>; pinctrl-names = "default"; }; &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(928) + DT_SIZE_K(12))>; }; slot1_partition: partition@FB000 { label = "image-1"; reg = <0x000FB000 DT_SIZE_K(928)>; }; storage_partition: partition@1E3000 { label = "storage"; reg = <0x001E3000 DT_SIZE_K(116)>; }; }; }; &enet_mac { status = "okay"; pinctrl-0 = <&enet_default>; pinctrl-names = "default"; phy-connection-type = "rmii"; phy-handle = <&phy>; zephyr,random-mac-address; }; &enet_mdio { status = "okay"; pinctrl-0 = <&mdio_default>; pinctrl-names = "default"; phy: phy@0 { compatible = "ethernet-phy"; reg = <0>; status = "okay"; }; }; &flexcan0 { status = "okay"; pinctrl-0 = <&flexcan0_default>; pinctrl-names = "default"; phys = <&transceiver0>; }; &flexcan1 { status = "okay"; pinctrl-0 = <&flexcan1_default>; pinctrl-names = "default"; phys = <&transceiver1>; }; /* external i2c port */ &i2c0 { status = "okay"; pinctrl-0 = <&i2c0_default>; pinctrl-names = "default"; }; /* magnetometer (bmm150), barometer (bmp280), pressure (mpl3115), * secure element (a7102ch) i2c bus */ &i2c1 { status = "okay"; pinctrl-0 = <&i2c1_default>; pinctrl-names = "default"; /* * This board does not have a BME280, it has a BMP280. * The two parts are incredibly similar, so the BME280 driver works for * BMP280 as well. */ bme280@76 { compatible = "bosch,bme280"; status = "okay"; reg = <0x76>; }; bmm150: bmm150@10 { compatible = "bosch,bmm150"; status = "okay"; reg = <0x10>; }; }; /* f-ram spi port */ &spi0 { status = "okay"; pinctrl-0 = <&spi0_default>; pinctrl-names = "default"; }; /* flash (w25x40), accel, magneto (fxos8700), gyro (fxas2100) */ &spi1 { status = "okay"; pinctrl-0 = <&spi1_default>; pinctrl-names = "default"; /* * cs-gpios needs to be populated as per the schematics * fxos8700 - CS#0 * fxas21002 - CS#1 */ cs-gpios = <&gpiob 10 GPIO_ACTIVE_LOW>, <&gpiob 9 GPIO_ACTIVE_LOW>; clock-frequency = ; fxos8700@0 { compatible = "nxp,fxos8700"; reg = <0>; spi-max-frequency = ; reset-gpios = <&gpioa 25 GPIO_ACTIVE_HIGH>; int1-gpios = <&gpioe 9 GPIO_ACTIVE_LOW>; int2-gpios = <&gpioe 10 GPIO_ACTIVE_LOW>; status = "okay"; }; fxas21002@1 { compatible = "nxp,fxas21002"; reg = <1>; spi-max-frequency = ; reset-gpios = <&gpiod 12 GPIO_ACTIVE_LOW>; int1-gpios = <&gpioe 7 GPIO_ACTIVE_LOW>; int2-gpios = <&gpioe 6 GPIO_ACTIVE_LOW>; status = "okay"; }; }; /* external spi */ &spi2 { status = "okay"; pinctrl-0 = <&spi2_default>; pinctrl-names = "default"; }; &edma0 { status = "okay"; }; &pit0 { status = "okay"; };