1/* 2 * Copyright (c) 2017, NXP 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7/dts-v1/; 8 9#include <nxp/nxp_rt1050.dtsi> 10#include "mimxrt1050_evk-pinctrl.dtsi" 11#include <zephyr/dt-bindings/input/input-event-codes.h> 12 13/ { 14 model = "NXP MIMXRT1050-EVK board"; 15 compatible = "nxp,mimxrt1052"; 16 17 aliases { 18 led0 = &green_led; 19 sw0 = &user_button; 20 watchdog0 = &wdog0; 21 magn0 = &fxos8700; 22 accel0 = &fxos8700; 23 sdhc0 = &usdhc1; 24 mcuboot-button0 = &user_button; 25 }; 26 27 chosen { 28 zephyr,sram = &sdram0; 29 zephyr,itcm = &itcm; 30 zephyr,dtcm = &dtcm; 31 zephyr,uart-mcumgr = &lpuart1; 32 zephyr,console = &lpuart1; 33 zephyr,shell-uart = &lpuart1; 34 }; 35 36 sdram0: memory@80000000 { 37 /* Micron MT48LC16M16A2B4-6AIT:G */ 38 device_type = "memory"; 39 reg = <0x80000000 DT_SIZE_M(32)>; 40 }; 41 42 /* 43 * This node describes the GPIO pins of the parallel FPC interface, 44 * This interface is standard to several NXP EVKs, and is used with 45 * several parallel LCD displays (available as zephyr shields) 46 */ 47 nxp_parallel_lcd_connector: parallel-connector { 48 compatible = "nxp,parallel-lcd-connector"; 49 #gpio-cells = <2>; 50 gpio-map-mask = <0xffffffff 0xffffffc0>; 51 gpio-map-pass-thru = <0 0x3f>; 52 gpio-map = <0 0 &gpio2 31 0>; /* Pin 1, BL+ */ 53 }; 54 55 /* 56 * This node describes the GPIO pins of the I2C display FPC interface, 57 * This interface is standard to several NXP EVKs, and is used with 58 * several parallel LCD displays (available as zephyr shields) 59 */ 60 nxp_i2c_touch_fpc: i2c-touch-connector { 61 compatible = "nxp,i2c-tsc-fpc"; 62 #gpio-cells = <2>; 63 gpio-map-mask = <0xffffffff 0xffffffc0>; 64 gpio-map-pass-thru = <0 0x3f>; 65 gpio-map = <1 0 &gpio1 2 0>, /* Pin 2, LCD touch RST */ 66 <2 0 &gpio1 11 0>; /* Pin 3, LCD touch INT */ 67 }; 68 69 leds { 70 compatible = "gpio-leds"; 71 green_led: led_0 { 72 gpios = <&gpio1 9 GPIO_ACTIVE_LOW>; 73 label = "User LD1"; 74 }; 75 }; 76 77 gpio_keys { 78 compatible = "gpio-keys"; 79 user_button: button_0 { 80 label = "User SW8"; 81 gpios = <&gpio5 0 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; 82 zephyr,code = <INPUT_KEY_0>; 83 }; 84 }; 85 86 arduino_header: connector { 87 compatible = "arduino-header-r3"; 88 #gpio-cells = <2>; 89 gpio-map-mask = <0xffffffff 0xffffffc0>; 90 gpio-map-pass-thru = <0 0x3f>; 91 gpio-map = <0 0 &gpio1 26 0>, /* A0 */ 92 <1 0 &gpio1 27 0>, /* A1 */ 93 <2 0 &gpio1 20 0>, /* A2 */ 94 <3 0 &gpio1 21 0>, /* A3 */ 95 <4 0 &gpio1 17 0>, /* A4 */ 96 <5 0 &gpio1 16 0>, /* A5 */ 97 <6 0 &gpio1 23 0>, /* D0 */ 98 <7 0 &gpio1 22 0>, /* D1 */ 99 <8 0 &gpio1 11 0>, /* D2 */ 100 <9 0 &gpio1 24 0>, /* D3 */ 101 <10 0 &gpio1 9 0>, /* D4 */ 102 <11 0 &gpio1 10 0>, /* D5 */ 103 <12 0 &gpio1 18 0>, /* D6 */ 104 <13 0 &gpio1 19 0>, /* D7 */ 105 <14 0 &gpio1 3 0>, /* D8 */ 106 <15 0 &gpio1 2 0>, /* D9 */ 107 <16 0 &gpio3 13 0>, /* D10 */ 108 <17 0 &gpio3 14 0>, /* D11 */ 109 <18 0 &gpio3 15 0>, /* D12 */ 110 <19 0 &gpio3 12 0>, /* D13 */ 111 <20 0 &gpio1 1 0>, /* D14 */ 112 <21 0 &gpio1 0 0>; /* D15 */ 113 }; 114}; 115 116arduino_serial: &lpuart3 { 117 pinctrl-0 = <&pinmux_lpuart3>; 118 pinctrl-1 = <&pinmux_lpuart3_sleep>; 119 pinctrl-names = "default", "sleep"; 120}; 121 122&adc1 { 123 status = "okay"; 124 pinctrl-0 = <&pinmux_adc1>; 125 pinctrl-names = "default"; 126}; 127 128nxp_touch_i2c: &lpi2c1 {}; 129 130zephyr_lcdif: &lcdif { 131 pinctrl-0 = <&pinmux_lcdif>; 132 pinctrl-names = "default"; 133}; 134 135&lpi2c1 { 136 status = "okay"; 137 pinctrl-0 = <&pinmux_lpi2c1>; 138 pinctrl-names = "default"; 139 140 fxos8700: fxos8700@1f { 141 compatible = "nxp,fxos8700"; 142 reg = <0x1f>; 143 144 /* Two zero ohm resistors (R263 and R264) isolate sensor 145 * interrupt gpios from the soc and are unpopulated by default. 146 * Note that if you populate them, they conflict with LCD and 147 * Ethernet interrupt gpios. 148 */ 149 int1-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; 150 int2-gpios = <&gpio1 11 GPIO_ACTIVE_LOW>; 151 }; 152}; 153 154&lpuart1 { 155 status = "okay"; 156 current-speed = <115200>; 157 pinctrl-0 = <&pinmux_lpuart1>; 158 pinctrl-1 = <&pinmux_lpuart1_sleep>; 159 pinctrl-names = "default", "sleep"; 160}; 161 162&lpspi1 { 163 status = "okay"; 164 /* DMA channels 0 and 1, muxed to LPSPI1 RX and TX */ 165 dmas = <&edma0 0 13>, <&edma0 1 14>; 166 dma-names = "rx", "tx"; 167 pinctrl-0 = <&pinmux_lpspi1>; 168 pinctrl-names = "default"; 169}; 170 171&lpspi3 { 172 status = "okay"; 173 /* DMA channels 2 and 3, muxed to LPSPI3 RX and TX */ 174 dmas = <&edma0 2 15>, <&edma0 3 16>; 175 dma-names = "rx", "tx"; 176 pinctrl-0 = <&pinmux_lpspi3>; 177 pinctrl-names = "default"; 178}; 179 180&enet_mac { 181 status = "okay"; 182 pinctrl-0 = <&pinmux_enet>; 183 pinctrl-names = "default"; 184 phy-handle = <&phy>; 185 zephyr,random-mac-address; 186 phy-connection-type = "rmii"; 187}; 188 189&enet_mdio { 190 status = "okay"; 191 pinctrl-0 = <&pinmux_enet_mdio>; 192 pinctrl-names = "default"; 193 phy: phy@0 { 194 compatible = "microchip,ksz8081"; 195 reg = <0>; 196 status = "okay"; 197 reset-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; 198 int-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; 199 microchip,interface-type = "rmii"; 200 }; 201}; 202 203&enet_ptp_clock { 204 status = "okay"; 205 pinctrl-0 = <&pinmux_ptp>; 206 pinctrl-names = "default"; 207}; 208 209zephyr_udc0: &usb1 { 210 status = "okay"; 211}; 212 213&usdhc1 { 214 status = "okay"; 215 pwr-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>; 216 cd-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; 217 pinctrl-0 = <&pinmux_usdhc1>; 218 pinctrl-1 = <&pinmux_usdhc1_slow>; 219 pinctrl-2 = <&pinmux_usdhc1_med>; 220 pinctrl-3 = <&pinmux_usdhc1_fast>; 221 pinctrl-names = "default", "slow", "med", "fast"; 222 sdmmc { 223 compatible = "zephyr,sdmmc-disk"; 224 disk-name = "SD"; 225 status = "okay"; 226 }; 227}; 228 229&wdog0 { 230 status = "okay"; 231}; 232 233&edma0 { 234 status = "okay"; 235}; 236 237&pxp { 238 status = "okay"; 239}; 240 241/* GPT and Systick are enabled. If power management is enabled, the GPT 242 * timer will be used instead of systick, as allows the core clock to 243 * be gated. 244 */ 245&gpt_hw_timer { 246 status = "okay"; 247}; 248 249&systick { 250 status = "okay"; 251}; 252