1/* 2 * Copyright 2023 NXP 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7/dts-v1/; 8 9#include <nxp/nxp_rt11xx_cm7.dtsi> 10#include <zephyr/dt-bindings/led/led.h> 11#include "vmu_rt1170.dtsi" 12 13/ { 14 model = "NXP VMU RT1170"; 15 compatible = "nxp,mimxrt1176"; 16 17 aliases { 18 led0 = &green_led; 19 led1 = &red_led; 20 watchdog0 = &wdog1; 21 sdhc0 = &usdhc1; 22 }; 23 24 chosen { 25 zephyr,sram = &ocram1; /* TODO Merge with other OCRAM */ 26 zephyr,sram1 = &ocram2; /* TODO Merge with other OCRAM */ 27 zephyr,dtcm = &dtcm; 28 zephyr,itcm = &itcm; 29 zephyr,console = &lpuart1; 30 zephyr,shell-uart = &lpuart1; 31 zephyr,canbus = &flexcan1; 32 zephyr,flash-controller = &mx25um51345g; 33 zephyr,flash = &mx25um51345g; 34 zephyr,code-partition = &slot0_partition; 35 }; 36 37 /* This regulator controls VDD_3V3_SD_CARD onboard supply */ 38 reg-3v3-sdcard { 39 compatible = "regulator-fixed"; 40 regulator-name = "reg-3v3-sdcard"; 41 enable-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>; 42 regulator-always-on; 43 status = "okay"; 44 }; 45 46 /* This regulator controls VDD_5V_PERIPH onboard supply */ 47 reg-5v-periph { 48 compatible = "regulator-fixed"; 49 regulator-name = "reg-5v-periph"; 50 enable-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>; 51 regulator-always-on; 52 status = "okay"; 53 }; 54 55 /* This regulator controls VDD_5V_HIPOWER onboard supply */ 56 reg-5v-hipower { 57 compatible = "regulator-fixed"; 58 regulator-name = "reg-5v-hipower"; 59 enable-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; 60 regulator-always-on; 61 status = "okay"; 62 }; 63 64 /* This regulator controls the VDD_3V3_SENSORS1 onboard supply. */ 65 reg-3v3-sensors-1 { 66 compatible = "regulator-fixed"; 67 regulator-name = "reg-3v3-sensors-1"; 68 enable-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; 69 startup-delay-us = <2000>; 70 regulator-always-on; 71 status = "okay"; 72 }; 73 74 /* This regulator controls the VDD_3V3_SENSORS2 onboard supply. */ 75 reg-3v3-sensors-2 { 76 compatible = "regulator-fixed"; 77 regulator-name = "reg-3v3-sensors-2"; 78 enable-gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>; 79 startup-delay-us = <2000>; 80 regulator-always-on; 81 status = "okay"; 82 }; 83 84 /* This regulator controls the VDD_3V3_SENSORS3 onboard supply. */ 85 reg-3v3-sensors-3 { 86 compatible = "regulator-fixed"; 87 regulator-name = "reg-3v3-sensors-3"; 88 enable-gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>; 89 startup-delay-us = <2000>; 90 regulator-always-on; 91 status = "okay"; 92 }; 93 94 /* This regulator controls the VDD_3V3_SENSORS4 onboard supply. */ 95 reg-3v3-sensors-4 { 96 compatible = "regulator-fixed"; 97 regulator-name = "reg-3v3-sensors-4"; 98 enable-gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>; 99 startup-delay-us = <2000>; 100 regulator-always-on; 101 status = "okay"; 102 }; 103 104 /* This regulator controls VDD_3V3_SPEKTRUM onboard supply */ 105 reg-3v3-spektrum { 106 compatible = "regulator-fixed"; 107 regulator-name = "reg-3v3-spektrum"; 108 enable-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>; 109 regulator-always-on; 110 status = "okay"; 111 }; 112 113 /* This regulator controls ETH_VDD_3V3 supply to power up the TJA1103 PHY */ 114 reg-eth-power { 115 compatible = "regulator-fixed"; 116 regulator-name = "reg-eth-power"; 117 enable-gpios = <&gpio5 9 GPIO_ACTIVE_HIGH>; 118 regulator-always-on; 119 status = "okay"; 120 }; 121}; 122 123 124&gpio1 { 125 status = "okay"; 126}; 127 128&gpio2 { 129 status = "okay"; 130}; 131 132&gpio3 { 133 status = "okay"; 134}; 135 136&gpio4 { 137 status = "okay"; 138}; 139 140&gpio5 { 141 status = "okay"; 142}; 143 144&gpio6 { 145 status = "okay"; 146}; 147 148&gpio7 { 149 status = "okay"; 150}; 151 152&gpio8 { 153 status = "okay"; 154}; 155 156&gpio9 { 157 status = "okay"; 158}; 159 160&lpuart1 { 161 status = "okay"; 162 current-speed = <115200>; 163}; 164 165&lpuart4 { 166 status = "okay"; 167 current-speed = <115200>; 168}; 169 170 171&flexcan1 { 172 status = "okay"; 173 pinctrl-0 = <&pinmux_flexcan1>; 174 pinctrl-names = "default"; 175 bus-speed = <125000>; 176 bus-speed-data = <1000000>; 177 can-transceiver { 178 max-bitrate = <5000000>; 179 }; 180}; 181 182&flexcan2 { 183 status = "okay"; 184 pinctrl-0 = <&pinmux_flexcan2>; 185 pinctrl-names = "default"; 186 bus-speed = <125000>; 187 bus-speed-data = <1000000>; 188 can-transceiver { 189 max-bitrate = <5000000>; 190 }; 191}; 192 193&flexcan3 { 194 status = "okay"; 195 pinctrl-0 = <&pinmux_flexcan3>; 196 pinctrl-names = "default"; 197 bus-speed = <125000>; 198 bus-speed-data = <1000000>; 199 can-transceiver { 200 max-bitrate = <5000000>; 201 }; 202}; 203 204&lpspi1 { 205 status = "okay"; 206 cs-gpios =<&gpio2 11 GPIO_ACTIVE_LOW>; 207 208 icm42688_0: icm42688p0@0 { 209 compatible = "invensense,icm42688"; 210 reg = <0>; 211 int-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>; 212 spi-max-frequency = <24000000>; 213 accel-hz = <1000>; 214 accel-fs = <16>; 215 gyro-hz = <1000>; 216 gyro-fs = <2000>; 217 }; 218}; 219 220&lpspi2 { 221 status = "okay"; 222 cs-gpios =<&gpio3 24 GPIO_ACTIVE_LOW>; 223 224 icm42688_1: icm42688p1@0 { 225 compatible = "invensense,icm42688"; 226 reg = <0>; 227 int-gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>; 228 spi-max-frequency = <24000000>; 229 accel-hz = <1000>; 230 accel-fs = <16>; 231 gyro-hz = <1000>; 232 gyro-fs = <2000>; 233 }; 234}; 235 236&lpspi3 { 237 status = "okay"; 238 cs-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>, 239 <&gpio2 18 GPIO_ACTIVE_LOW>; 240 241 242 bmi08x_accel: bmi08x@0 { 243 compatible = "bosch,bmi08x-accel"; 244 reg = <0>; 245 int-gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>; 246 spi-max-frequency = <10000000>; 247 int1-map-io = <0x01>; 248 int2-map-io = <0x00>; 249 int1-conf-io = <0x04>; 250 int2-conf-io = <0x00>; 251 accel-hz = "800"; 252 accel-fs = <24>; 253 }; 254 255 bmi08x_gyro: bmi08x@1 { 256 compatible = "bosch,bmi08x-gyro"; 257 reg = <1>; 258 int-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>; 259 spi-max-frequency = <10000000>; 260 int3-4-map-io = <0x01>; 261 int3-4-conf-io = <0x02>; 262 gyro-hz = "1000_116"; 263 gyro-fs = <1000>; 264 }; 265}; 266 267&lpspi6 { 268 status = "okay"; 269}; 270 271&lpi2c1 { 272 status = "okay"; 273 274 ist8310: ist8310@e { 275 compatible = "isentek,ist8310"; 276 reg = <0xe>; 277 278 }; 279 280 ncp5623c: ncp5623c@39 { 281 compatible = "onnn,ncp5623c"; 282 reg = <0x39>; 283 284 led_0 { 285 label = "GNSS LED"; 286 index = <0>; 287 color-mapping = 288 <LED_COLOR_ID_RED>, 289 <LED_COLOR_ID_GREEN>, 290 <LED_COLOR_ID_BLUE>; 291 }; 292 }; 293}; 294 295&lpi2c2 { 296 status = "okay"; 297 clock-frequency = <I2C_BITRATE_FAST>; 298 299 bmp388_0: bmp388@76 { 300 compatible = "bosch,bmp388"; 301 int-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>; 302 reg = <0x76>; 303 status = "okay"; 304 odr = "50"; 305 osr-press = <4>; 306 osr-temp = <2>; 307 }; 308}; 309 310&lpi2c3 { 311 status = "okay"; 312 clock-frequency = <I2C_BITRATE_FAST>; 313 314 bmm150: bmm150@10 { 315 compatible = "bosch,bmm150"; 316 status = "okay"; 317 reg = <0x10>; 318 }; 319 320 bmp388_1: bmp388@77 { 321 compatible = "bosch,bmp388"; 322 reg = <0x77>; 323 status = "okay"; 324 odr = "50"; 325 osr-press = <4>; 326 osr-temp = <2>; 327 }; 328}; 329 330&lpi2c6 { 331 status = "okay"; 332}; 333 334&flexpwm1_pwm0 { 335 status = "okay"; 336 pinctrl-0 = <&pinmux_flexpwm_vmu_ch1>; 337 pinctrl-names = "default"; 338 nxp,prescaler = <64>; 339}; 340 341&flexpwm1_pwm1 { 342 status = "okay"; 343 pinctrl-0 = <&pinmux_flexpwm_vmu_ch2>; 344 pinctrl-names = "default"; 345 nxp,prescaler = <64>; 346}; 347 348&flexpwm1_pwm2 { 349 status = "okay"; 350 pinctrl-0 = <&pinmux_flexpwm_vmu_ch3>; 351 pinctrl-names = "default"; 352 nxp,prescaler = <64>; 353}; 354 355&flexpwm2_pwm0 { 356 status = "okay"; 357 pinctrl-0 = <&pinmux_flexpwm_vmu_ch4>; 358 pinctrl-names = "default"; 359 nxp,prescaler = <64>; 360}; 361 362&flexpwm2_pwm1 { 363 status = "okay"; 364 pinctrl-0 = <&pinmux_flexpwm_vmu_ch5>; 365 pinctrl-names = "default"; 366 nxp,prescaler = <64>; 367}; 368 369&flexpwm2_pwm2 { 370 status = "okay"; 371 pinctrl-0 = <&pinmux_flexpwm_vmu_ch6>; 372 pinctrl-names = "default"; 373 nxp,prescaler = <64>; 374}; 375 376&flexpwm2_pwm3 { 377 status = "okay"; 378 pinctrl-0 = <&pinmux_flexpwm_vmu_ch7>; 379 pinctrl-names = "default"; 380 nxp,prescaler = <64>; 381}; 382 383&flexpwm3_pwm0 { 384 status = "okay"; 385 pinctrl-0 = <&pinmux_flexpwm_vmu_ch8>; 386 pinctrl-names = "default"; 387 nxp,prescaler = <64>; 388}; 389 390 391&gpt5 { 392 compatible = "nxp,gpt-ppm-input"; 393 pinctrl-0 = <&pinmux_gpt_ppm>; 394 pinctrl-names = "default"; 395 capture-channel = <1>; 396}; 397 398&usdhc1 { 399 status = "okay"; 400 sdmmc { 401 compatible = "zephyr,sdmmc-disk"; 402 status = "okay"; 403 }; 404}; 405 406&edma0 { 407 status = "okay"; 408}; 409 410&lpadc1 { 411 status = "okay"; 412}; 413 414/* GPT and Systick are enabled. If power management is enabled, the GPT 415 * timer will be used instead of systick, as allows the core clock to 416 * be gated. 417 */ 418&gpt_hw_timer { 419 status = "disabled"; 420}; 421 422&systick { 423 status = "okay"; 424}; 425 426&wdog1 { 427 status = "okay"; 428}; 429 430&enet1g { 431 status = "okay"; 432 int-gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>; 433}; 434 435zephyr_udc0: &usb1 { 436 status = "okay"; 437}; 438