1/* 2 * Copyright (c) 2018, NXP 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7/dts-v1/; 8 9#include <nxp/nxp_rt1064.dtsi> 10#include "mimxrt1064_evk-pinctrl.dtsi" 11#include <zephyr/dt-bindings/display/panel.h> 12 13/ { 14 model = "NXP MIMXRT1064-EVK board"; 15 compatible = "nxp,mimxrt1064"; 16 17 aliases { 18 led0 = &green_led; 19 pwm-led0 = &green_pwm_led; 20 sw0 = &user_button; 21 kscan0 = &kscan_input; 22 watchdog0 = &wdog0; 23 sdhc0 = &usdhc1; 24 }; 25 26 chosen { 27 zephyr,flash-controller = &is25wp064; 28 zephyr,flash = &w25q32jvwj0; 29 zephyr,code-partition = &slot0_partition; 30 zephyr,sram = &sdram0; 31 zephyr,itcm = &itcm; 32 zephyr,dtcm = &dtcm; 33 zephyr,console = &lpuart1; 34 zephyr,shell-uart = &lpuart1; 35 zephyr,canbus = &flexcan2; 36 zephyr,display = &lcdif; 37 zephyr,keyboard-scan = &kscan_input; 38 }; 39 40 sdram0: memory@80000000 { 41 /* Micron MT48LC16M16A2B4-6AIT:G */ 42 device_type = "memory"; 43 reg = <0x80000000 DT_SIZE_M(32)>; 44 }; 45 46 leds { 47 compatible = "gpio-leds"; 48 green_led: led-1 { 49 gpios = <&gpio1 9 GPIO_ACTIVE_LOW>; 50 label = "User LD1"; 51 }; 52 }; 53 54 pwmleds { 55 compatible = "pwm-leds"; 56 57 green_pwm_led: green_pwm_led { 58 pwms = <&flexpwm2_pwm3 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; 59 }; 60 }; 61 62 gpio_keys { 63 compatible = "gpio-keys"; 64 user_button: button-1 { 65 label = "User SW8"; 66 gpios = <&gpio5 0 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; 67 }; 68 }; 69 70 arduino_header: connector { 71 compatible = "arduino-header-r3"; 72 #gpio-cells = <2>; 73 gpio-map-mask = <0xffffffff 0xffffffc0>; 74 gpio-map-pass-thru = <0 0x3f>; 75 gpio-map = <0 0 &gpio1 26 0>, /* A0 */ 76 <1 0 &gpio1 27 0>, /* A1 */ 77 <2 0 &gpio1 20 0>, /* A2 */ 78 <3 0 &gpio1 21 0>, /* A3 */ 79 <4 0 &gpio1 17 0>, /* A4 */ 80 <5 0 &gpio1 16 0>, /* A5 */ 81 <6 0 &gpio1 23 0>, /* D0 */ 82 <7 0 &gpio1 22 0>, /* D1 */ 83 <8 0 &gpio1 11 0>, /* D2 */ 84 <9 0 &gpio1 24 0>, /* D3 */ 85 <10 0 &gpio1 9 0>, /* D4 */ 86 <11 0 &gpio1 10 0>, /* D5 */ 87 <12 0 &gpio1 18 0>, /* D6 */ 88 <13 0 &gpio1 19 0>, /* D7 */ 89 <14 0 &gpio1 3 0>, /* D8 */ 90 <15 0 &gpio1 2 0>, /* D9 */ 91 <16 0 &gpio3 13 0>, /* D10 */ 92 <17 0 &gpio3 14 0>, /* D11 */ 93 <18 0 &gpio3 15 0>, /* D12 */ 94 <19 0 &gpio3 12 0>, /* D13 */ 95 <20 0 &gpio1 17 0>, /* D14 */ 96 <21 0 &gpio1 16 0>; /* D15 */ 97 }; 98 99 panel { 100 compatible = "rocktech,rk043fn02h-ct"; 101 port { 102 lcd_panel_in: endpoint { 103 remote-endpoint = <&lcd_panel_out>; 104 }; 105 }; 106 }; 107 108 power-states { 109 idle: idle { 110 compatible = "zephyr,power-state"; 111 power-state-name = "runtime-idle"; 112 exit-latency-us = <4000>; 113 min-residency-us = <5000>; 114 }; 115 suspend: suspend { 116 compatible = "zephyr,power-state"; 117 power-state-name = "suspend-to-idle"; 118 exit-latency-us = <5000>; 119 min-residency-us = <10000>; 120 }; 121 }; 122}; 123 124&cpu0 { 125 cpu-power-states = <&idle &suspend>; 126}; 127 128arduino_i2c: &lpi2c1 {}; 129 130&lcdif { 131 status = "okay"; 132 width = <480>; 133 height = <272>; 134 display-timings { 135 compatible = "zephyr,panel-timing"; 136 hsync-len = <41>; 137 hfront-porch = <4>; 138 hback-porch = <8>; 139 vsync-len = <10>; 140 vfront-porch = <4>; 141 vback-porch = <2>; 142 de-active= <1>; 143 pixelclk-active = <1>; 144 hsync-active = <0>; 145 vsync-active = <0>; 146 clock-frequency = <9210240>; 147 }; 148 pixel-format = <PANEL_PIXEL_FORMAT_BGR_565>; 149 data-bus-width = "16-bit"; 150 pinctrl-0 = <&pinmux_lcdif>; 151 pinctrl-names = "default"; 152 backlight-gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>; 153 port { 154 lcd_panel_out: endpoint { 155 remote-endpoint = <&lcd_panel_in>; 156 }; 157 }; 158}; 159 160&lpi2c1 { 161 status = "okay"; 162 163 pinctrl-0 = <&pinmux_lpi2c1>; 164 pinctrl-names = "default"; 165 166 mt9m114: mt9m114@48 { 167 compatible = "aptina,mt9m114"; 168 reg = <0x48>; 169 status = "okay"; 170 171 port { 172 mt9m114_ep_out: endpoint { 173 remote-endpoint = <&csi_ep_in>; 174 }; 175 }; 176 }; 177 178 ft5336@38 { 179 compatible = "focaltech,ft5336"; 180 reg = <0x38>; 181 int-gpios = <&gpio1 11 GPIO_ACTIVE_LOW>; 182 183 kscan_input: kscan-input { 184 compatible = "zephyr,kscan-input"; 185 }; 186 }; 187}; 188 189&flexspi { 190 status = "okay"; 191 pinctrl-0 = <&pinmux_flexspi1>; 192 pinctrl-names = "default"; 193 ahb-prefetch; 194 ahb-read-addr-opt; 195 rx-clock-source = <1>; 196 reg = <0x402a8000 0x4000>, <0x60000000 DT_SIZE_M(8)>; 197 is25wp064: is25wp064@0 { 198 compatible = "nxp,imx-flexspi-nor"; 199 size = <67108864>; 200 reg = <0>; 201 spi-max-frequency = <133000000>; 202 status = "okay"; 203 jedec-id = [9d 70 17]; 204 205 partitions { 206 compatible = "fixed-partitions"; 207 #address-cells = <1>; 208 #size-cells = <1>; 209 210 storage_partition: partition@0 { 211 label = "storage"; 212 reg = <0x00000000 DT_SIZE_M(8)>; 213 }; 214 }; 215 }; 216}; 217 218&w25q32jvwj0 { 219 partitions { 220 compatible = "fixed-partitions"; 221 #address-cells = <1>; 222 #size-cells = <1>; 223 224 boot_partition: partition@0 { 225 label = "mcuboot"; 226 reg = <0x00000000 DT_SIZE_K(64)>; 227 }; 228 slot0_partition: partition@10000 { 229 label = "image-0"; 230 reg = <0x00010000 DT_SIZE_K(1984)>; 231 }; 232 slot1_partition: partition@200000 { 233 label = "image-1"; 234 reg = <0x00200000 DT_SIZE_K(1984)>; 235 }; 236 scratch_partition: partition@3f0000 { 237 label = "image-scratch"; 238 reg = <0x003f0000 DT_SIZE_K(64)>; 239 }; 240 }; 241}; 242 243&lpuart1 { 244 status = "okay"; 245 pinctrl-0 = <&pinmux_lpuart1>; 246 pinctrl-1 = <&pinmux_lpuart1_sleep>; 247 pinctrl-names = "default", "sleep"; 248 current-speed = <115200>; 249}; 250 251arduino_serial: &lpuart3 { 252 current-speed = <115200>; 253 pinctrl-0 = <&pinmux_lpuart3>; 254 pinctrl-1 = <&pinmux_lpuart3_sleep>; 255 pinctrl-names = "default", "sleep"; 256}; 257 258&enet { 259 status = "okay"; 260 pinctrl-0 = <&pinmux_enet>; 261 pinctrl-names = "default"; 262 int-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; 263 reset-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; 264 ptp { 265 pinctrl-0 = <&pinmux_ptp>; 266 pinctrl-names = "default"; 267 status = "okay"; 268 }; 269}; 270 271zephyr_udc0: &usb1 { 272 status = "okay"; 273}; 274 275&csi { 276 status = "okay"; 277 sensor = <&mt9m114>; 278 pinctrl-0 = <&pinmux_csi>; 279 pinctrl-names = "default"; 280 281 port { 282 csi_ep_in: endpoint { 283 remote-endpoint = <&mt9m114_ep_out>; 284 }; 285 }; 286}; 287 288&flexpwm2_pwm3 { 289 status = "okay"; 290 pinctrl-0 = <&pinmux_flexpwm2>; 291 pinctrl-names = "default"; 292}; 293 294&usdhc1 { 295 status = "okay"; 296 pwr-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>; 297 cd-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; 298 pinctrl-0 = <&pinmux_usdhc1>; 299 pinctrl-1 = <&pinmux_usdhc1_slow>; 300 pinctrl-2 = <&pinmux_usdhc1_med>; 301 pinctrl-3 = <&pinmux_usdhc1_fast>; 302 pinctrl-names = "default", "slow", "med", "fast"; 303 sdmmc { 304 compatible = "zephyr,sdmmc-disk"; 305 status = "okay"; 306 }; 307}; 308 309&edma0 { 310 status = "okay"; 311}; 312 313&flexcan2 { 314 status = "okay"; 315 bus-speed = <125000>; 316 pinctrl-0 = <&pinmux_flexcan2>; 317 pinctrl-names = "default"; 318 319 can-transceiver { 320 max-bitrate = <5000000>; 321 }; 322}; 323 324&wdog0 { 325 status = "okay"; 326}; 327 328&lpspi1 { 329 status = "okay"; 330 /* DMA channels 0 and 1, muxed to LPSPI1 RX and TX */ 331 dmas = <&edma0 0 13>, <&edma0 1 14>; 332 dma-names = "rx", "tx"; 333 pinctrl-0 = <&pinmux_lpspi1>; 334 pinctrl-names = "default"; 335}; 336 337&lpspi3 { 338 status = "okay"; 339 /* DMA channels 2 and 3, muxed to LPSPI3 RX and TX */ 340 dmas = <&edma0 2 15>, <&edma0 3 16>; 341 dma-names = "rx", "tx"; 342 pinctrl-0 = <&pinmux_lpspi3>; 343 pinctrl-names = "default"; 344}; 345 346&adc1 { 347 status = "okay"; 348 pinctrl-0 = <&pinmux_adc1>; 349 pinctrl-names = "default"; 350}; 351 352/* GPT and Systick are enabled. If power management is enabled, the GPT 353 * timer will be used instead of systick, as allows the core clock to 354 * be gated. 355 */ 356&gpt_hw_timer { 357 status = "okay"; 358}; 359 360&systick { 361 status = "okay"; 362}; 363 364&itm { 365 pinctrl-0 = <&pinmux_swo>; 366 pinctrl-names = "default"; 367}; 368