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