1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * Copyright 2018-2020 Purism SPC 4 */ 5 6/dts-v1/; 7 8#include "dt-bindings/input/input.h" 9#include <dt-bindings/interrupt-controller/irq.h> 10#include "dt-bindings/pwm/pwm.h" 11#include "dt-bindings/usb/pd.h" 12#include "imx8mq.dtsi" 13 14/ { 15 model = "Purism Librem 5"; 16 compatible = "purism,librem5", "fsl,imx8mq"; 17 chassis-type = "handset"; 18 19 backlight_dsi: backlight-dsi { 20 compatible = "led-backlight"; 21 leds = <&led_backlight>; 22 }; 23 24 pmic_osc: clock-pmic { 25 compatible = "fixed-clock"; 26 #clock-cells = <0>; 27 clock-frequency = <32768>; 28 clock-output-names = "pmic_osc"; 29 }; 30 31 chosen { 32 stdout-path = &uart1; 33 }; 34 35 gpio-keys { 36 compatible = "gpio-keys"; 37 pinctrl-names = "default"; 38 pinctrl-0 = <&pinctrl_keys>; 39 40 vol-down { 41 label = "VOL_DOWN"; 42 gpios = <&gpio1 17 GPIO_ACTIVE_LOW>; 43 linux,code = <KEY_VOLUMEDOWN>; 44 debounce-interval = <50>; 45 wakeup-source; 46 }; 47 48 vol-up { 49 label = "VOL_UP"; 50 gpios = <&gpio1 16 GPIO_ACTIVE_LOW>; 51 linux,code = <KEY_VOLUMEUP>; 52 debounce-interval = <50>; 53 wakeup-source; 54 }; 55 }; 56 57 reg_aud_1v8: regulator-audio-1v8 { 58 compatible = "regulator-fixed"; 59 pinctrl-names = "default"; 60 pinctrl-0 = <&pinctrl_audiopwr>; 61 regulator-name = "AUDIO_PWR_EN"; 62 regulator-min-microvolt = <1800000>; 63 regulator-max-microvolt = <1800000>; 64 gpio = <&gpio1 4 GPIO_ACTIVE_HIGH>; 65 enable-active-high; 66 }; 67 68 /* 69 * the pinctrl for reg_csi_1v8 and reg_vcam_1v8 is added to the PMIC 70 * since we can't have it twice in the 2 different regulator nodes. 71 */ 72 reg_csi_1v8: regulator-csi-1v8 { 73 compatible = "regulator-fixed"; 74 regulator-name = "CAMERA_VDDIO_1V8"; 75 regulator-min-microvolt = <1800000>; 76 regulator-max-microvolt = <1800000>; 77 vin-supply = <®_vdd_3v3>; 78 gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; 79 enable-active-high; 80 }; 81 82 /* controlled by the CAMERA_POWER_KEY HKS */ 83 reg_vcam_1v2: regulator-vcam-1v2 { 84 compatible = "regulator-fixed"; 85 regulator-name = "CAMERA_VDDD_1V2"; 86 regulator-min-microvolt = <1200000>; 87 regulator-max-microvolt = <1200000>; 88 vin-supply = <®_vdd_1v8>; 89 enable-active-high; 90 }; 91 92 reg_vcam_2v8: regulator-vcam-2v8 { 93 compatible = "regulator-fixed"; 94 regulator-name = "CAMERA_VDDA_2V8"; 95 regulator-min-microvolt = <2800000>; 96 regulator-max-microvolt = <2800000>; 97 vin-supply = <®_vdd_3v3>; 98 gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; 99 enable-active-high; 100 }; 101 102 reg_gnss: regulator-gnss { 103 compatible = "regulator-fixed"; 104 pinctrl-names = "default"; 105 pinctrl-0 = <&pinctrl_gnsspwr>; 106 regulator-name = "GNSS"; 107 regulator-min-microvolt = <3300000>; 108 regulator-max-microvolt = <3300000>; 109 gpio = <&gpio3 12 GPIO_ACTIVE_HIGH>; 110 enable-active-high; 111 }; 112 113 reg_hub: regulator-hub { 114 compatible = "regulator-fixed"; 115 pinctrl-names = "default"; 116 pinctrl-0 = <&pinctrl_hub_pwr>; 117 regulator-name = "HUB"; 118 regulator-min-microvolt = <3300000>; 119 regulator-max-microvolt = <3300000>; 120 gpio = <&gpio1 14 GPIO_ACTIVE_HIGH>; 121 enable-active-high; 122 }; 123 124 reg_lcd_1v8: regulator-lcd-1v8 { 125 compatible = "regulator-fixed"; 126 pinctrl-names = "default"; 127 pinctrl-0 = <&pinctrl_dsien>; 128 regulator-name = "LCD_1V8"; 129 regulator-min-microvolt = <1800000>; 130 regulator-max-microvolt = <1800000>; 131 vin-supply = <®_vdd_1v8>; 132 gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>; 133 enable-active-high; 134 /* Otherwise i2c3 is not functional */ 135 regulator-always-on; 136 }; 137 138 reg_lcd_3v4: regulator-lcd-3v4 { 139 compatible = "regulator-fixed"; 140 regulator-name = "LCD_3V4"; 141 pinctrl-names = "default"; 142 pinctrl-0 = <&pinctrl_dsibiasen>; 143 vin-supply = <®_vsys_3v4>; 144 gpio = <&gpio1 20 GPIO_ACTIVE_HIGH>; 145 enable-active-high; 146 }; 147 148 reg_vdd_sen: regulator-vdd-sen { 149 compatible = "regulator-fixed"; 150 regulator-name = "VDD_SEN"; 151 regulator-min-microvolt = <3300000>; 152 regulator-max-microvolt = <3300000>; 153 }; 154 155 reg_vdd_1v8: regulator-vdd-1v8 { 156 compatible = "regulator-fixed"; 157 regulator-name = "VDD_1V8"; 158 regulator-min-microvolt = <1800000>; 159 regulator-max-microvolt = <1800000>; 160 vin-supply = <&buck7_reg>; 161 }; 162 163 reg_vdd_3v3: regulator-vdd-3v3 { 164 compatible = "regulator-fixed"; 165 regulator-name = "VDD_3V3"; 166 regulator-min-microvolt = <3300000>; 167 regulator-max-microvolt = <3300000>; 168 }; 169 170 reg_vsys_3v4: regulator-vsys-3v4 { 171 compatible = "regulator-fixed"; 172 regulator-name = "VSYS_3V4"; 173 regulator-min-microvolt = <3400000>; 174 regulator-max-microvolt = <3400000>; 175 regulator-always-on; 176 }; 177 178 reg_wifi_3v3: regulator-wifi-3v3 { 179 compatible = "regulator-fixed"; 180 pinctrl-names = "default"; 181 pinctrl-0 = <&pinctrl_wifi_pwr>; 182 regulator-name = "3V3_WIFI"; 183 regulator-min-microvolt = <3300000>; 184 regulator-max-microvolt = <3300000>; 185 gpio = <&gpio3 10 GPIO_ACTIVE_HIGH>; 186 enable-active-high; 187 vin-supply = <®_vdd_3v3>; 188 }; 189 190 sound { 191 compatible = "simple-audio-card"; 192 pinctrl-names = "default"; 193 pinctrl-0 = <&pinctrl_hp>; 194 simple-audio-card,name = "Librem 5"; 195 simple-audio-card,format = "i2s"; 196 simple-audio-card,widgets = 197 "Headphone", "Headphones", 198 "Microphone", "Headset Mic", 199 "Microphone", "Digital Mic", 200 "Speaker", "Speaker"; 201 simple-audio-card,routing = 202 "Headphones", "HPOUTL", 203 "Headphones", "HPOUTR", 204 "Speaker", "SPKOUTL", 205 "Speaker", "SPKOUTR", 206 "Headset Mic", "MICBIAS", 207 "IN3R", "Headset Mic", 208 "DMICDAT", "Digital Mic"; 209 simple-audio-card,hp-det-gpio = <&gpio3 9 GPIO_ACTIVE_HIGH>; 210 211 simple-audio-card,cpu { 212 sound-dai = <&sai2>; 213 }; 214 215 simple-audio-card,codec { 216 sound-dai = <&codec>; 217 clocks = <&clk IMX8MQ_CLK_SAI2_ROOT>; 218 frame-master; 219 bitclock-master; 220 }; 221 }; 222 223 sound-wwan { 224 compatible = "simple-audio-card"; 225 simple-audio-card,name = "Modem"; 226 simple-audio-card,format = "i2s"; 227 228 simple-audio-card,cpu { 229 sound-dai = <&sai6>; 230 frame-inversion; 231 }; 232 233 simple-audio-card,codec { 234 sound-dai = <&bm818_codec>; 235 frame-master; 236 bitclock-master; 237 }; 238 }; 239 240 usdhc2_pwrseq: pwrseq { 241 pinctrl-names = "default"; 242 pinctrl-0 = <&pinctrl_bt>, <&pinctrl_wifi_disable>; 243 compatible = "mmc-pwrseq-simple"; 244 reset-gpios = <&gpio3 25 GPIO_ACTIVE_HIGH>, 245 <&gpio4 29 GPIO_ACTIVE_HIGH>; 246 }; 247 248 bm818_codec: sound-wwan-codec { 249 compatible = "broadmobi,bm818", "option,gtm601"; 250 #sound-dai-cells = <0>; 251 }; 252 253 vibrator { 254 compatible = "pwm-vibrator"; 255 pwms = <&pwm1 0 1000000000 0>; 256 pwm-names = "enable"; 257 vcc-supply = <®_vdd_3v3>; 258 }; 259}; 260 261&A53_0 { 262 cpu-supply = <&buck2_reg>; 263}; 264 265&A53_1 { 266 cpu-supply = <&buck2_reg>; 267}; 268 269&A53_2 { 270 cpu-supply = <&buck2_reg>; 271}; 272 273&A53_3 { 274 cpu-supply = <&buck2_reg>; 275}; 276 277&csi1 { 278 status = "okay"; 279}; 280 281&ddrc { 282 operating-points-v2 = <&ddrc_opp_table>; 283 status = "okay"; 284 285 ddrc_opp_table: opp-table { 286 compatible = "operating-points-v2"; 287 288 opp-25M { 289 opp-hz = /bits/ 64 <25000000>; 290 }; 291 292 opp-100M { 293 opp-hz = /bits/ 64 <100000000>; 294 }; 295 296 opp-800M { 297 opp-hz = /bits/ 64 <800000000>; 298 }; 299 }; 300}; 301 302&dphy { 303 status = "okay"; 304}; 305 306&ecspi1 { 307 pinctrl-names = "default"; 308 pinctrl-0 = <&pinctrl_ecspi1>; 309 cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; 310 #address-cells = <1>; 311 #size-cells = <0>; 312 status = "okay"; 313 314 nor_flash: flash@0 { 315 compatible = "jedec,spi-nor"; 316 reg = <0>; 317 spi-max-frequency = <1000000>; 318 #address-cells = <1>; 319 #size-cells = <1>; 320 321 partition@0 { 322 label = "protected0"; 323 reg = <0x0 0x30000>; 324 read-only; 325 }; 326 327 partition@30000 { 328 label = "firmware"; 329 reg = <0x30000 0x1d0000>; 330 read-only; 331 }; 332 }; 333}; 334 335&gpio1 { 336 pinctrl-names = "default"; 337 pinctrl-0 = <&pinctrl_pmic_5v>; 338 339 pmic-5v-hog { 340 gpio-hog; 341 gpios = <1 GPIO_ACTIVE_HIGH>; 342 input; 343 lane-mapping = "pmic-5v"; 344 }; 345}; 346 347&iomuxc { 348 pinctrl_audiopwr: audiopwrgrp { 349 fsl,pins = < 350 /* AUDIO_POWER_EN_3V3 */ 351 MX8MQ_IOMUXC_GPIO1_IO04_GPIO1_IO4 0x83 352 >; 353 }; 354 355 pinctrl_bl: blgrp { 356 fsl,pins = < 357 /* BACKLINGE_EN */ 358 MX8MQ_IOMUXC_NAND_DQS_GPIO3_IO14 0x83 359 >; 360 }; 361 362 pinctrl_bt: btgrp { 363 fsl,pins = < 364 /* BT_REG_ON */ 365 MX8MQ_IOMUXC_SAI5_MCLK_GPIO3_IO25 0x83 366 >; 367 }; 368 369 pinctrl_camera_pwr: camerapwrgrp { 370 fsl,pins = < 371 /* CAMERA_PWR_EN_3V3 */ 372 MX8MQ_IOMUXC_GPIO1_IO00_GPIO1_IO0 0x83 373 >; 374 }; 375 376 pinctrl_csi1: csi1grp { 377 fsl,pins = < 378 /* CSI1_NRST */ 379 MX8MQ_IOMUXC_ENET_RXC_GPIO1_IO25 0x83 380 >; 381 }; 382 383 pinctrl_charger_in: chargeringrp { 384 fsl,pins = < 385 /* CHRG_INT */ 386 MX8MQ_IOMUXC_NAND_CE2_B_GPIO3_IO3 0x80 387 >; 388 }; 389 390 pinctrl_dsibiasen: dsibiasengrp { 391 fsl,pins = < 392 /* DSI_BIAS_EN */ 393 MX8MQ_IOMUXC_ENET_TD1_GPIO1_IO20 0x83 394 >; 395 }; 396 397 pinctrl_dsien: dsiengrp { 398 fsl,pins = < 399 /* DSI_EN_3V3 */ 400 MX8MQ_IOMUXC_GPIO1_IO05_GPIO1_IO5 0x83 401 >; 402 }; 403 404 pinctrl_dsirst: dsirstgrp { 405 fsl,pins = < 406 /* DSI_RST */ 407 MX8MQ_IOMUXC_ENET_RD3_GPIO1_IO29 0x83 408 /* DSI_TE */ 409 MX8MQ_IOMUXC_ENET_RD2_GPIO1_IO28 0x83 410 /* TP_RST */ 411 MX8MQ_IOMUXC_ENET_RX_CTL_GPIO1_IO24 0x83 412 >; 413 }; 414 415 pinctrl_ecspi1: ecspigrp { 416 fsl,pins = < 417 MX8MQ_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI 0x83 418 MX8MQ_IOMUXC_ECSPI1_MISO_ECSPI1_MISO 0x83 419 MX8MQ_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x19 420 MX8MQ_IOMUXC_ECSPI1_SCLK_ECSPI1_SCLK 0x83 421 >; 422 }; 423 424 pinctrl_gauge: gaugegrp { 425 fsl,pins = < 426 /* BAT_LOW */ 427 MX8MQ_IOMUXC_SAI5_RXC_GPIO3_IO20 0x80 428 >; 429 }; 430 431 pinctrl_gnsspwr: gnsspwrgrp { 432 fsl,pins = < 433 /* GPS3V3_EN */ 434 MX8MQ_IOMUXC_NAND_DATA06_GPIO3_IO12 0x83 435 >; 436 }; 437 438 pinctrl_haptic: hapticgrp { 439 fsl,pins = < 440 /* MOTO */ 441 MX8MQ_IOMUXC_SPDIF_EXT_CLK_PWM1_OUT 0x83 442 >; 443 }; 444 445 pinctrl_hp: hpgrp { 446 fsl,pins = < 447 /* HEADPHONE_DET_1V8 */ 448 MX8MQ_IOMUXC_NAND_DATA03_GPIO3_IO9 0x180 449 >; 450 }; 451 452 pinctrl_hub_pwr: hubpwrgrp { 453 fsl,pins = < 454 /* HUB_PWR_3V3_EN */ 455 MX8MQ_IOMUXC_GPIO1_IO14_GPIO1_IO14 0x83 456 >; 457 }; 458 459 pinctrl_i2c1: i2c1grp { 460 fsl,pins = < 461 MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL 0x40000026 462 MX8MQ_IOMUXC_I2C1_SDA_I2C1_SDA 0x40000026 463 >; 464 }; 465 466 pinctrl_i2c2: i2c2grp { 467 fsl,pins = < 468 MX8MQ_IOMUXC_I2C2_SCL_I2C2_SCL 0x40000026 469 MX8MQ_IOMUXC_I2C2_SDA_I2C2_SDA 0x40000026 470 >; 471 }; 472 473 pinctrl_i2c3: i2c3grp { 474 fsl,pins = < 475 MX8MQ_IOMUXC_I2C3_SCL_I2C3_SCL 0x40000026 476 MX8MQ_IOMUXC_I2C3_SDA_I2C3_SDA 0x40000026 477 >; 478 }; 479 480 pinctrl_i2c4: i2c4grp { 481 fsl,pins = < 482 MX8MQ_IOMUXC_I2C4_SCL_I2C4_SCL 0x40000026 483 MX8MQ_IOMUXC_I2C4_SDA_I2C4_SDA 0x40000026 484 >; 485 }; 486 487 pinctrl_keys: keysgrp { 488 fsl,pins = < 489 /* VOL- */ 490 MX8MQ_IOMUXC_ENET_MDIO_GPIO1_IO17 0x01C0 491 /* VOL+ */ 492 MX8MQ_IOMUXC_ENET_MDC_GPIO1_IO16 0x01C0 493 >; 494 }; 495 496 pinctrl_led_b: ledbgrp { 497 fsl,pins = < 498 /* LED_B */ 499 MX8MQ_IOMUXC_GPIO1_IO13_PWM2_OUT 0x06 500 >; 501 }; 502 503 pinctrl_led_g: ledggrp { 504 fsl,pins = < 505 /* LED_G */ 506 MX8MQ_IOMUXC_SAI3_MCLK_PWM4_OUT 0x06 507 >; 508 }; 509 510 pinctrl_led_r: ledrgrp { 511 fsl,pins = < 512 /* LED_R */ 513 MX8MQ_IOMUXC_SPDIF_TX_PWM3_OUT 0x06 514 >; 515 }; 516 517 pinctrl_mag: maggrp { 518 fsl,pins = < 519 /* INT_MAG */ 520 MX8MQ_IOMUXC_SAI5_RXD1_GPIO3_IO22 0x80 521 >; 522 }; 523 524 pinctrl_pmic: pmicgrp { 525 fsl,pins = < 526 /* PMIC_NINT */ 527 MX8MQ_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x80 528 >; 529 }; 530 531 pinctrl_pmic_5v: pmic5vgrp { 532 fsl,pins = < 533 /* PMIC_5V */ 534 MX8MQ_IOMUXC_GPIO1_IO01_GPIO1_IO1 0x80 535 >; 536 }; 537 538 pinctrl_prox: proxgrp { 539 fsl,pins = < 540 /* INT_LIGHT */ 541 MX8MQ_IOMUXC_NAND_DATA01_GPIO3_IO7 0x80 542 >; 543 }; 544 545 pinctrl_rtc: rtcgrp { 546 fsl,pins = < 547 /* RTC_INT */ 548 MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x80 549 >; 550 }; 551 552 pinctrl_sai2: sai2grp { 553 fsl,pins = < 554 MX8MQ_IOMUXC_SAI2_TXD0_SAI2_TX_DATA0 0xd6 555 MX8MQ_IOMUXC_SAI2_TXFS_SAI2_TX_SYNC 0xd6 556 MX8MQ_IOMUXC_SAI2_MCLK_SAI2_MCLK 0xd6 557 MX8MQ_IOMUXC_SAI2_RXD0_SAI2_RX_DATA0 0xd6 558 MX8MQ_IOMUXC_SAI2_TXC_SAI2_TX_BCLK 0xd6 559 >; 560 }; 561 562 pinctrl_sai6: sai6grp { 563 fsl,pins = < 564 MX8MQ_IOMUXC_SAI1_RXD5_SAI6_RX_DATA0 0xd6 565 MX8MQ_IOMUXC_SAI1_RXD6_SAI6_RX_SYNC 0xd6 566 MX8MQ_IOMUXC_SAI1_TXD4_SAI6_RX_BCLK 0xd6 567 MX8MQ_IOMUXC_SAI1_TXD5_SAI6_TX_DATA0 0xd6 568 >; 569 }; 570 571 pinctrl_tcpc: tcpcgrp { 572 fsl,pins = < 573 /* TCPC_INT */ 574 MX8MQ_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x01C0 575 >; 576 }; 577 578 pinctrl_touch: touchgrp { 579 fsl,pins = < 580 /* TP_INT */ 581 MX8MQ_IOMUXC_ENET_RD1_GPIO1_IO27 0x80 582 >; 583 }; 584 585 pinctrl_typec: typecgrp { 586 fsl,pins = < 587 /* TYPEC_MUX_EN */ 588 MX8MQ_IOMUXC_GPIO1_IO11_GPIO1_IO11 0x83 589 >; 590 }; 591 592 pinctrl_uart1: uart1grp { 593 fsl,pins = < 594 MX8MQ_IOMUXC_UART1_RXD_UART1_DCE_RX 0x49 595 MX8MQ_IOMUXC_UART1_TXD_UART1_DCE_TX 0x49 596 >; 597 }; 598 599 pinctrl_uart2: uart2grp { 600 fsl,pins = < 601 MX8MQ_IOMUXC_UART2_TXD_UART2_DCE_TX 0x49 602 MX8MQ_IOMUXC_UART2_RXD_UART2_DCE_RX 0x49 603 >; 604 }; 605 606 pinctrl_uart3: uart3grp { 607 fsl,pins = < 608 MX8MQ_IOMUXC_UART3_RXD_UART3_DCE_RX 0x49 609 MX8MQ_IOMUXC_UART3_TXD_UART3_DCE_TX 0x49 610 >; 611 }; 612 613 pinctrl_uart4: uart4grp { 614 fsl,pins = < 615 MX8MQ_IOMUXC_ECSPI2_SCLK_UART4_DCE_RX 0x49 616 MX8MQ_IOMUXC_ECSPI2_MOSI_UART4_DCE_TX 0x49 617 MX8MQ_IOMUXC_ECSPI2_MISO_UART4_DCE_CTS_B 0x49 618 MX8MQ_IOMUXC_ECSPI2_SS0_UART4_DCE_RTS_B 0x49 619 >; 620 }; 621 622 pinctrl_usdhc1: usdhc1grp { 623 fsl,pins = < 624 MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x83 625 MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xc3 626 MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xc3 627 MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xc3 628 MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xc3 629 MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xc3 630 MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xc3 631 MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xc3 632 MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xc3 633 MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xc3 634 MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x83 635 MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0xc1 636 >; 637 }; 638 639 pinctrl_usdhc1_100mhz: usdhc1grp100mhz { 640 fsl,pins = < 641 MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x8d 642 MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xcd 643 MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xcd 644 MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xcd 645 MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xcd 646 MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xcd 647 MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xcd 648 MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xcd 649 MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xcd 650 MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xcd 651 MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x8d 652 MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0xc1 653 >; 654 }; 655 656 pinctrl_usdhc1_200mhz: usdhc1grp200mhz { 657 fsl,pins = < 658 MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x9f 659 MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xdf 660 MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xdf 661 MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xdf 662 MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xdf 663 MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xdf 664 MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xdf 665 MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xdf 666 MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xdf 667 MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xdf 668 MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x9f 669 MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0xc1 670 >; 671 }; 672 673 pinctrl_usdhc2: usdhc2grp { 674 fsl,pins = < 675 MX8MQ_IOMUXC_SD2_CD_B_GPIO2_IO12 0x80 676 MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK 0x83 677 MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD 0xc3 678 MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0 0xc3 679 MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1 0xc3 680 MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2 0xc3 681 MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3 0xc3 682 MX8MQ_IOMUXC_SD2_RESET_B_USDHC2_RESET_B 0xc1 683 >; 684 }; 685 686 pinctrl_usdhc2_100mhz: usdhc2grp100mhz { 687 fsl,pins = < 688 MX8MQ_IOMUXC_SD2_CD_B_GPIO2_IO12 0x80 689 MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK 0x8d 690 MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD 0xcd 691 MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0 0xcd 692 MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1 0xcd 693 MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2 0xcd 694 MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3 0xcd 695 MX8MQ_IOMUXC_SD2_RESET_B_USDHC2_RESET_B 0xc1 696 >; 697 }; 698 699 pinctrl_usdhc2_200mhz: usdhc2grp200mhz { 700 fsl,pins = < 701 MX8MQ_IOMUXC_SD2_CD_B_GPIO2_IO12 0x80 702 MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK 0x9f 703 MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD 0xcf 704 MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0 0xcf 705 MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1 0xcf 706 MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2 0xcf 707 MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3 0xcf 708 MX8MQ_IOMUXC_SD2_RESET_B_USDHC2_RESET_B 0xc1 709 >; 710 }; 711 712 pinctrl_wifi_disable: wifidisablegrp { 713 fsl,pins = < 714 /* WIFI_REG_ON */ 715 MX8MQ_IOMUXC_SAI3_RXC_GPIO4_IO29 0x83 716 >; 717 }; 718 719 pinctrl_wifi_pwr: wifipwrgrp { 720 fsl,pins = < 721 /* WIFI3V3_EN */ 722 MX8MQ_IOMUXC_NAND_DATA04_GPIO3_IO10 0x83 723 >; 724 }; 725 726 pinctrl_wdog: wdoggrp { 727 fsl,pins = < 728 /* nWDOG */ 729 MX8MQ_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0x1f 730 >; 731 }; 732}; 733 734&i2c1 { 735 clock-frequency = <387000>; 736 pinctrl-names = "default"; 737 pinctrl-0 = <&pinctrl_i2c1>; 738 status = "okay"; 739 740 typec_pd: usb-pd@3f { 741 compatible = "ti,tps6598x"; 742 reg = <0x3f>; 743 pinctrl-names = "default"; 744 pinctrl-0 = <&pinctrl_typec>, <&pinctrl_tcpc>; 745 interrupt-parent = <&gpio1>; 746 interrupts = <10 IRQ_TYPE_LEVEL_LOW>; 747 interrupt-names = "irq"; 748 749 connector { 750 ports { 751 #address-cells = <1>; 752 #size-cells = <0>; 753 754 port@0 { 755 reg = <0>; 756 757 usb_con_hs: endpoint { 758 remote-endpoint = <&typec_hs>; 759 }; 760 }; 761 762 port@1 { 763 reg = <1>; 764 765 usb_con_ss: endpoint { 766 remote-endpoint = <&typec_ss>; 767 }; 768 }; 769 }; 770 }; 771 }; 772 773 pmic: pmic@4b { 774 compatible = "rohm,bd71837"; 775 reg = <0x4b>; 776 pinctrl-names = "default"; 777 pinctrl-0 = <&pinctrl_pmic>, <&pinctrl_camera_pwr>; 778 clocks = <&pmic_osc>; 779 clock-names = "osc"; 780 clock-output-names = "pmic_clk"; 781 interrupt-parent = <&gpio1>; 782 interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 783 rohm,reset-snvs-powered; 784 785 regulators { 786 buck1_reg: BUCK1 { 787 regulator-name = "buck1"; 788 regulator-min-microvolt = <700000>; 789 regulator-max-microvolt = <1300000>; 790 regulator-boot-on; 791 regulator-ramp-delay = <1250>; 792 rohm,dvs-run-voltage = <900000>; 793 rohm,dvs-idle-voltage = <850000>; 794 rohm,dvs-suspend-voltage = <800000>; 795 regulator-always-on; 796 }; 797 798 buck2_reg: BUCK2 { 799 regulator-name = "buck2"; 800 regulator-min-microvolt = <700000>; 801 regulator-max-microvolt = <1300000>; 802 regulator-boot-on; 803 regulator-ramp-delay = <1250>; 804 rohm,dvs-run-voltage = <1000000>; 805 rohm,dvs-idle-voltage = <900000>; 806 regulator-always-on; 807 }; 808 809 buck3_reg: BUCK3 { 810 regulator-name = "buck3"; 811 regulator-min-microvolt = <700000>; 812 regulator-max-microvolt = <1300000>; 813 regulator-boot-on; 814 rohm,dvs-run-voltage = <900000>; 815 }; 816 817 buck4_reg: BUCK4 { 818 regulator-name = "buck4"; 819 regulator-min-microvolt = <700000>; 820 regulator-max-microvolt = <1300000>; 821 rohm,dvs-run-voltage = <1000000>; 822 }; 823 824 buck5_reg: BUCK5 { 825 regulator-name = "buck5"; 826 regulator-min-microvolt = <700000>; 827 regulator-max-microvolt = <1350000>; 828 regulator-boot-on; 829 regulator-always-on; 830 }; 831 832 buck6_reg: BUCK6 { 833 regulator-name = "buck6"; 834 regulator-min-microvolt = <3000000>; 835 regulator-max-microvolt = <3300000>; 836 regulator-boot-on; 837 regulator-always-on; 838 }; 839 840 buck7_reg: BUCK7 { 841 regulator-name = "buck7"; 842 regulator-min-microvolt = <1605000>; 843 regulator-max-microvolt = <1995000>; 844 regulator-boot-on; 845 regulator-always-on; 846 }; 847 848 buck8_reg: BUCK8 { 849 regulator-name = "buck8"; 850 regulator-min-microvolt = <800000>; 851 regulator-max-microvolt = <1400000>; 852 regulator-boot-on; 853 regulator-always-on; 854 }; 855 856 ldo1_reg: LDO1 { 857 regulator-name = "ldo1"; 858 regulator-min-microvolt = <3000000>; 859 regulator-max-microvolt = <3300000>; 860 regulator-boot-on; 861 /* leave on for snvs power button */ 862 regulator-always-on; 863 }; 864 865 ldo2_reg: LDO2 { 866 regulator-name = "ldo2"; 867 regulator-min-microvolt = <900000>; 868 regulator-max-microvolt = <900000>; 869 regulator-boot-on; 870 /* leave on for snvs power button */ 871 regulator-always-on; 872 }; 873 874 ldo3_reg: LDO3 { 875 regulator-name = "ldo3"; 876 regulator-min-microvolt = <1800000>; 877 regulator-max-microvolt = <3300000>; 878 regulator-boot-on; 879 regulator-always-on; 880 }; 881 882 ldo4_reg: LDO4 { 883 regulator-name = "ldo4"; 884 regulator-min-microvolt = <900000>; 885 regulator-max-microvolt = <1800000>; 886 regulator-boot-on; 887 regulator-always-on; 888 }; 889 890 ldo5_reg: LDO5 { 891 /* VDD_PHY_0V9 - MIPI and HDMI domains */ 892 regulator-name = "ldo5"; 893 regulator-min-microvolt = <1800000>; 894 regulator-max-microvolt = <3300000>; 895 regulator-always-on; 896 }; 897 898 ldo6_reg: LDO6 { 899 /* VDD_PHY_0V9 - MIPI, HDMI and USB domains */ 900 regulator-name = "ldo6"; 901 regulator-min-microvolt = <900000>; 902 regulator-max-microvolt = <1800000>; 903 regulator-boot-on; 904 regulator-always-on; 905 }; 906 907 ldo7_reg: LDO7 { 908 /* VDD_PHY_3V3 - USB domain */ 909 regulator-name = "ldo7"; 910 regulator-min-microvolt = <1800000>; 911 regulator-max-microvolt = <3300000>; 912 regulator-boot-on; 913 regulator-always-on; 914 }; 915 }; 916 }; 917 918 rtc@68 { 919 compatible = "microcrystal,rv4162"; 920 reg = <0x68>; 921 pinctrl-names = "default"; 922 pinctrl-0 = <&pinctrl_rtc>; 923 interrupt-parent = <&gpio1>; 924 interrupts = <9 IRQ_TYPE_LEVEL_LOW>; 925 }; 926}; 927 928&i2c2 { 929 clock-frequency = <387000>; 930 pinctrl-names = "default"; 931 pinctrl-0 = <&pinctrl_i2c2>; 932 status = "okay"; 933 934 magnetometer@1e { 935 compatible = "st,lsm9ds1-magn"; 936 reg = <0x1e>; 937 pinctrl-names = "default"; 938 pinctrl-0 = <&pinctrl_mag>; 939 interrupt-parent = <&gpio3>; 940 interrupts = <22 IRQ_TYPE_LEVEL_HIGH>; 941 vdd-supply = <®_vdd_sen>; 942 vddio-supply = <®_vdd_1v8>; 943 }; 944 945 regulator@3e { 946 compatible = "tps65132"; 947 reg = <0x3e>; 948 949 reg_lcd_avdd: outp { 950 regulator-name = "LCD_AVDD"; 951 vin-supply = <®_lcd_3v4>; 952 }; 953 954 reg_lcd_avee: outn { 955 regulator-name = "LCD_AVEE"; 956 vin-supply = <®_lcd_3v4>; 957 }; 958 }; 959 960 proximity: prox@60 { 961 compatible = "vishay,vcnl4040"; 962 reg = <0x60>; 963 pinctrl-names = "default"; 964 pinctrl-0 = <&pinctrl_prox>; 965 interrupt-parent = <&gpio3>; 966 interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 967 }; 968 969 accel_gyro: accel-gyro@6a { 970 compatible = "st,lsm9ds1-imu"; 971 reg = <0x6a>; 972 vdd-supply = <®_vdd_sen>; 973 vddio-supply = <®_vdd_1v8>; 974 }; 975}; 976 977&i2c3 { 978 clock-frequency = <387000>; 979 pinctrl-names = "default"; 980 pinctrl-0 = <&pinctrl_i2c3>; 981 status = "okay"; 982 983 codec: audio-codec@1a { 984 compatible = "wlf,wm8962"; 985 reg = <0x1a>; 986 clocks = <&clk IMX8MQ_CLK_SAI2_ROOT>; 987 assigned-clocks = <&clk IMX8MQ_CLK_SAI2>; 988 assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>; 989 assigned-clock-rates = <24576000>; 990 #sound-dai-cells = <0>; 991 mic-cfg = <0x200>; 992 DCVDD-supply = <®_aud_1v8>; 993 DBVDD-supply = <®_aud_1v8>; 994 AVDD-supply = <®_aud_1v8>; 995 CPVDD-supply = <®_aud_1v8>; 996 MICVDD-supply = <®_aud_1v8>; 997 PLLVDD-supply = <®_aud_1v8>; 998 SPKVDD1-supply = <®_vsys_3v4>; 999 SPKVDD2-supply = <®_vsys_3v4>; 1000 gpio-cfg = < 1001 0x0000 /* n/c */ 1002 0x0001 /* gpio2, 1: default */ 1003 0x0013 /* gpio3, 2: dmicclk */ 1004 0x0000 /* n/c, 3: default */ 1005 0x8014 /* gpio5, 4: dmic_dat */ 1006 0x0000 /* gpio6, 5: default */ 1007 >; 1008 }; 1009 1010 camera_front: camera@20 { 1011 compatible = "hynix,hi846"; 1012 reg = <0x20>; 1013 pinctrl-names = "default"; 1014 pinctrl-0 = <&pinctrl_csi1>; 1015 clocks = <&clk IMX8MQ_CLK_CLKO2>; 1016 assigned-clocks = <&clk IMX8MQ_CLK_CLKO2>; 1017 assigned-clock-rates = <25000000>; 1018 reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; 1019 vdda-supply = <®_vcam_2v8>; 1020 vddd-supply = <®_vcam_1v2>; 1021 vddio-supply = <®_csi_1v8>; 1022 rotation = <90>; 1023 orientation = <0>; 1024 1025 port { 1026 camera1_ep: endpoint { 1027 data-lanes = <1 2>; 1028 link-frequencies = /bits/ 64 1029 <80000000 200000000 300000000>; 1030 remote-endpoint = <&mipi1_sensor_ep>; 1031 }; 1032 }; 1033 }; 1034 1035 backlight@36 { 1036 compatible = "ti,lm36922"; 1037 reg = <0x36>; 1038 pinctrl-names = "default"; 1039 pinctrl-0 = <&pinctrl_bl>; 1040 #address-cells = <1>; 1041 #size-cells = <0>; 1042 enable-gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>; 1043 vled-supply = <®_vsys_3v4>; 1044 ti,ovp-microvolt = <25000000>; 1045 1046 led_backlight: led@0 { 1047 reg = <0>; 1048 label = ":backlight"; 1049 linux,default-trigger = "backlight"; 1050 led-max-microamp = <20000>; 1051 }; 1052 }; 1053 1054 touchscreen@38 { 1055 compatible = "edt,edt-ft5506"; 1056 reg = <0x38>; 1057 pinctrl-names = "default"; 1058 pinctrl-0 = <&pinctrl_touch>; 1059 interrupt-parent = <&gpio1>; 1060 interrupts = <27 IRQ_TYPE_EDGE_FALLING>; 1061 touchscreen-size-x = <720>; 1062 touchscreen-size-y = <1440>; 1063 vcc-supply = <®_lcd_1v8>; 1064 }; 1065}; 1066 1067&i2c4 { 1068 clock-frequency = <387000>; 1069 pinctrl-names = "default"; 1070 pinctrl-0 = <&pinctrl_i2c4>; 1071 status = "okay"; 1072 1073 bat: fuel-gauge@36 { 1074 compatible = "maxim,max17055"; 1075 reg = <0x36>; 1076 interrupt-parent = <&gpio3>; 1077 interrupts = <20 IRQ_TYPE_LEVEL_LOW>; 1078 pinctrl-names = "default"; 1079 pinctrl-0 = <&pinctrl_gauge>; 1080 maxim,over-heat-temp = <700>; 1081 maxim,over-volt = <4500>; 1082 maxim,rsns-microohm = <5000>; 1083 }; 1084 1085 bq25895: charger@6a { 1086 compatible = "ti,bq25895", "ti,bq25890"; 1087 reg = <0x6a>; 1088 pinctrl-names = "default"; 1089 pinctrl-0 = <&pinctrl_charger_in>; 1090 interrupt-parent = <&gpio3>; 1091 interrupts = <3 IRQ_TYPE_EDGE_FALLING>; 1092 phys = <&usb3_phy0>; 1093 ti,precharge-current = <130000>; /* uA */ 1094 ti,minimum-sys-voltage = <3700000>; /* uV */ 1095 ti,boost-voltage = <5000000>; /* uV */ 1096 ti,boost-max-current = <1500000>; /* uA */ 1097 ti,use-vinmin-threshold = <1>; /* enable VINDPM */ 1098 ti,vinmin-threshold = <3900000>; /* uV */ 1099 monitored-battery = <&bat>; 1100 power-supplies = <&typec_pd>; 1101 }; 1102}; 1103 1104&lcdif { 1105 status = "okay"; 1106}; 1107 1108&mipi_csi1 { 1109 #address-cells = <1>; 1110 #size-cells = <0>; 1111 status = "okay"; 1112 1113 ports { 1114 port@0 { 1115 reg = <0>; 1116 1117 mipi1_sensor_ep: endpoint { 1118 remote-endpoint = <&camera1_ep>; 1119 data-lanes = <1 2>; 1120 }; 1121 }; 1122 }; 1123}; 1124 1125&mipi_dsi { 1126 #address-cells = <1>; 1127 #size-cells = <0>; 1128 status = "okay"; 1129 1130 lcd_panel: panel@0 { 1131 compatible = "mantix,mlaf057we51-x"; 1132 reg = <0>; 1133 pinctrl-names = "default"; 1134 pinctrl-0 = <&pinctrl_dsirst>; 1135 avdd-supply = <®_lcd_avdd>; 1136 avee-supply = <®_lcd_avee>; 1137 vddi-supply = <®_lcd_1v8>; 1138 backlight = <&backlight_dsi>; 1139 reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>; 1140 mantix,tp-rstn-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; 1141 1142 port { 1143 panel_in: endpoint { 1144 remote-endpoint = <&mipi_dsi_out>; 1145 }; 1146 }; 1147 }; 1148 1149 ports { 1150 port@1 { 1151 reg = <1>; 1152 1153 mipi_dsi_out: endpoint { 1154 remote-endpoint = <&panel_in>; 1155 }; 1156 }; 1157 }; 1158}; 1159 1160&pgc_gpu { 1161 power-supply = <&buck3_reg>; 1162}; 1163 1164&pgc_mipi { 1165 power-supply = <&ldo5_reg>; 1166}; 1167 1168&pgc_vpu { 1169 power-supply = <&buck4_reg>; 1170}; 1171 1172&pwm1 { 1173 pinctrl-names = "default"; 1174 pinctrl-0 = <&pinctrl_haptic>; 1175 status = "okay"; 1176}; 1177 1178&pwm2 { 1179 pinctrl-names = "default"; 1180 pinctrl-0 = <&pinctrl_led_b>; 1181 status = "okay"; 1182}; 1183 1184&pwm3 { 1185 pinctrl-names = "default"; 1186 pinctrl-0 = <&pinctrl_led_r>; 1187 status = "okay"; 1188}; 1189 1190&pwm4 { 1191 pinctrl-names = "default"; 1192 pinctrl-0 = <&pinctrl_led_g>; 1193 status = "okay"; 1194}; 1195 1196&sai2 { 1197 pinctrl-names = "default"; 1198 pinctrl-0 = <&pinctrl_sai2>; 1199 assigned-clocks = <&clk IMX8MQ_CLK_SAI2>; 1200 assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>; 1201 assigned-clock-rates = <24576000>; 1202 status = "okay"; 1203}; 1204 1205&sai6 { 1206 pinctrl-names = "default"; 1207 pinctrl-0 = <&pinctrl_sai6>; 1208 assigned-clocks = <&clk IMX8MQ_CLK_SAI6>; 1209 assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>; 1210 assigned-clock-rates = <24576000>; 1211 fsl,sai-synchronous-rx; 1212 status = "okay"; 1213}; 1214 1215&snvs_pwrkey { 1216 status = "okay"; 1217}; 1218 1219&snvs_rtc { 1220 status = "disabled"; 1221}; 1222 1223&uart1 { /* console */ 1224 pinctrl-names = "default"; 1225 pinctrl-0 = <&pinctrl_uart1>; 1226 status = "okay"; 1227}; 1228 1229&uart2 { /* TPS - GPS - DEBUG */ 1230 pinctrl-names = "default"; 1231 pinctrl-0 = <&pinctrl_uart2>; 1232 status = "okay"; 1233 1234 gnss { 1235 compatible = "globaltop,pa6h"; 1236 vcc-supply = <®_gnss>; 1237 current-speed = <9600>; 1238 }; 1239}; 1240 1241&uart3 { /* SMC */ 1242 pinctrl-names = "default"; 1243 pinctrl-0 = <&pinctrl_uart3>; 1244 status = "okay"; 1245}; 1246 1247&uart4 { /* BT */ 1248 pinctrl-names = "default"; 1249 pinctrl-0 = <&pinctrl_uart4>; 1250 uart-has-rtscts; 1251 status = "okay"; 1252}; 1253 1254&usb3_phy0 { 1255 status = "okay"; 1256}; 1257 1258&usb3_phy1 { 1259 vbus-supply = <®_hub>; 1260 status = "okay"; 1261}; 1262 1263&usb_dwc3_0 { 1264 #address-cells = <1>; 1265 #size-cells = <0>; 1266 dr_mode = "otg"; 1267 snps,dis_u3_susphy_quirk; 1268 status = "okay"; 1269 1270 port@0 { 1271 reg = <0>; 1272 1273 typec_hs: endpoint { 1274 remote-endpoint = <&usb_con_hs>; 1275 }; 1276 }; 1277 1278 port@1 { 1279 reg = <1>; 1280 1281 typec_ss: endpoint { 1282 remote-endpoint = <&usb_con_ss>; 1283 }; 1284 }; 1285}; 1286 1287&usb_dwc3_1 { 1288 dr_mode = "host"; 1289 status = "okay"; 1290 #address-cells = <1>; 1291 #size-cells = <0>; 1292 1293 /* Microchip USB2642 */ 1294 hub@1 { 1295 compatible = "usb424,2640"; 1296 reg = <1>; 1297 #address-cells = <1>; 1298 #size-cells = <0>; 1299 1300 mass-storage@1 { 1301 compatible = "usb424,4041"; 1302 reg = <1>; 1303 }; 1304 }; 1305}; 1306 1307&usdhc1 { 1308 assigned-clocks = <&clk IMX8MQ_CLK_USDHC1>; 1309 assigned-clock-rates = <400000000>; 1310 pinctrl-names = "default", "state_100mhz", "state_200mhz"; 1311 pinctrl-0 = <&pinctrl_usdhc1>; 1312 pinctrl-1 = <&pinctrl_usdhc1_100mhz>; 1313 pinctrl-2 = <&pinctrl_usdhc1_200mhz>; 1314 bus-width = <8>; 1315 vmmc-supply = <®_vdd_3v3>; 1316 power-supply = <®_vdd_1v8>; 1317 non-removable; 1318 status = "okay"; 1319}; 1320 1321&usdhc2 { 1322 assigned-clocks = <&clk IMX8MQ_CLK_USDHC2>; 1323 assigned-clock-rates = <200000000>; 1324 pinctrl-names = "default", "state_100mhz", "state_200mhz"; 1325 pinctrl-0 = <&pinctrl_usdhc2>; 1326 pinctrl-1 = <&pinctrl_usdhc2_100mhz>; 1327 pinctrl-2 = <&pinctrl_usdhc2_200mhz>; 1328 bus-width = <4>; 1329 vmmc-supply = <®_wifi_3v3>; 1330 mmc-pwrseq = <&usdhc2_pwrseq>; 1331 post-power-on-delay-ms = <1000>; 1332 cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; 1333 max-frequency = <50000000>; 1334 disable-wp; 1335 cap-sdio-irq; 1336 keep-power-in-suspend; 1337 wakeup-source; 1338 status = "okay"; 1339}; 1340 1341&wdog1 { 1342 pinctrl-names = "default"; 1343 pinctrl-0 = <&pinctrl_wdog>; 1344 fsl,ext-reset-output; 1345 status = "okay"; 1346}; 1347