1*c982ecfaSAlexander Stein// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 2*c982ecfaSAlexander Stein/* 3*c982ecfaSAlexander Stein * Copyright (c) 2022-2023 TQ-Systems GmbH <linux@ew.tq-group.com>, 4*c982ecfaSAlexander Stein * D-82229 Seefeld, Germany. 5*c982ecfaSAlexander Stein * Author: Markus Niebel 6*c982ecfaSAlexander Stein * Author: Alexander Stein 7*c982ecfaSAlexander Stein */ 8*c982ecfaSAlexander Stein/dts-v1/; 9*c982ecfaSAlexander Stein 10*c982ecfaSAlexander Stein#include <dt-bindings/input/input.h> 11*c982ecfaSAlexander Stein#include <dt-bindings/leds/common.h> 12*c982ecfaSAlexander Stein#include <dt-bindings/net/ti-dp83867.h> 13*c982ecfaSAlexander Stein#include <dt-bindings/pwm/pwm.h> 14*c982ecfaSAlexander Stein#include <dt-bindings/usb/pd.h> 15*c982ecfaSAlexander Stein#include "imx93-tqma9352.dtsi" 16*c982ecfaSAlexander Stein 17*c982ecfaSAlexander Stein/{ 18*c982ecfaSAlexander Stein model = "TQ-Systems i.MX93 TQMa93xxLA on MBa93xxLA SBC"; 19*c982ecfaSAlexander Stein compatible = "tq,imx93-tqma9352-mba93xxla", 20*c982ecfaSAlexander Stein "tq,imx93-tqma9352", "fsl,imx93"; 21*c982ecfaSAlexander Stein 22*c982ecfaSAlexander Stein chosen { 23*c982ecfaSAlexander Stein stdout-path = &lpuart1; 24*c982ecfaSAlexander Stein }; 25*c982ecfaSAlexander Stein 26*c982ecfaSAlexander Stein aliases { 27*c982ecfaSAlexander Stein eeprom0 = &eeprom0; 28*c982ecfaSAlexander Stein rtc0 = &pcf85063; 29*c982ecfaSAlexander Stein rtc1 = &bbnsm_rtc; 30*c982ecfaSAlexander Stein }; 31*c982ecfaSAlexander Stein 32*c982ecfaSAlexander Stein backlight_lvds: backlight { 33*c982ecfaSAlexander Stein compatible = "pwm-backlight"; 34*c982ecfaSAlexander Stein pwms = <&tpm5 0 5000000 0>; 35*c982ecfaSAlexander Stein brightness-levels = <0 4 8 16 32 64 128 255>; 36*c982ecfaSAlexander Stein default-brightness-level = <7>; 37*c982ecfaSAlexander Stein power-supply = <®_12v0>; 38*c982ecfaSAlexander Stein enable-gpios = <&expander2 2 GPIO_ACTIVE_HIGH>; 39*c982ecfaSAlexander Stein status = "disabled"; 40*c982ecfaSAlexander Stein }; 41*c982ecfaSAlexander Stein 42*c982ecfaSAlexander Stein clk_dp: clk-dp { 43*c982ecfaSAlexander Stein compatible = "fixed-clock"; 44*c982ecfaSAlexander Stein #clock-cells = <0>; 45*c982ecfaSAlexander Stein clock-frequency = <26000000>; 46*c982ecfaSAlexander Stein }; 47*c982ecfaSAlexander Stein 48*c982ecfaSAlexander Stein gpio-keys { 49*c982ecfaSAlexander Stein compatible = "gpio-keys"; 50*c982ecfaSAlexander Stein autorepeat; 51*c982ecfaSAlexander Stein 52*c982ecfaSAlexander Stein switch-a { 53*c982ecfaSAlexander Stein label = "switcha"; 54*c982ecfaSAlexander Stein linux,code = <BTN_0>; 55*c982ecfaSAlexander Stein gpios = <&expander0 6 GPIO_ACTIVE_LOW>; 56*c982ecfaSAlexander Stein wakeup-source; 57*c982ecfaSAlexander Stein }; 58*c982ecfaSAlexander Stein 59*c982ecfaSAlexander Stein switch-b { 60*c982ecfaSAlexander Stein label = "switchb"; 61*c982ecfaSAlexander Stein linux,code = <BTN_1>; 62*c982ecfaSAlexander Stein gpios = <&expander0 7 GPIO_ACTIVE_LOW>; 63*c982ecfaSAlexander Stein wakeup-source; 64*c982ecfaSAlexander Stein }; 65*c982ecfaSAlexander Stein }; 66*c982ecfaSAlexander Stein 67*c982ecfaSAlexander Stein gpio-leds { 68*c982ecfaSAlexander Stein compatible = "gpio-leds"; 69*c982ecfaSAlexander Stein 70*c982ecfaSAlexander Stein led-1 { 71*c982ecfaSAlexander Stein color = <LED_COLOR_ID_GREEN>; 72*c982ecfaSAlexander Stein function = LED_FUNCTION_STATUS; 73*c982ecfaSAlexander Stein gpios = <&expander2 6 GPIO_ACTIVE_HIGH>; 74*c982ecfaSAlexander Stein linux,default-trigger = "default-on"; 75*c982ecfaSAlexander Stein }; 76*c982ecfaSAlexander Stein 77*c982ecfaSAlexander Stein led-2 { 78*c982ecfaSAlexander Stein color = <LED_COLOR_ID_AMBER>; 79*c982ecfaSAlexander Stein function = LED_FUNCTION_HEARTBEAT; 80*c982ecfaSAlexander Stein gpios = <&expander2 7 GPIO_ACTIVE_HIGH>; 81*c982ecfaSAlexander Stein linux,default-trigger = "heartbeat"; 82*c982ecfaSAlexander Stein }; 83*c982ecfaSAlexander Stein }; 84*c982ecfaSAlexander Stein 85*c982ecfaSAlexander Stein iio-hwmon { 86*c982ecfaSAlexander Stein compatible = "iio-hwmon"; 87*c982ecfaSAlexander Stein io-channels = <&adc1 0>, <&adc1 1>, <&adc1 2>, <&adc1 3>; 88*c982ecfaSAlexander Stein }; 89*c982ecfaSAlexander Stein 90*c982ecfaSAlexander Stein reg_3v3: regulator-3v3 { 91*c982ecfaSAlexander Stein compatible = "regulator-fixed"; 92*c982ecfaSAlexander Stein regulator-name = "V_3V3_MB"; 93*c982ecfaSAlexander Stein regulator-min-microvolt = <3300000>; 94*c982ecfaSAlexander Stein regulator-max-microvolt = <3300000>; 95*c982ecfaSAlexander Stein }; 96*c982ecfaSAlexander Stein 97*c982ecfaSAlexander Stein reg_3v8: regulator-3v8 { 98*c982ecfaSAlexander Stein compatible = "regulator-fixed"; 99*c982ecfaSAlexander Stein regulator-name = "V_3V8"; 100*c982ecfaSAlexander Stein regulator-min-microvolt = <3800000>; 101*c982ecfaSAlexander Stein regulator-max-microvolt = <3800000>; 102*c982ecfaSAlexander Stein gpio = <&expander0 0 GPIO_ACTIVE_HIGH>; 103*c982ecfaSAlexander Stein enable-active-high; 104*c982ecfaSAlexander Stein /* TODO: this is supply for IOT module */ 105*c982ecfaSAlexander Stein regulator-always-on; 106*c982ecfaSAlexander Stein }; 107*c982ecfaSAlexander Stein 108*c982ecfaSAlexander Stein reg_5v0: regulator-5v0 { 109*c982ecfaSAlexander Stein compatible = "regulator-fixed"; 110*c982ecfaSAlexander Stein regulator-name = "V_5V0_MB"; 111*c982ecfaSAlexander Stein regulator-min-microvolt = <5000000>; 112*c982ecfaSAlexander Stein regulator-max-microvolt = <5000000>; 113*c982ecfaSAlexander Stein }; 114*c982ecfaSAlexander Stein 115*c982ecfaSAlexander Stein reg_12v0: regulator-12v0 { 116*c982ecfaSAlexander Stein compatible = "regulator-fixed"; 117*c982ecfaSAlexander Stein regulator-name = "V_12V"; 118*c982ecfaSAlexander Stein regulator-min-microvolt = <12000000>; 119*c982ecfaSAlexander Stein regulator-max-microvolt = <12000000>; 120*c982ecfaSAlexander Stein gpio = <&expander1 7 GPIO_ACTIVE_HIGH>; 121*c982ecfaSAlexander Stein enable-active-high; 122*c982ecfaSAlexander Stein }; 123*c982ecfaSAlexander Stein}; 124*c982ecfaSAlexander Stein 125*c982ecfaSAlexander Stein&adc1 { 126*c982ecfaSAlexander Stein status = "okay"; 127*c982ecfaSAlexander Stein}; 128*c982ecfaSAlexander Stein 129*c982ecfaSAlexander Stein&eqos { 130*c982ecfaSAlexander Stein pinctrl-names = "default"; 131*c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_eqos>; 132*c982ecfaSAlexander Stein phy-mode = "rgmii-id"; 133*c982ecfaSAlexander Stein phy-handle = <ðphy_eqos>; 134*c982ecfaSAlexander Stein status = "okay"; 135*c982ecfaSAlexander Stein 136*c982ecfaSAlexander Stein mdio { 137*c982ecfaSAlexander Stein compatible = "snps,dwmac-mdio"; 138*c982ecfaSAlexander Stein #address-cells = <1>; 139*c982ecfaSAlexander Stein #size-cells = <0>; 140*c982ecfaSAlexander Stein 141*c982ecfaSAlexander Stein ethphy_eqos: ethernet-phy@0 { 142*c982ecfaSAlexander Stein compatible = "ethernet-phy-ieee802.3-c22"; 143*c982ecfaSAlexander Stein reg = <0>; 144*c982ecfaSAlexander Stein pinctrl-names = "default"; 145*c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_eqos_phy>; 146*c982ecfaSAlexander Stein interrupt-parent = <&gpio3>; 147*c982ecfaSAlexander Stein interrupts = <26 IRQ_TYPE_EDGE_FALLING>; 148*c982ecfaSAlexander Stein reset-gpios = <&expander1 0 GPIO_ACTIVE_LOW>; 149*c982ecfaSAlexander Stein reset-assert-us = <500000>; 150*c982ecfaSAlexander Stein reset-deassert-us = <50000>; 151*c982ecfaSAlexander Stein enet-phy-lane-no-swap; 152*c982ecfaSAlexander Stein ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>; 153*c982ecfaSAlexander Stein ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>; 154*c982ecfaSAlexander Stein ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 155*c982ecfaSAlexander Stein ti,dp83867-rxctrl-strap-quirk; 156*c982ecfaSAlexander Stein ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 157*c982ecfaSAlexander Stein }; 158*c982ecfaSAlexander Stein }; 159*c982ecfaSAlexander Stein}; 160*c982ecfaSAlexander Stein 161*c982ecfaSAlexander Stein&fec { 162*c982ecfaSAlexander Stein pinctrl-names = "default"; 163*c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_fec>; 164*c982ecfaSAlexander Stein phy-mode = "rgmii-id"; 165*c982ecfaSAlexander Stein phy-handle = <ðphy_fec>; 166*c982ecfaSAlexander Stein fsl,magic-packet; 167*c982ecfaSAlexander Stein status = "okay"; 168*c982ecfaSAlexander Stein 169*c982ecfaSAlexander Stein mdio { 170*c982ecfaSAlexander Stein #address-cells = <1>; 171*c982ecfaSAlexander Stein #size-cells = <0>; 172*c982ecfaSAlexander Stein clock-frequency = <5000000>; 173*c982ecfaSAlexander Stein 174*c982ecfaSAlexander Stein ethphy_fec: ethernet-phy@0 { 175*c982ecfaSAlexander Stein compatible = "ethernet-phy-ieee802.3-c22"; 176*c982ecfaSAlexander Stein reg = <0>; 177*c982ecfaSAlexander Stein pinctrl-names = "default"; 178*c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_fec_phy>; 179*c982ecfaSAlexander Stein interrupt-parent = <&gpio3>; 180*c982ecfaSAlexander Stein interrupts = <27 IRQ_TYPE_EDGE_FALLING>; 181*c982ecfaSAlexander Stein reset-gpios = <&expander1 1 GPIO_ACTIVE_LOW>; 182*c982ecfaSAlexander Stein reset-assert-us = <500000>; 183*c982ecfaSAlexander Stein reset-deassert-us = <50000>; 184*c982ecfaSAlexander Stein enet-phy-lane-no-swap; 185*c982ecfaSAlexander Stein ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>; 186*c982ecfaSAlexander Stein ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>; 187*c982ecfaSAlexander Stein ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 188*c982ecfaSAlexander Stein ti,dp83867-rxctrl-strap-quirk; 189*c982ecfaSAlexander Stein ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 190*c982ecfaSAlexander Stein }; 191*c982ecfaSAlexander Stein }; 192*c982ecfaSAlexander Stein}; 193*c982ecfaSAlexander Stein 194*c982ecfaSAlexander Stein&flexcan1 { 195*c982ecfaSAlexander Stein pinctrl-names = "default"; 196*c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_flexcan1>; 197*c982ecfaSAlexander Stein xceiver-supply = <®_3v3>; 198*c982ecfaSAlexander Stein status = "okay"; 199*c982ecfaSAlexander Stein}; 200*c982ecfaSAlexander Stein 201*c982ecfaSAlexander Stein&flexcan2 { 202*c982ecfaSAlexander Stein pinctrl-names = "default"; 203*c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_flexcan2>; 204*c982ecfaSAlexander Stein xceiver-supply = <®_3v3>; 205*c982ecfaSAlexander Stein status = "okay"; 206*c982ecfaSAlexander Stein}; 207*c982ecfaSAlexander Stein 208*c982ecfaSAlexander Stein&gpio1 { 209*c982ecfaSAlexander Stein expander-irq-hog { 210*c982ecfaSAlexander Stein gpio-hog; 211*c982ecfaSAlexander Stein gpios = <12 GPIO_ACTIVE_LOW>; 212*c982ecfaSAlexander Stein input; 213*c982ecfaSAlexander Stein line-name = "PEX_INT#"; 214*c982ecfaSAlexander Stein }; 215*c982ecfaSAlexander Stein 216*c982ecfaSAlexander Stein rtc-irq-hog { 217*c982ecfaSAlexander Stein gpio-hog; 218*c982ecfaSAlexander Stein gpios = <14 GPIO_ACTIVE_LOW>; 219*c982ecfaSAlexander Stein input; 220*c982ecfaSAlexander Stein line-name = "RTC_EVENT#"; 221*c982ecfaSAlexander Stein }; 222*c982ecfaSAlexander Stein}; 223*c982ecfaSAlexander Stein 224*c982ecfaSAlexander Stein&gpio3 { 225*c982ecfaSAlexander Stein ethphy-eqos-irq-hog { 226*c982ecfaSAlexander Stein gpio-hog; 227*c982ecfaSAlexander Stein gpios = <26 GPIO_ACTIVE_LOW>; 228*c982ecfaSAlexander Stein input; 229*c982ecfaSAlexander Stein line-name = "ENET0_IRQ#"; 230*c982ecfaSAlexander Stein }; 231*c982ecfaSAlexander Stein 232*c982ecfaSAlexander Stein ethphy-fec-irq-hog { 233*c982ecfaSAlexander Stein gpio-hog; 234*c982ecfaSAlexander Stein gpios = <27 GPIO_ACTIVE_LOW>; 235*c982ecfaSAlexander Stein input; 236*c982ecfaSAlexander Stein line-name = "ENET1_IRQ#"; 237*c982ecfaSAlexander Stein }; 238*c982ecfaSAlexander Stein}; 239*c982ecfaSAlexander Stein 240*c982ecfaSAlexander Stein&lpi2c3 { 241*c982ecfaSAlexander Stein #address-cells = <1>; 242*c982ecfaSAlexander Stein #size-cells = <0>; 243*c982ecfaSAlexander Stein clock-frequency = <400000>; 244*c982ecfaSAlexander Stein pinctrl-names = "default", "sleep"; 245*c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_lpi2c3>; 246*c982ecfaSAlexander Stein pinctrl-1 = <&pinctrl_lpi2c3>; 247*c982ecfaSAlexander Stein status = "okay"; 248*c982ecfaSAlexander Stein 249*c982ecfaSAlexander Stein temperature-sensor@1c { 250*c982ecfaSAlexander Stein compatible = "nxp,se97b", "jedec,jc-42.4-temp"; 251*c982ecfaSAlexander Stein reg = <0x1c>; 252*c982ecfaSAlexander Stein }; 253*c982ecfaSAlexander Stein 254*c982ecfaSAlexander Stein eeprom2: eeprom@54 { 255*c982ecfaSAlexander Stein compatible = "nxp,se97b", "atmel,24c02"; 256*c982ecfaSAlexander Stein reg = <0x54>; 257*c982ecfaSAlexander Stein pagesize = <16>; 258*c982ecfaSAlexander Stein vcc-supply = <®_3v3>; 259*c982ecfaSAlexander Stein }; 260*c982ecfaSAlexander Stein 261*c982ecfaSAlexander Stein expander0: gpio@70 { 262*c982ecfaSAlexander Stein compatible = "nxp,pca9538"; 263*c982ecfaSAlexander Stein reg = <0x70>; 264*c982ecfaSAlexander Stein pinctrl-names = "default"; 265*c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_pexp_irq>; 266*c982ecfaSAlexander Stein gpio-controller; 267*c982ecfaSAlexander Stein #gpio-cells = <2>; 268*c982ecfaSAlexander Stein interrupt-controller; 269*c982ecfaSAlexander Stein #interrupt-cells = <2>; 270*c982ecfaSAlexander Stein interrupt-parent = <&gpio1>; 271*c982ecfaSAlexander Stein interrupts = <12 IRQ_TYPE_LEVEL_LOW>; 272*c982ecfaSAlexander Stein vcc-supply = <®_3v3>; 273*c982ecfaSAlexander Stein gpio-line-names = "3V8_EN", "", 274*c982ecfaSAlexander Stein "", "IOT_PWRKEY", 275*c982ecfaSAlexander Stein "IOT_RESET", "IOT_W_DISABLE", 276*c982ecfaSAlexander Stein "BUTTON_A#", "BUTTON_B#"; 277*c982ecfaSAlexander Stein 278*c982ecfaSAlexander Stein /* 279*c982ecfaSAlexander Stein * Controls the IOT W_DISABLE pin which is low active 280*c982ecfaSAlexander Stein * as disable signal but inverted as seen from the CPU. 281*c982ecfaSAlexander Stein * The output-low states, the signal is 282*c982ecfaSAlexander Stein * inactive, e.g. not disabled 283*c982ecfaSAlexander Stein */ 284*c982ecfaSAlexander Stein iot_wdisable_hog: iot-wdisable-hog { 285*c982ecfaSAlexander Stein gpio-hog; 286*c982ecfaSAlexander Stein gpios = <5 GPIO_ACTIVE_HIGH>; 287*c982ecfaSAlexander Stein output-low; 288*c982ecfaSAlexander Stein line-name = "IOT_W_DISABLE"; 289*c982ecfaSAlexander Stein }; 290*c982ecfaSAlexander Stein }; 291*c982ecfaSAlexander Stein 292*c982ecfaSAlexander Stein expander1: gpio@71 { 293*c982ecfaSAlexander Stein compatible = "nxp,pca9538"; 294*c982ecfaSAlexander Stein reg = <0x71>; 295*c982ecfaSAlexander Stein gpio-controller; 296*c982ecfaSAlexander Stein #gpio-cells = <2>; 297*c982ecfaSAlexander Stein vcc-supply = <®_3v3>; 298*c982ecfaSAlexander Stein gpio-line-names = "ENET1_RESET#", "ENET2_RESET#", 299*c982ecfaSAlexander Stein "USB_RESET#", "", 300*c982ecfaSAlexander Stein "WLAN_PD#", "WLAN_W_DISABLE#", 301*c982ecfaSAlexander Stein "WLAN_PERST#", "12V_EN"; 302*c982ecfaSAlexander Stein 303*c982ecfaSAlexander Stein /* 304*c982ecfaSAlexander Stein * Controls the WiFi card PD pin which is low active 305*c982ecfaSAlexander Stein * as power down signal. The output-low states, the signal 306*c982ecfaSAlexander Stein * is inactive, e.g. not power down 307*c982ecfaSAlexander Stein */ 308*c982ecfaSAlexander Stein wlan-pd-hog { 309*c982ecfaSAlexander Stein gpio-hog; 310*c982ecfaSAlexander Stein gpios = <4 GPIO_ACTIVE_LOW>; 311*c982ecfaSAlexander Stein output-low; 312*c982ecfaSAlexander Stein line-name = "WLAN_PD#"; 313*c982ecfaSAlexander Stein }; 314*c982ecfaSAlexander Stein 315*c982ecfaSAlexander Stein /* 316*c982ecfaSAlexander Stein * Controls the WiFi card disable pin which is low active 317*c982ecfaSAlexander Stein * as disable signal. The output-low states, the signal 318*c982ecfaSAlexander Stein * is inactive, e.g. not disabled 319*c982ecfaSAlexander Stein */ 320*c982ecfaSAlexander Stein wlan-wdisable-hog { 321*c982ecfaSAlexander Stein gpio-hog; 322*c982ecfaSAlexander Stein gpios = <5 GPIO_ACTIVE_LOW>; 323*c982ecfaSAlexander Stein output-low; 324*c982ecfaSAlexander Stein line-name = "WLAN_W_DISABLE#"; 325*c982ecfaSAlexander Stein }; 326*c982ecfaSAlexander Stein 327*c982ecfaSAlexander Stein /* 328*c982ecfaSAlexander Stein * Controls the WiFi card reset pin which is low active 329*c982ecfaSAlexander Stein * as reset signal. The output-low states, the signal 330*c982ecfaSAlexander Stein * is inactive, e.g. not in reset 331*c982ecfaSAlexander Stein */ 332*c982ecfaSAlexander Stein wlan-perst-hog { 333*c982ecfaSAlexander Stein gpio-hog; 334*c982ecfaSAlexander Stein gpios = <6 GPIO_ACTIVE_LOW>; 335*c982ecfaSAlexander Stein output-low; 336*c982ecfaSAlexander Stein line-name = "WLAN_PERST#"; 337*c982ecfaSAlexander Stein }; 338*c982ecfaSAlexander Stein }; 339*c982ecfaSAlexander Stein 340*c982ecfaSAlexander Stein expander2: gpio@72 { 341*c982ecfaSAlexander Stein compatible = "nxp,pca9538"; 342*c982ecfaSAlexander Stein reg = <0x72>; 343*c982ecfaSAlexander Stein gpio-controller; 344*c982ecfaSAlexander Stein #gpio-cells = <2>; 345*c982ecfaSAlexander Stein vcc-supply = <®_3v3>; 346*c982ecfaSAlexander Stein gpio-line-names = "LCD_RESET#", "LCD_PWR_EN", 347*c982ecfaSAlexander Stein "LCD_BL_EN", "DP_EN", 348*c982ecfaSAlexander Stein "MIPI_CSI_EN", "MIPI_CSI_RST#", 349*c982ecfaSAlexander Stein "USER_LED1", "USER_LED2"; 350*c982ecfaSAlexander Stein }; 351*c982ecfaSAlexander Stein}; 352*c982ecfaSAlexander Stein 353*c982ecfaSAlexander Stein&lpi2c5 { 354*c982ecfaSAlexander Stein #address-cells = <1>; 355*c982ecfaSAlexander Stein #size-cells = <0>; 356*c982ecfaSAlexander Stein clock-frequency = <400000>; 357*c982ecfaSAlexander Stein pinctrl-names = "default", "sleep"; 358*c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_lpi2c5>; 359*c982ecfaSAlexander Stein pinctrl-1 = <&pinctrl_lpi2c5>; 360*c982ecfaSAlexander Stein status = "okay"; 361*c982ecfaSAlexander Stein 362*c982ecfaSAlexander Stein dp_bridge: dp-bridge@f { 363*c982ecfaSAlexander Stein compatible = "toshiba,tc9595", "toshiba,tc358767"; 364*c982ecfaSAlexander Stein reg = <0x0f>; 365*c982ecfaSAlexander Stein pinctrl-names = "default"; 366*c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_tc9595>; 367*c982ecfaSAlexander Stein clock-names = "ref"; 368*c982ecfaSAlexander Stein clocks = <&clk_dp>; 369*c982ecfaSAlexander Stein reset-gpios = <&expander2 3 GPIO_ACTIVE_HIGH>; 370*c982ecfaSAlexander Stein interrupt-parent = <&gpio4>; 371*c982ecfaSAlexander Stein interrupts = <29 IRQ_TYPE_EDGE_RISING>; 372*c982ecfaSAlexander Stein toshiba,hpd-pin = <0>; 373*c982ecfaSAlexander Stein status = "disabled"; 374*c982ecfaSAlexander Stein 375*c982ecfaSAlexander Stein ports { 376*c982ecfaSAlexander Stein #address-cells = <1>; 377*c982ecfaSAlexander Stein #size-cells = <0>; 378*c982ecfaSAlexander Stein 379*c982ecfaSAlexander Stein port@0 { 380*c982ecfaSAlexander Stein reg = <0>; 381*c982ecfaSAlexander Stein 382*c982ecfaSAlexander Stein dp_dsi_in: endpoint { 383*c982ecfaSAlexander Stein data-lanes = <1 2 3 4>; 384*c982ecfaSAlexander Stein }; 385*c982ecfaSAlexander Stein }; 386*c982ecfaSAlexander Stein }; 387*c982ecfaSAlexander Stein }; 388*c982ecfaSAlexander Stein}; 389*c982ecfaSAlexander Stein 390*c982ecfaSAlexander Stein&lpuart1 { 391*c982ecfaSAlexander Stein pinctrl-names = "default"; 392*c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_uart1>; 393*c982ecfaSAlexander Stein status = "okay"; 394*c982ecfaSAlexander Stein}; 395*c982ecfaSAlexander Stein 396*c982ecfaSAlexander Stein&lpuart2 { 397*c982ecfaSAlexander Stein pinctrl-names = "default"; 398*c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_uart2>; 399*c982ecfaSAlexander Stein linux,rs485-enabled-at-boot-time; 400*c982ecfaSAlexander Stein status = "okay"; 401*c982ecfaSAlexander Stein}; 402*c982ecfaSAlexander Stein 403*c982ecfaSAlexander Stein/* disabled per default, console for M33 */ 404*c982ecfaSAlexander Stein&lpuart3 { 405*c982ecfaSAlexander Stein pinctrl-names = "default"; 406*c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_uart3>; 407*c982ecfaSAlexander Stein status = "disabled"; 408*c982ecfaSAlexander Stein}; 409*c982ecfaSAlexander Stein 410*c982ecfaSAlexander Stein&lpuart6 { 411*c982ecfaSAlexander Stein pinctrl-names = "default"; 412*c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_uart6>; 413*c982ecfaSAlexander Stein status = "okay"; 414*c982ecfaSAlexander Stein}; 415*c982ecfaSAlexander Stein 416*c982ecfaSAlexander Stein&lpuart8 { 417*c982ecfaSAlexander Stein pinctrl-names = "default"; 418*c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_uart8>; 419*c982ecfaSAlexander Stein status = "okay"; 420*c982ecfaSAlexander Stein}; 421*c982ecfaSAlexander Stein 422*c982ecfaSAlexander Stein&pcf85063 { 423*c982ecfaSAlexander Stein /* RTC_EVENT# is connected on MBa93xxLA */ 424*c982ecfaSAlexander Stein pinctrl-names = "default"; 425*c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_pcf85063>; 426*c982ecfaSAlexander Stein interrupt-parent = <&gpio1>; 427*c982ecfaSAlexander Stein interrupts = <14 IRQ_TYPE_EDGE_FALLING>; 428*c982ecfaSAlexander Stein}; 429*c982ecfaSAlexander Stein 430*c982ecfaSAlexander Stein&tpm5 { 431*c982ecfaSAlexander Stein pinctrl-names = "default"; 432*c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_tpm5>; 433*c982ecfaSAlexander Stein}; 434*c982ecfaSAlexander Stein 435*c982ecfaSAlexander Stein&usdhc2 { 436*c982ecfaSAlexander Stein pinctrl-names = "default", "state_100mhz", "state_200mhz"; 437*c982ecfaSAlexander Stein pinctrl-0 = <&pinctrl_usdhc2_hs>, <&pinctrl_usdhc2_gpio>; 438*c982ecfaSAlexander Stein pinctrl-1 = <&pinctrl_usdhc2_uhs>, <&pinctrl_usdhc2_gpio>; 439*c982ecfaSAlexander Stein pinctrl-2 = <&pinctrl_usdhc2_uhs>, <&pinctrl_usdhc2_gpio>; 440*c982ecfaSAlexander Stein cd-gpios = <&gpio3 00 GPIO_ACTIVE_LOW>; 441*c982ecfaSAlexander Stein vmmc-supply = <®_usdhc2_vmmc>; 442*c982ecfaSAlexander Stein bus-width = <4>; 443*c982ecfaSAlexander Stein no-sdio; 444*c982ecfaSAlexander Stein no-mmc; 445*c982ecfaSAlexander Stein disable-wp; 446*c982ecfaSAlexander Stein status = "okay"; 447*c982ecfaSAlexander Stein}; 448*c982ecfaSAlexander Stein 449*c982ecfaSAlexander Stein&iomuxc { 450*c982ecfaSAlexander Stein pinctrl_eqos: eqosgrp { 451*c982ecfaSAlexander Stein fsl,pins = < 452*c982ecfaSAlexander Stein /* PD | FSEL_2 | DSE X4 */ 453*c982ecfaSAlexander Stein MX93_PAD_ENET1_MDC__ENET_QOS_MDC 0x51e 454*c982ecfaSAlexander Stein MX93_PAD_ENET1_MDIO__ENET_QOS_MDIO 0x4000051e 455*c982ecfaSAlexander Stein /* PD | FSEL_2 | DSE X6 */ 456*c982ecfaSAlexander Stein MX93_PAD_ENET1_RD0__ENET_QOS_RGMII_RD0 0x57e 457*c982ecfaSAlexander Stein MX93_PAD_ENET1_RD1__ENET_QOS_RGMII_RD1 0x57e 458*c982ecfaSAlexander Stein MX93_PAD_ENET1_RD2__ENET_QOS_RGMII_RD2 0x57e 459*c982ecfaSAlexander Stein MX93_PAD_ENET1_RD3__ENET_QOS_RGMII_RD3 0x57e 460*c982ecfaSAlexander Stein /* PD | FSEL_3 | DSE X6 */ 461*c982ecfaSAlexander Stein MX93_PAD_ENET1_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK 0x5fe 462*c982ecfaSAlexander Stein MX93_PAD_ENET1_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x57e 463*c982ecfaSAlexander Stein /* PD | FSEL_2 | DSE X4 */ 464*c982ecfaSAlexander Stein MX93_PAD_ENET1_TD0__ENET_QOS_RGMII_TD0 0x51e 465*c982ecfaSAlexander Stein MX93_PAD_ENET1_TD1__ENET_QOS_RGMII_TD1 0x51e 466*c982ecfaSAlexander Stein MX93_PAD_ENET1_TD2__ENET_QOS_RGMII_TD2 0x51e 467*c982ecfaSAlexander Stein MX93_PAD_ENET1_TD3__ENET_QOS_RGMII_TD3 0x51e 468*c982ecfaSAlexander Stein MX93_PAD_ENET1_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x51e 469*c982ecfaSAlexander Stein /* PD | FSEL_3 | DSE X3 */ 470*c982ecfaSAlexander Stein MX93_PAD_ENET1_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x58e 471*c982ecfaSAlexander Stein >; 472*c982ecfaSAlexander Stein }; 473*c982ecfaSAlexander Stein 474*c982ecfaSAlexander Stein pinctrl_eqos_phy: eqosphygrp { 475*c982ecfaSAlexander Stein fsl,pins = < 476*c982ecfaSAlexander Stein MX93_PAD_CCM_CLKO1__GPIO3_IO26 0x1306 477*c982ecfaSAlexander Stein >; 478*c982ecfaSAlexander Stein }; 479*c982ecfaSAlexander Stein 480*c982ecfaSAlexander Stein pinctrl_fec: fecgrp { 481*c982ecfaSAlexander Stein fsl,pins = < 482*c982ecfaSAlexander Stein /* PD | FSEL_2 | DSE X4 */ 483*c982ecfaSAlexander Stein MX93_PAD_ENET2_MDC__ENET1_MDC 0x51e 484*c982ecfaSAlexander Stein MX93_PAD_ENET2_MDIO__ENET1_MDIO 0x4000051e 485*c982ecfaSAlexander Stein /* PD | FSEL_2 | DSE X6 */ 486*c982ecfaSAlexander Stein MX93_PAD_ENET2_RD0__ENET1_RGMII_RD0 0x57e 487*c982ecfaSAlexander Stein MX93_PAD_ENET2_RD1__ENET1_RGMII_RD1 0x57e 488*c982ecfaSAlexander Stein MX93_PAD_ENET2_RD2__ENET1_RGMII_RD2 0x57e 489*c982ecfaSAlexander Stein MX93_PAD_ENET2_RD3__ENET1_RGMII_RD3 0x57e 490*c982ecfaSAlexander Stein /* PD | FSEL_3 | DSE X6 */ 491*c982ecfaSAlexander Stein MX93_PAD_ENET2_RXC__ENET1_RGMII_RXC 0x5fe 492*c982ecfaSAlexander Stein MX93_PAD_ENET2_RX_CTL__ENET1_RGMII_RX_CTL 0x57e 493*c982ecfaSAlexander Stein /* PD | FSEL_2 | DSE X4 */ 494*c982ecfaSAlexander Stein MX93_PAD_ENET2_TD0__ENET1_RGMII_TD0 0x51e 495*c982ecfaSAlexander Stein MX93_PAD_ENET2_TD1__ENET1_RGMII_TD1 0x51e 496*c982ecfaSAlexander Stein MX93_PAD_ENET2_TD2__ENET1_RGMII_TD2 0x51e 497*c982ecfaSAlexander Stein MX93_PAD_ENET2_TD3__ENET1_RGMII_TD3 0x51e 498*c982ecfaSAlexander Stein MX93_PAD_ENET2_TX_CTL__ENET1_RGMII_TX_CTL 0x51e 499*c982ecfaSAlexander Stein /* PD | FSEL_3 | DSE X3 */ 500*c982ecfaSAlexander Stein MX93_PAD_ENET2_TXC__ENET1_RGMII_TXC 0x58e 501*c982ecfaSAlexander Stein >; 502*c982ecfaSAlexander Stein }; 503*c982ecfaSAlexander Stein 504*c982ecfaSAlexander Stein pinctrl_fec_phy: fecphygrp { 505*c982ecfaSAlexander Stein fsl,pins = < 506*c982ecfaSAlexander Stein MX93_PAD_CCM_CLKO2__GPIO3_IO27 0x1306 507*c982ecfaSAlexander Stein >; 508*c982ecfaSAlexander Stein }; 509*c982ecfaSAlexander Stein 510*c982ecfaSAlexander Stein pinctrl_flexcan1: flexcan1grp { 511*c982ecfaSAlexander Stein fsl,pins = < 512*c982ecfaSAlexander Stein MX93_PAD_PDM_BIT_STREAM0__CAN1_RX 0x139e 513*c982ecfaSAlexander Stein MX93_PAD_PDM_CLK__CAN1_TX 0x139e 514*c982ecfaSAlexander Stein >; 515*c982ecfaSAlexander Stein }; 516*c982ecfaSAlexander Stein 517*c982ecfaSAlexander Stein pinctrl_flexcan2: flexcan2grp { 518*c982ecfaSAlexander Stein fsl,pins = < 519*c982ecfaSAlexander Stein MX93_PAD_GPIO_IO25__CAN2_TX 0x139e 520*c982ecfaSAlexander Stein MX93_PAD_GPIO_IO27__CAN2_RX 0x139e 521*c982ecfaSAlexander Stein >; 522*c982ecfaSAlexander Stein }; 523*c982ecfaSAlexander Stein 524*c982ecfaSAlexander Stein pinctrl_lpi2c3: lpi2c3grp { 525*c982ecfaSAlexander Stein fsl,pins = < 526*c982ecfaSAlexander Stein MX93_PAD_GPIO_IO28__LPI2C3_SDA 0x40000b9e 527*c982ecfaSAlexander Stein MX93_PAD_GPIO_IO29__LPI2C3_SCL 0x40000b9e 528*c982ecfaSAlexander Stein >; 529*c982ecfaSAlexander Stein }; 530*c982ecfaSAlexander Stein 531*c982ecfaSAlexander Stein pinctrl_lpi2c5: lpi2c5grp { 532*c982ecfaSAlexander Stein fsl,pins = < 533*c982ecfaSAlexander Stein MX93_PAD_GPIO_IO22__LPI2C5_SDA 0x40000b9e 534*c982ecfaSAlexander Stein MX93_PAD_GPIO_IO23__LPI2C5_SCL 0x40000b9e 535*c982ecfaSAlexander Stein >; 536*c982ecfaSAlexander Stein }; 537*c982ecfaSAlexander Stein 538*c982ecfaSAlexander Stein pinctrl_pcf85063: pcf85063grp { 539*c982ecfaSAlexander Stein fsl,pins = < 540*c982ecfaSAlexander Stein MX93_PAD_SAI1_RXD0__GPIO1_IO14 0x1306 541*c982ecfaSAlexander Stein >; 542*c982ecfaSAlexander Stein }; 543*c982ecfaSAlexander Stein 544*c982ecfaSAlexander Stein pinctrl_pexp_irq: pexpirqgrp { 545*c982ecfaSAlexander Stein fsl,pins = < 546*c982ecfaSAlexander Stein MX93_PAD_SAI1_TXC__GPIO1_IO12 0x1306 547*c982ecfaSAlexander Stein >; 548*c982ecfaSAlexander Stein }; 549*c982ecfaSAlexander Stein 550*c982ecfaSAlexander Stein pinctrl_tc9595: tc9595-grp { 551*c982ecfaSAlexander Stein fsl,pins = < 552*c982ecfaSAlexander Stein /* DP_IRQ */ 553*c982ecfaSAlexander Stein MX93_PAD_CCM_CLKO4__GPIO4_IO29 0x1306 554*c982ecfaSAlexander Stein >; 555*c982ecfaSAlexander Stein }; 556*c982ecfaSAlexander Stein 557*c982ecfaSAlexander Stein pinctrl_tpm5: tpm5grp { 558*c982ecfaSAlexander Stein fsl,pins = < 559*c982ecfaSAlexander Stein MX93_PAD_GPIO_IO06__TPM5_CH0 0x57e 560*c982ecfaSAlexander Stein >; 561*c982ecfaSAlexander Stein }; 562*c982ecfaSAlexander Stein 563*c982ecfaSAlexander Stein pinctrl_typec: typecgrp { 564*c982ecfaSAlexander Stein fsl,pins = < 565*c982ecfaSAlexander Stein MX93_PAD_I2C2_SCL__GPIO1_IO02 0x1306 566*c982ecfaSAlexander Stein >; 567*c982ecfaSAlexander Stein }; 568*c982ecfaSAlexander Stein 569*c982ecfaSAlexander Stein pinctrl_uart1: uart1grp { 570*c982ecfaSAlexander Stein fsl,pins = < 571*c982ecfaSAlexander Stein MX93_PAD_UART1_RXD__LPUART1_RX 0x31e 572*c982ecfaSAlexander Stein MX93_PAD_UART1_TXD__LPUART1_TX 0x31e 573*c982ecfaSAlexander Stein >; 574*c982ecfaSAlexander Stein }; 575*c982ecfaSAlexander Stein 576*c982ecfaSAlexander Stein pinctrl_uart2: uart2grp { 577*c982ecfaSAlexander Stein fsl,pins = < 578*c982ecfaSAlexander Stein MX93_PAD_UART2_TXD__LPUART2_TX 0x31e 579*c982ecfaSAlexander Stein MX93_PAD_UART2_RXD__LPUART2_RX 0x31e 580*c982ecfaSAlexander Stein MX93_PAD_SAI1_TXD0__LPUART2_RTS_B 0x31e 581*c982ecfaSAlexander Stein >; 582*c982ecfaSAlexander Stein }; 583*c982ecfaSAlexander Stein 584*c982ecfaSAlexander Stein pinctrl_uart3: uart3grp { 585*c982ecfaSAlexander Stein fsl,pins = < 586*c982ecfaSAlexander Stein MX93_PAD_GPIO_IO14__LPUART3_TX 0x31e 587*c982ecfaSAlexander Stein MX93_PAD_GPIO_IO15__LPUART3_RX 0x31e 588*c982ecfaSAlexander Stein >; 589*c982ecfaSAlexander Stein }; 590*c982ecfaSAlexander Stein 591*c982ecfaSAlexander Stein pinctrl_uart6: uart6grp { 592*c982ecfaSAlexander Stein fsl,pins = < 593*c982ecfaSAlexander Stein MX93_PAD_GPIO_IO04__LPUART6_TX 0x31e 594*c982ecfaSAlexander Stein MX93_PAD_GPIO_IO05__LPUART6_RX 0x31e 595*c982ecfaSAlexander Stein >; 596*c982ecfaSAlexander Stein }; 597*c982ecfaSAlexander Stein 598*c982ecfaSAlexander Stein pinctrl_uart8: uart8grp { 599*c982ecfaSAlexander Stein fsl,pins = < 600*c982ecfaSAlexander Stein MX93_PAD_GPIO_IO12__LPUART8_TX 0x31e 601*c982ecfaSAlexander Stein MX93_PAD_GPIO_IO13__LPUART8_RX 0x31e 602*c982ecfaSAlexander Stein >; 603*c982ecfaSAlexander Stein }; 604*c982ecfaSAlexander Stein 605*c982ecfaSAlexander Stein pinctrl_usdhc2_gpio: usdhc2gpiogrp { 606*c982ecfaSAlexander Stein fsl,pins = < 607*c982ecfaSAlexander Stein MX93_PAD_SD2_CD_B__GPIO3_IO00 0x31e 608*c982ecfaSAlexander Stein >; 609*c982ecfaSAlexander Stein }; 610*c982ecfaSAlexander Stein 611*c982ecfaSAlexander Stein pinctrl_usdhc2_hs: usdhc2hsgrp { 612*c982ecfaSAlexander Stein fsl,pins = < 613*c982ecfaSAlexander Stein /* HYS | PD | PU | FSEL_3 | DSE X5 */ 614*c982ecfaSAlexander Stein MX93_PAD_SD2_CLK__USDHC2_CLK 0x17be 615*c982ecfaSAlexander Stein /* HYS | PD | PU | FSEL_3 | DSE X4 */ 616*c982ecfaSAlexander Stein MX93_PAD_SD2_CMD__USDHC2_CMD 0x139e 617*c982ecfaSAlexander Stein /* HYS | PD | PU | FSEL_3 | DSE X3 */ 618*c982ecfaSAlexander Stein MX93_PAD_SD2_DATA0__USDHC2_DATA0 0x138e 619*c982ecfaSAlexander Stein MX93_PAD_SD2_DATA1__USDHC2_DATA1 0x138e 620*c982ecfaSAlexander Stein MX93_PAD_SD2_DATA2__USDHC2_DATA2 0x138e 621*c982ecfaSAlexander Stein MX93_PAD_SD2_DATA3__USDHC2_DATA3 0x138e 622*c982ecfaSAlexander Stein /* PD | PU | FSEL_2 | DSE X3 */ 623*c982ecfaSAlexander Stein MX93_PAD_SD2_VSELECT__USDHC2_VSELECT 0x50e 624*c982ecfaSAlexander Stein >; 625*c982ecfaSAlexander Stein }; 626*c982ecfaSAlexander Stein 627*c982ecfaSAlexander Stein pinctrl_usdhc2_uhs: usdhc2uhsgrp { 628*c982ecfaSAlexander Stein fsl,pins = < 629*c982ecfaSAlexander Stein /* HYS | PD | PU | FSEL_3 | DSE X6 */ 630*c982ecfaSAlexander Stein MX93_PAD_SD2_CLK__USDHC2_CLK 0x17fe 631*c982ecfaSAlexander Stein /* HYS | PD | PU | FSEL_3 | DSE X4 */ 632*c982ecfaSAlexander Stein MX93_PAD_SD2_CMD__USDHC2_CMD 0x139e 633*c982ecfaSAlexander Stein MX93_PAD_SD2_DATA0__USDHC2_DATA0 0x139e 634*c982ecfaSAlexander Stein MX93_PAD_SD2_DATA1__USDHC2_DATA1 0x139e 635*c982ecfaSAlexander Stein MX93_PAD_SD2_DATA2__USDHC2_DATA2 0x139e 636*c982ecfaSAlexander Stein MX93_PAD_SD2_DATA3__USDHC2_DATA3 0x139e 637*c982ecfaSAlexander Stein /* PD | PU | FSEL_2 | DSE X3 */ 638*c982ecfaSAlexander Stein MX93_PAD_SD2_VSELECT__USDHC2_VSELECT 0x50e 639*c982ecfaSAlexander Stein >; 640*c982ecfaSAlexander Stein }; 641*c982ecfaSAlexander Stein}; 642