1/* 2 * SPDX-License-Identifier: Apache-2.0 3 * 4 * Copyright 2023 NXP 5 */ 6 7/dts-v1/; 8 9#include <nxp/nxp_rt1060.dtsi> 10#include "mimxrt1062_fmurt6-pinctrl.dtsi" 11#include <zephyr/dt-bindings/pwm/pwm.h> 12#include <freq.h> 13 14/ { 15 model = "NXP MIMXRT1062 FMURT6 board"; 16 compatible = "nxp,mimxrt1062"; 17 18 aliases { 19 led0 = &green_led; 20 led1 = &red_led; 21 watchdog0 = &wdog0; 22 sdhc0 = &usdhc1; 23 gps1 = &lpuart2; 24 telem1 = &lpuart3; 25 telem4-gps2 = &lpuart5; 26 }; 27 28 chosen { 29 zephyr,flash-controller = &s26ks512s0; 30 zephyr,flash = &s26ks512s0; 31 zephyr,code-partition = &slot0_partition; 32 zephyr,uart-mcumgr = &lpuart7; 33 zephyr,sram = &ocram; 34 zephyr,itcm = &itcm; 35 zephyr,dtcm = &dtcm; 36 zephyr,console = &lpuart7; 37 zephyr,shell-uart = &lpuart7; 38 zephyr,canbus = &flexcan1; 39 }; 40 41 leds { 42 compatible = "gpio-leds"; 43 green_led: led-1 { 44 gpios = <&gpio2 11 GPIO_ACTIVE_HIGH>; 45 label = "User LED1"; 46 }; 47 red_led: led-2 { 48 gpios = <&gpio2 10 GPIO_ACTIVE_LOW>; 49 label = "User LED2"; 50 }; 51 }; 52 53 /* This regulator controls VDD_3V3_SD_CARD onboard supply */ 54 reg-3v3-sdcard { 55 compatible = "regulator-fixed"; 56 regulator-name = "reg-3v3-sdcard"; 57 enable-gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>; 58 regulator-always-on; 59 status = "okay"; 60 }; 61 62 /* This regulator controls VDD_5V_PERIPH onboard supply */ 63 reg-5v-periph { 64 compatible = "regulator-fixed"; 65 regulator-name = "reg-5v-periph"; 66 enable-gpios = <&gpio4 9 GPIO_ACTIVE_LOW>; 67 regulator-always-on; 68 status = "okay"; 69 }; 70 71 /* This regulator controls VDD_5V_HIPOWER onboard supply */ 72 reg-5v-hipower { 73 compatible = "regulator-fixed"; 74 regulator-name = "reg-5v-hipower"; 75 enable-gpios = <&gpio4 6 GPIO_ACTIVE_LOW>; 76 regulator-always-on; 77 status = "okay"; 78 }; 79 80 /* This regulator controls the 3V3_S line, which powers sensors on-board. */ 81 reg-3v3-sensor { 82 compatible = "regulator-fixed"; 83 regulator-name = "reg-3v3-sensor"; 84 enable-gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>; 85 startup-delay-us = <2000>; 86 regulator-always-on; 87 status = "okay"; 88 }; 89 90 /* This regulator controls VDD_3V3_SPEKTRUM onboard supply */ 91 reg-3v3-spektrum { 92 compatible = "regulator-fixed"; 93 regulator-name = "reg-3v3-spektrum"; 94 enable-gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>; 95 regulator-always-on; 96 status = "okay"; 97 }; 98 99 /* This regulator controls ETH_VDD_3V3 supply to power up the TJA1103 PHY */ 100 reg-eth-power { 101 compatible = "regulator-fixed"; 102 regulator-name = "reg-eth-power"; 103 enable-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; 104 regulator-always-on; 105 status = "okay"; 106 }; 107}; 108 109&flexcan1 { 110 status = "okay"; 111 pinctrl-0 = <&pinmux_flexcan1>; 112 pinctrl-names = "default"; 113 can-transceiver { 114 max-bitrate = <5000000>; 115 }; 116}; 117 118&flexcan2 { 119 status = "disabled"; 120 pinctrl-0 = <&pinmux_flexcan2>; 121 pinctrl-names = "default"; 122 can-transceiver { 123 max-bitrate = <5000000>; 124 }; 125}; 126 127&flexcan3 { 128 status = "disabled"; 129 pinctrl-0 = <&pinmux_flexcan3>; 130 pinctrl-names = "default"; 131 can-transceiver { 132 max-bitrate = <5000000>; 133 }; 134}; 135 136&gpio1 { 137 status = "okay"; 138}; 139 140&gpio2 { 141 status = "okay"; 142}; 143 144&gpio3 { 145 status = "okay"; 146}; 147 148&gpio4 { 149 status = "okay"; 150}; 151 152&gpio5 { 153 status = "okay"; 154}; 155 156&gpio6 { 157 status = "okay"; 158}; 159 160&gpio7 { 161 status = "okay"; 162}; 163 164&gpio8 { 165 status = "okay"; 166}; 167 168&gpio9 { 169 status = "okay"; 170}; 171 172&adc1 { 173 status = "okay"; 174 pinctrl-0 = <&pinmux_adc1>; 175 pinctrl-names = "default"; 176}; 177 178&flexspi { 179 status = "okay"; 180 ahb-prefetch; 181 ahb-read-addr-opt; 182 ahb-bufferable; 183 ahb-cacheable; 184 sck-differential-clock; 185 combination-mode; 186 rx-clock-source = <3>; 187 reg = <0x402a8000 0x4000>, <0x60000000 DT_SIZE_M(64)>; 188 s26ks512s0: s26ks512s@0 { 189 compatible = "nxp,imx-flexspi-hyperflash"; 190 size = <DT_SIZE_M(64*8)>; 191 reg = <0>; 192 spi-max-frequency = <166000000>; 193 word-addressable; 194 cs-interval-unit = <1>; 195 cs-interval = <2>; 196 cs-hold-time = <0>; 197 cs-setup-time = <3>; 198 data-valid-time = <1>; 199 column-space = <3>; 200 ahb-write-wait-unit = <2>; 201 ahb-write-wait-interval = <20>; 202 status = "okay"; 203 erase-block-size = <DT_SIZE_K(256)>; 204 write-block-size = <16>; 205 206 partitions { 207 compatible = "fixed-partitions"; 208 #address-cells = <1>; 209 #size-cells = <1>; 210 boot_partition: partition@0 { 211 label = "mcuboot"; 212 reg = <0x00000000 DT_SIZE_K(256)>; 213 }; 214 /* The MCUBoot swap-move algorithm uses the last 2 sectors 215 * of the primary slot0 for swap status and move. 216 */ 217 slot0_partition: partition@40000 { 218 label = "image-0"; 219 reg = <0x00040000 (DT_SIZE_M(3) + DT_SIZE_K(512))>; 220 }; 221 slot1_partition: partition@3C0000 { 222 label = "image-1"; 223 reg = <0x003C0000 DT_SIZE_M(3)>; 224 }; 225 storage_partition: partition@6C0000 { 226 label = "storage"; 227 reg = <0x006C0000 (DT_SIZE_M(58) - DT_SIZE_K(768))>; 228 }; 229 }; 230 }; 231}; 232 233&lpi2c1 { 234 status = "okay"; 235 pinctrl-0 = <&pinmux_lpi2c1>; 236 pinctrl-names = "default"; 237 238}; 239 240&lpi2c2 { 241 status = "okay"; 242 pinctrl-0 = <&pinmux_lpi2c2>; 243 pinctrl-names = "default"; 244 245 bmp388: bmp388@76 { 246 compatible = "bosch,bmp388"; 247 reg = <0x76>; 248 status = "okay"; 249 }; 250}; 251 252&lpi2c4 { 253 status = "okay"; 254 pinctrl-0 = <&pinmux_lpi2c2>; 255 pinctrl-names = "default"; 256 257 bmm150: bmm150@10 { 258 compatible = "bosch,bmm150"; 259 status = "disabled"; 260 reg = <0x10>; 261 }; 262 263}; 264 265&lpuart7 { 266 status = "okay"; 267 current-speed = <115200>; 268 pinctrl-0 = <&pinmux_lpuart7>; 269 pinctrl-1 = <&pinmux_lpuart7_sleep>; 270 pinctrl-names = "default", "sleep"; 271}; 272 273&lpuart2 { 274 status = "okay"; 275 current-speed = <115200>; 276 pinctrl-0 = <&pinmux_lpuart2>; 277 pinctrl-1 = <&pinmux_lpuart2_sleep>; 278 pinctrl-names = "default", "sleep"; 279}; 280 281&lpuart3 { 282 status = "okay"; 283 current-speed = <115200>; 284 pinctrl-0 = <&pinmux_lpuart3>; 285 pinctrl-1 = <&pinmux_lpuart3_sleep>; 286 pinctrl-names = "default", "sleep"; 287}; 288 289&lpuart5 { 290 status = "okay"; 291 current-speed = <115200>; 292 pinctrl-0 = <&pinmux_lpuart5>; 293 pinctrl-1 = <&pinmux_lpuart5_sleep>; 294 pinctrl-names = "default", "sleep"; 295}; 296 297&lpspi1 { 298 status = "okay"; 299 pinctrl-0 = <&pinmux_lpspi1>; 300 pinctrl-names = "default"; 301 cs-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>; 302 clock-frequency = <DT_FREQ_M(10)>; 303}; 304 305&lpspi2 { 306 status = "disabled"; 307 pinctrl-0 = <&pinmux_lpspi2>; 308 pinctrl-names = "default"; 309 clock-frequency = <DT_FREQ_M(1)>; 310 311 ism330dhcx: ism330dhcx@0 { 312 compatible = "st,ism330dhcx"; 313 status = "disabled"; 314 spi-max-frequency = <1000000>; 315 reg = <0>; 316 }; 317}; 318 319 320&lpspi3 { 321 status = "okay"; 322 pinctrl-0 = <&pinmux_lpspi3>; 323 pinctrl-names = "default"; 324 /* Accelerometer */ 325 /* Gyroscope */ 326 cs-gpios = <&gpio2 31 GPIO_ACTIVE_LOW>, 327 <&gpio2 26 GPIO_ACTIVE_LOW>; 328 329 clock-frequency = <DT_FREQ_M(10)>; 330}; 331 332&flexpwm2_pwm0 { 333 status = "okay"; 334 pinctrl-0 = <&pinmux_flexpwm_fmu_ch1>; 335 pinctrl-names = "default"; 336 nxp,prescaler = <64>; 337}; 338 339&flexpwm2_pwm1 { 340 status = "okay"; 341 pinctrl-0 = <&pinmux_flexpwm_fmu_ch2>; 342 pinctrl-names = "default"; 343 nxp,prescaler = <64>; 344}; 345 346&flexpwm2_pwm2 { 347 status = "okay"; 348 pinctrl-0 = <&pinmux_flexpwm_fmu_ch3>; 349 pinctrl-names = "default"; 350 nxp,prescaler = <64>; 351}; 352 353&flexpwm2_pwm3 { 354 status = "okay"; 355 pinctrl-0 = <&pinmux_flexpwm_fmu_ch4>; 356 pinctrl-names = "default"; 357 nxp,prescaler = <64>; 358}; 359 360&flexpwm3_pwm2 { 361 status = "okay"; 362 pinctrl-0 = <&pinmux_flexpwm_fmu_ch5>; 363 pinctrl-names = "default"; 364 nxp,prescaler = <64>; 365}; 366 367&flexpwm3_pwm0 { 368 status = "okay"; 369 pinctrl-0 = <&pinmux_flexpwm_fmu_ch6>; 370 pinctrl-names = "default"; 371 nxp,prescaler = <64>; 372}; 373 374&flexpwm4_pwm2 { 375 status = "okay"; 376 pinctrl-0 = <&pinmux_flexpwm_fmu_ch7>; 377 pinctrl-names = "default"; 378 nxp,prescaler = <64>; 379}; 380 381&flexpwm4_pwm0 { 382 status = "okay"; 383 pinctrl-0 = <&pinmux_flexpwm_fmu_ch8>; 384 pinctrl-names = "default"; 385 nxp,prescaler = <64>; 386}; 387 388&enet2 { 389 status = "okay"; 390}; 391 392&enet2_mac { 393 pinctrl-0 = <&pinmux_enet>; 394 pinctrl-names = "default"; 395 zephyr,random-mac-address; 396 phy-connection-type = "rmii"; 397 phy-handle = <&phy>; 398 status = "okay"; 399}; 400 401&enet2_mdio { 402 status = "okay"; 403 pinctrl-0 = <&pinmux_enet>; 404 pinctrl-names = "default"; 405 phy: phy@0 { 406 compatible = "ethernet-phy"; 407 reg = <0>; 408 status = "okay"; 409 }; 410}; 411 412zephyr_udc0: &usb1 { 413 status = "okay"; 414}; 415 416&usdhc1 { 417 status = "okay"; 418 power-delay-ms = <1000>; 419 pwr-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>; 420 cd-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; 421 pinctrl-0 = <&pinmux_usdhc1>; 422 pinctrl-1 = <&pinmux_usdhc1_slow>; 423 pinctrl-2 = <&pinmux_usdhc1_med>; 424 pinctrl-3 = <&pinmux_usdhc1_fast>; 425 pinctrl-names = "default", "slow", "med", "fast"; 426 sdmmc { 427 compatible = "zephyr,sdmmc-disk"; 428 disk-name = "SD"; 429 status = "okay"; 430 }; 431}; 432 433&wdog0 { 434 status = "okay"; 435}; 436 437&edma0 { 438 status = "okay"; 439}; 440 441/* GPT and Systick are enabled. If power management is enabled, the GPT 442 * timer will be used instead of systick, as allows the core clock to 443 * be gated. 444 */ 445&gpt_hw_timer { 446 status = "okay"; 447}; 448 449&systick { 450 status = "okay"; 451}; 452 453&iomuxcgpr { 454 status = "okay"; 455}; 456 457&itm { 458 pinctrl-0 = <&pinmux_swo>; 459 pinctrl-names = "default"; 460}; 461