1*25a5ccdcSAdam Ford// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*25a5ccdcSAdam Ford/* 3*25a5ccdcSAdam Ford * Copyright 2023 Logic PD, Inc dba Beacon EmbeddedWorks 4*25a5ccdcSAdam Ford */ 5*25a5ccdcSAdam Ford 6*25a5ccdcSAdam Ford/dts-v1/; 7*25a5ccdcSAdam Ford 8*25a5ccdcSAdam Ford#include <dt-bindings/usb/pd.h> 9*25a5ccdcSAdam Ford#include <dt-bindings/phy/phy-imx8-pcie.h> 10*25a5ccdcSAdam Ford#include "imx8mp.dtsi" 11*25a5ccdcSAdam Ford#include "imx8mp-beacon-som.dtsi" 12*25a5ccdcSAdam Ford 13*25a5ccdcSAdam Ford/ { 14*25a5ccdcSAdam Ford model = "Beacon EmbeddedWorks i.MX8MPlus Development kit"; 15*25a5ccdcSAdam Ford compatible = "beacon,imx8mp-beacon-kit", "fsl,imx8mp"; 16*25a5ccdcSAdam Ford 17*25a5ccdcSAdam Ford aliases { 18*25a5ccdcSAdam Ford ethernet0 = &eqos; 19*25a5ccdcSAdam Ford ethernet1 = &fec; 20*25a5ccdcSAdam Ford }; 21*25a5ccdcSAdam Ford 22*25a5ccdcSAdam Ford chosen { 23*25a5ccdcSAdam Ford stdout-path = &uart2; 24*25a5ccdcSAdam Ford }; 25*25a5ccdcSAdam Ford 26*25a5ccdcSAdam Ford connector { 27*25a5ccdcSAdam Ford compatible = "usb-c-connector"; 28*25a5ccdcSAdam Ford label = "USB-C"; 29*25a5ccdcSAdam Ford data-role = "dual"; 30*25a5ccdcSAdam Ford 31*25a5ccdcSAdam Ford ports { 32*25a5ccdcSAdam Ford #address-cells = <1>; 33*25a5ccdcSAdam Ford #size-cells = <0>; 34*25a5ccdcSAdam Ford 35*25a5ccdcSAdam Ford port@0 { 36*25a5ccdcSAdam Ford reg = <0>; 37*25a5ccdcSAdam Ford 38*25a5ccdcSAdam Ford hs_ep: endpoint { 39*25a5ccdcSAdam Ford remote-endpoint = <&usb3_hs_ep>; 40*25a5ccdcSAdam Ford }; 41*25a5ccdcSAdam Ford }; 42*25a5ccdcSAdam Ford port@1 { 43*25a5ccdcSAdam Ford reg = <1>; 44*25a5ccdcSAdam Ford 45*25a5ccdcSAdam Ford ss_ep: endpoint { 46*25a5ccdcSAdam Ford remote-endpoint = <&hd3ss3220_in_ep>; 47*25a5ccdcSAdam Ford }; 48*25a5ccdcSAdam Ford }; 49*25a5ccdcSAdam Ford }; 50*25a5ccdcSAdam Ford }; 51*25a5ccdcSAdam Ford 52*25a5ccdcSAdam Ford gpio-keys { 53*25a5ccdcSAdam Ford compatible = "gpio-keys"; 54*25a5ccdcSAdam Ford autorepeat; 55*25a5ccdcSAdam Ford 56*25a5ccdcSAdam Ford button-0 { 57*25a5ccdcSAdam Ford label = "btn0"; 58*25a5ccdcSAdam Ford linux,code = <BTN_0>; 59*25a5ccdcSAdam Ford gpios = <&pca6416_1 12 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 60*25a5ccdcSAdam Ford wakeup-source; 61*25a5ccdcSAdam Ford }; 62*25a5ccdcSAdam Ford 63*25a5ccdcSAdam Ford button-1 { 64*25a5ccdcSAdam Ford label = "btn1"; 65*25a5ccdcSAdam Ford linux,code = <BTN_1>; 66*25a5ccdcSAdam Ford gpios = <&pca6416_1 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 67*25a5ccdcSAdam Ford wakeup-source; 68*25a5ccdcSAdam Ford }; 69*25a5ccdcSAdam Ford 70*25a5ccdcSAdam Ford button-2 { 71*25a5ccdcSAdam Ford label = "btn2"; 72*25a5ccdcSAdam Ford linux,code = <BTN_2>; 73*25a5ccdcSAdam Ford gpios = <&pca6416_1 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 74*25a5ccdcSAdam Ford wakeup-source; 75*25a5ccdcSAdam Ford }; 76*25a5ccdcSAdam Ford 77*25a5ccdcSAdam Ford button-3 { 78*25a5ccdcSAdam Ford label = "btn3"; 79*25a5ccdcSAdam Ford linux,code = <BTN_3>; 80*25a5ccdcSAdam Ford gpios = <&pca6416_1 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 81*25a5ccdcSAdam Ford wakeup-source; 82*25a5ccdcSAdam Ford }; 83*25a5ccdcSAdam Ford }; 84*25a5ccdcSAdam Ford 85*25a5ccdcSAdam Ford leds { 86*25a5ccdcSAdam Ford compatible = "gpio-leds"; 87*25a5ccdcSAdam Ford pinctrl-names = "default"; 88*25a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_led3>; 89*25a5ccdcSAdam Ford 90*25a5ccdcSAdam Ford led-0 { 91*25a5ccdcSAdam Ford label = "gen_led0"; 92*25a5ccdcSAdam Ford gpios = <&pca6416_1 4 GPIO_ACTIVE_HIGH>; 93*25a5ccdcSAdam Ford default-state = "off"; 94*25a5ccdcSAdam Ford }; 95*25a5ccdcSAdam Ford 96*25a5ccdcSAdam Ford led-1 { 97*25a5ccdcSAdam Ford label = "gen_led1"; 98*25a5ccdcSAdam Ford gpios = <&pca6416_1 5 GPIO_ACTIVE_HIGH>; 99*25a5ccdcSAdam Ford default-state = "off"; 100*25a5ccdcSAdam Ford }; 101*25a5ccdcSAdam Ford 102*25a5ccdcSAdam Ford led-2 { 103*25a5ccdcSAdam Ford label = "gen_led2"; 104*25a5ccdcSAdam Ford gpios = <&pca6416_1 6 GPIO_ACTIVE_HIGH>; 105*25a5ccdcSAdam Ford default-state = "off"; 106*25a5ccdcSAdam Ford }; 107*25a5ccdcSAdam Ford 108*25a5ccdcSAdam Ford led-3 { 109*25a5ccdcSAdam Ford label = "heartbeat"; 110*25a5ccdcSAdam Ford gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>; 111*25a5ccdcSAdam Ford linux,default-trigger = "heartbeat"; 112*25a5ccdcSAdam Ford }; 113*25a5ccdcSAdam Ford }; 114*25a5ccdcSAdam Ford 115*25a5ccdcSAdam Ford pcie0_refclk: clock-pcie { 116*25a5ccdcSAdam Ford compatible = "fixed-clock"; 117*25a5ccdcSAdam Ford #clock-cells = <0>; 118*25a5ccdcSAdam Ford clock-frequency = <100000000>; 119*25a5ccdcSAdam Ford }; 120*25a5ccdcSAdam Ford 121*25a5ccdcSAdam Ford reg_usdhc2_vmmc: regulator-usdhc2 { 122*25a5ccdcSAdam Ford compatible = "regulator-fixed"; 123*25a5ccdcSAdam Ford regulator-name = "VSD_3V3"; 124*25a5ccdcSAdam Ford regulator-min-microvolt = <3300000>; 125*25a5ccdcSAdam Ford regulator-max-microvolt = <3300000>; 126*25a5ccdcSAdam Ford gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 127*25a5ccdcSAdam Ford enable-active-high; 128*25a5ccdcSAdam Ford startup-delay-us = <100>; 129*25a5ccdcSAdam Ford off-on-delay-us = <20000>; 130*25a5ccdcSAdam Ford }; 131*25a5ccdcSAdam Ford 132*25a5ccdcSAdam Ford reg_usb1_host_vbus: regulator-usb1-vbus { 133*25a5ccdcSAdam Ford compatible = "regulator-fixed"; 134*25a5ccdcSAdam Ford regulator-name = "usb1_host_vbus"; 135*25a5ccdcSAdam Ford regulator-max-microvolt = <5000000>; 136*25a5ccdcSAdam Ford regulator-min-microvolt = <5000000>; 137*25a5ccdcSAdam Ford gpio = <&pca6416_1 0 GPIO_ACTIVE_HIGH>; 138*25a5ccdcSAdam Ford enable-active-high; 139*25a5ccdcSAdam Ford }; 140*25a5ccdcSAdam Ford}; 141*25a5ccdcSAdam Ford 142*25a5ccdcSAdam Ford&ecspi2 { 143*25a5ccdcSAdam Ford pinctrl-names = "default"; 144*25a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_ecspi2>; 145*25a5ccdcSAdam Ford cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; 146*25a5ccdcSAdam Ford status = "okay"; 147*25a5ccdcSAdam Ford 148*25a5ccdcSAdam Ford tpm: tpm@0 { 149*25a5ccdcSAdam Ford compatible = "infineon,slb9670"; 150*25a5ccdcSAdam Ford reg = <0>; 151*25a5ccdcSAdam Ford pinctrl-names = "default"; 152*25a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_tpm>; 153*25a5ccdcSAdam Ford reset-gpios = <&gpio4 0 GPIO_ACTIVE_LOW>; 154*25a5ccdcSAdam Ford spi-max-frequency = <18500000>; 155*25a5ccdcSAdam Ford }; 156*25a5ccdcSAdam Ford}; 157*25a5ccdcSAdam Ford 158*25a5ccdcSAdam Ford&fec { 159*25a5ccdcSAdam Ford pinctrl-names = "default"; 160*25a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_fec>; 161*25a5ccdcSAdam Ford phy-mode = "rgmii-id"; 162*25a5ccdcSAdam Ford phy-handle = <ðphy1>; 163*25a5ccdcSAdam Ford fsl,magic-packet; 164*25a5ccdcSAdam Ford status = "okay"; 165*25a5ccdcSAdam Ford 166*25a5ccdcSAdam Ford mdio { 167*25a5ccdcSAdam Ford #address-cells = <1>; 168*25a5ccdcSAdam Ford #size-cells = <0>; 169*25a5ccdcSAdam Ford 170*25a5ccdcSAdam Ford ethphy1: ethernet-phy@3 { 171*25a5ccdcSAdam Ford compatible = "ethernet-phy-id0022.1640", 172*25a5ccdcSAdam Ford "ethernet-phy-ieee802.3-c22"; 173*25a5ccdcSAdam Ford reg = <3>; 174*25a5ccdcSAdam Ford reset-gpios = <&gpio4 18 GPIO_ACTIVE_LOW>; 175*25a5ccdcSAdam Ford reset-assert-us = <10000>; 176*25a5ccdcSAdam Ford reset-deassert-us = <150000>; 177*25a5ccdcSAdam Ford interrupt-parent = <&gpio4>; 178*25a5ccdcSAdam Ford interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 179*25a5ccdcSAdam Ford }; 180*25a5ccdcSAdam Ford }; 181*25a5ccdcSAdam Ford}; 182*25a5ccdcSAdam Ford 183*25a5ccdcSAdam Ford&flexcan1 { 184*25a5ccdcSAdam Ford pinctrl-names = "default"; 185*25a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_flexcan1>; 186*25a5ccdcSAdam Ford status = "okay"; 187*25a5ccdcSAdam Ford}; 188*25a5ccdcSAdam Ford 189*25a5ccdcSAdam Ford&gpio2 { 190*25a5ccdcSAdam Ford usb-mux-hog { 191*25a5ccdcSAdam Ford gpio-hog; 192*25a5ccdcSAdam Ford gpios = <20 0>; 193*25a5ccdcSAdam Ford output-low; 194*25a5ccdcSAdam Ford line-name = "USB-C Mux En"; 195*25a5ccdcSAdam Ford }; 196*25a5ccdcSAdam Ford}; 197*25a5ccdcSAdam Ford 198*25a5ccdcSAdam Ford&i2c2 { 199*25a5ccdcSAdam Ford clock-frequency = <384000>; 200*25a5ccdcSAdam Ford pinctrl-names = "default"; 201*25a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_i2c2>; 202*25a5ccdcSAdam Ford status = "okay"; 203*25a5ccdcSAdam Ford 204*25a5ccdcSAdam Ford pca6416_3: gpio@20 { 205*25a5ccdcSAdam Ford compatible = "nxp,pcal6416"; 206*25a5ccdcSAdam Ford reg = <0x20>; 207*25a5ccdcSAdam Ford gpio-controller; 208*25a5ccdcSAdam Ford #gpio-cells = <2>; 209*25a5ccdcSAdam Ford interrupt-parent = <&gpio4>; 210*25a5ccdcSAdam Ford interrupts = <27 IRQ_TYPE_EDGE_FALLING>; 211*25a5ccdcSAdam Ford interrupt-controller; 212*25a5ccdcSAdam Ford #interrupt-cells = <2>; 213*25a5ccdcSAdam Ford }; 214*25a5ccdcSAdam Ford}; 215*25a5ccdcSAdam Ford 216*25a5ccdcSAdam Ford&i2c3 { 217*25a5ccdcSAdam Ford /* Connected to USB Hub */ 218*25a5ccdcSAdam Ford usb-typec@52 { 219*25a5ccdcSAdam Ford compatible = "nxp,ptn5110"; 220*25a5ccdcSAdam Ford reg = <0x52>; 221*25a5ccdcSAdam Ford pinctrl-names = "default"; 222*25a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_typec>; 223*25a5ccdcSAdam Ford interrupt-parent = <&gpio4>; 224*25a5ccdcSAdam Ford interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 225*25a5ccdcSAdam Ford 226*25a5ccdcSAdam Ford connector { 227*25a5ccdcSAdam Ford compatible = "usb-c-connector"; 228*25a5ccdcSAdam Ford label = "USB-C"; 229*25a5ccdcSAdam Ford power-role = "source"; 230*25a5ccdcSAdam Ford data-role = "host"; 231*25a5ccdcSAdam Ford source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; 232*25a5ccdcSAdam Ford }; 233*25a5ccdcSAdam Ford }; 234*25a5ccdcSAdam Ford}; 235*25a5ccdcSAdam Ford 236*25a5ccdcSAdam Ford&i2c4 { 237*25a5ccdcSAdam Ford pinctrl-names = "default"; 238*25a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_i2c4>; 239*25a5ccdcSAdam Ford clock-frequency = <384000>; 240*25a5ccdcSAdam Ford status = "okay"; 241*25a5ccdcSAdam Ford 242*25a5ccdcSAdam Ford pca6416: gpio@20 { 243*25a5ccdcSAdam Ford compatible = "nxp,pcal6416"; 244*25a5ccdcSAdam Ford reg = <0x20>; 245*25a5ccdcSAdam Ford pinctrl-names = "default"; 246*25a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_pcal6414>; 247*25a5ccdcSAdam Ford gpio-controller; 248*25a5ccdcSAdam Ford #gpio-cells = <2>; 249*25a5ccdcSAdam Ford interrupt-parent = <&gpio4>; 250*25a5ccdcSAdam Ford interrupts = <27 IRQ_TYPE_EDGE_FALLING>; 251*25a5ccdcSAdam Ford interrupt-controller; 252*25a5ccdcSAdam Ford #interrupt-cells = <2>; 253*25a5ccdcSAdam Ford }; 254*25a5ccdcSAdam Ford 255*25a5ccdcSAdam Ford pca6416_1: gpio@21 { 256*25a5ccdcSAdam Ford compatible = "nxp,pcal6416"; 257*25a5ccdcSAdam Ford reg = <0x21>; 258*25a5ccdcSAdam Ford gpio-controller; 259*25a5ccdcSAdam Ford #gpio-cells = <2>; 260*25a5ccdcSAdam Ford interrupt-parent = <&gpio4>; 261*25a5ccdcSAdam Ford interrupts = <27 IRQ_TYPE_EDGE_FALLING>; 262*25a5ccdcSAdam Ford interrupt-controller; 263*25a5ccdcSAdam Ford #interrupt-cells = <2>; 264*25a5ccdcSAdam Ford 265*25a5ccdcSAdam Ford usb-hub-hog { 266*25a5ccdcSAdam Ford gpio-hog; 267*25a5ccdcSAdam Ford gpios = <7 0>; 268*25a5ccdcSAdam Ford output-low; 269*25a5ccdcSAdam Ford line-name = "USB Hub Enable"; 270*25a5ccdcSAdam Ford }; 271*25a5ccdcSAdam Ford }; 272*25a5ccdcSAdam Ford 273*25a5ccdcSAdam Ford usb-typec@47 { 274*25a5ccdcSAdam Ford compatible = "ti,hd3ss3220"; 275*25a5ccdcSAdam Ford reg = <0x47>; 276*25a5ccdcSAdam Ford pinctrl-names = "default"; 277*25a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_hd3ss3220>; 278*25a5ccdcSAdam Ford interrupt-parent = <&gpio4>; 279*25a5ccdcSAdam Ford interrupts = <19 IRQ_TYPE_LEVEL_LOW>; 280*25a5ccdcSAdam Ford 281*25a5ccdcSAdam Ford ports { 282*25a5ccdcSAdam Ford #address-cells = <1>; 283*25a5ccdcSAdam Ford #size-cells = <0>; 284*25a5ccdcSAdam Ford 285*25a5ccdcSAdam Ford port@0 { 286*25a5ccdcSAdam Ford reg = <0>; 287*25a5ccdcSAdam Ford 288*25a5ccdcSAdam Ford hd3ss3220_in_ep: endpoint { 289*25a5ccdcSAdam Ford remote-endpoint = <&ss_ep>; 290*25a5ccdcSAdam Ford }; 291*25a5ccdcSAdam Ford }; 292*25a5ccdcSAdam Ford 293*25a5ccdcSAdam Ford port@1 { 294*25a5ccdcSAdam Ford reg = <1>; 295*25a5ccdcSAdam Ford 296*25a5ccdcSAdam Ford hd3ss3220_out_ep: endpoint { 297*25a5ccdcSAdam Ford remote-endpoint = <&usb3_role_switch>; 298*25a5ccdcSAdam Ford }; 299*25a5ccdcSAdam Ford }; 300*25a5ccdcSAdam Ford }; 301*25a5ccdcSAdam Ford }; 302*25a5ccdcSAdam Ford}; 303*25a5ccdcSAdam Ford 304*25a5ccdcSAdam Ford&pcie { 305*25a5ccdcSAdam Ford pinctrl-names = "default"; 306*25a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_pcie>; 307*25a5ccdcSAdam Ford reset-gpio = <&gpio4 21 GPIO_ACTIVE_LOW>; 308*25a5ccdcSAdam Ford status = "okay"; 309*25a5ccdcSAdam Ford}; 310*25a5ccdcSAdam Ford 311*25a5ccdcSAdam Ford&pcie_phy { 312*25a5ccdcSAdam Ford fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>; 313*25a5ccdcSAdam Ford clocks = <&pcie0_refclk>; 314*25a5ccdcSAdam Ford clock-names = "ref"; 315*25a5ccdcSAdam Ford status = "okay"; 316*25a5ccdcSAdam Ford}; 317*25a5ccdcSAdam Ford 318*25a5ccdcSAdam Ford&snvs_pwrkey { 319*25a5ccdcSAdam Ford status = "okay"; 320*25a5ccdcSAdam Ford}; 321*25a5ccdcSAdam Ford 322*25a5ccdcSAdam Ford&uart2 { 323*25a5ccdcSAdam Ford pinctrl-names = "default"; 324*25a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_uart2>; 325*25a5ccdcSAdam Ford status = "okay"; 326*25a5ccdcSAdam Ford}; 327*25a5ccdcSAdam Ford 328*25a5ccdcSAdam Ford&uart3 { 329*25a5ccdcSAdam Ford pinctrl-names = "default"; 330*25a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_uart3>; 331*25a5ccdcSAdam Ford assigned-clocks = <&clk IMX8MP_CLK_UART3>; 332*25a5ccdcSAdam Ford assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>; 333*25a5ccdcSAdam Ford uart-has-rtscts; 334*25a5ccdcSAdam Ford status = "okay"; 335*25a5ccdcSAdam Ford}; 336*25a5ccdcSAdam Ford 337*25a5ccdcSAdam Ford&usb3_0 { 338*25a5ccdcSAdam Ford status = "okay"; 339*25a5ccdcSAdam Ford}; 340*25a5ccdcSAdam Ford 341*25a5ccdcSAdam Ford&usb_dwc3_0 { 342*25a5ccdcSAdam Ford dr_mode = "otg"; 343*25a5ccdcSAdam Ford hnp-disable; 344*25a5ccdcSAdam Ford srp-disable; 345*25a5ccdcSAdam Ford adp-disable; 346*25a5ccdcSAdam Ford usb-role-switch; 347*25a5ccdcSAdam Ford status = "okay"; 348*25a5ccdcSAdam Ford 349*25a5ccdcSAdam Ford ports { 350*25a5ccdcSAdam Ford #address-cells = <1>; 351*25a5ccdcSAdam Ford #size-cells = <0>; 352*25a5ccdcSAdam Ford 353*25a5ccdcSAdam Ford port@0 { 354*25a5ccdcSAdam Ford reg = <0>; 355*25a5ccdcSAdam Ford usb3_hs_ep: endpoint { 356*25a5ccdcSAdam Ford remote-endpoint = <&hs_ep>; 357*25a5ccdcSAdam Ford }; 358*25a5ccdcSAdam Ford }; 359*25a5ccdcSAdam Ford port@1 { 360*25a5ccdcSAdam Ford reg = <1>; 361*25a5ccdcSAdam Ford usb3_role_switch: endpoint { 362*25a5ccdcSAdam Ford remote-endpoint = <&hd3ss3220_out_ep>; 363*25a5ccdcSAdam Ford }; 364*25a5ccdcSAdam Ford }; 365*25a5ccdcSAdam Ford }; 366*25a5ccdcSAdam Ford}; 367*25a5ccdcSAdam Ford 368*25a5ccdcSAdam Ford&usb3_phy0 { 369*25a5ccdcSAdam Ford vbus-supply = <®_usb1_host_vbus>; 370*25a5ccdcSAdam Ford status = "okay"; 371*25a5ccdcSAdam Ford}; 372*25a5ccdcSAdam Ford 373*25a5ccdcSAdam Ford&usb3_1 { 374*25a5ccdcSAdam Ford status = "okay"; 375*25a5ccdcSAdam Ford}; 376*25a5ccdcSAdam Ford 377*25a5ccdcSAdam Ford&usb_dwc3_1 { 378*25a5ccdcSAdam Ford dr_mode = "host"; 379*25a5ccdcSAdam Ford status = "okay"; 380*25a5ccdcSAdam Ford}; 381*25a5ccdcSAdam Ford 382*25a5ccdcSAdam Ford&usb3_phy1 { 383*25a5ccdcSAdam Ford status = "okay"; 384*25a5ccdcSAdam Ford}; 385*25a5ccdcSAdam Ford 386*25a5ccdcSAdam Ford&usdhc2 { 387*25a5ccdcSAdam Ford pinctrl-names = "default", "state_100mhz", "state_200mhz"; 388*25a5ccdcSAdam Ford pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; 389*25a5ccdcSAdam Ford pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; 390*25a5ccdcSAdam Ford pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; 391*25a5ccdcSAdam Ford cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; 392*25a5ccdcSAdam Ford vmmc-supply = <®_usdhc2_vmmc>; 393*25a5ccdcSAdam Ford bus-width = <4>; 394*25a5ccdcSAdam Ford status = "okay"; 395*25a5ccdcSAdam Ford}; 396*25a5ccdcSAdam Ford 397*25a5ccdcSAdam Ford&iomuxc { 398*25a5ccdcSAdam Ford pinctrl_ecspi2: ecspi2grp { 399*25a5ccdcSAdam Ford fsl,pins = < 400*25a5ccdcSAdam Ford MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK 0x82 401*25a5ccdcSAdam Ford MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI 0x82 402*25a5ccdcSAdam Ford MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO 0x82 403*25a5ccdcSAdam Ford MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13 0x40000 404*25a5ccdcSAdam Ford >; 405*25a5ccdcSAdam Ford }; 406*25a5ccdcSAdam Ford 407*25a5ccdcSAdam Ford pinctrl_fec: fecgrp { 408*25a5ccdcSAdam Ford fsl,pins = < 409*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC 0x2 410*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO 0x2 411*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0 0x90 412*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1 0x90 413*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2 0x90 414*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3 0x90 415*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC 0x90 416*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL 0x90 417*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0 0x16 418*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1 0x16 419*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2 0x16 420*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3 0x16 421*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL 0x16 422*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC 0x16 423*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02 0x140 424*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x10 425*25a5ccdcSAdam Ford >; 426*25a5ccdcSAdam Ford }; 427*25a5ccdcSAdam Ford 428*25a5ccdcSAdam Ford pinctrl_flexcan1: flexcan1grp { 429*25a5ccdcSAdam Ford fsl,pins = < 430*25a5ccdcSAdam Ford MX8MP_IOMUXC_SPDIF_RX__CAN1_RX 0x154 431*25a5ccdcSAdam Ford MX8MP_IOMUXC_SPDIF_TX__CAN1_TX 0x154 432*25a5ccdcSAdam Ford >; 433*25a5ccdcSAdam Ford }; 434*25a5ccdcSAdam Ford 435*25a5ccdcSAdam Ford pinctrl_hd3ss3220: hd3ss3220grp { 436*25a5ccdcSAdam Ford fsl,pins = < 437*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_TXD7__GPIO4_IO19 0x140 438*25a5ccdcSAdam Ford >; 439*25a5ccdcSAdam Ford }; 440*25a5ccdcSAdam Ford 441*25a5ccdcSAdam Ford pinctrl_i2c2: i2c2grp { 442*25a5ccdcSAdam Ford fsl,pins = < 443*25a5ccdcSAdam Ford MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x400001c2 444*25a5ccdcSAdam Ford MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA 0x400001c2 445*25a5ccdcSAdam Ford >; 446*25a5ccdcSAdam Ford }; 447*25a5ccdcSAdam Ford 448*25a5ccdcSAdam Ford pinctrl_i2c4: i2c4grp { 449*25a5ccdcSAdam Ford fsl,pins = < 450*25a5ccdcSAdam Ford MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x400001c2 451*25a5ccdcSAdam Ford MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA 0x400001c2 452*25a5ccdcSAdam Ford >; 453*25a5ccdcSAdam Ford }; 454*25a5ccdcSAdam Ford 455*25a5ccdcSAdam Ford pinctrl_led3: led3grp { 456*25a5ccdcSAdam Ford fsl,pins = < 457*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28 0x41 458*25a5ccdcSAdam Ford >; 459*25a5ccdcSAdam Ford }; 460*25a5ccdcSAdam Ford 461*25a5ccdcSAdam Ford pinctrl_pcal6414: pcal6414-gpiogrp { 462*25a5ccdcSAdam Ford fsl,pins = < 463*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27 0x10 464*25a5ccdcSAdam Ford >; 465*25a5ccdcSAdam Ford }; 466*25a5ccdcSAdam Ford 467*25a5ccdcSAdam Ford pinctrl_pcie: pciegrp { 468*25a5ccdcSAdam Ford fsl,pins = < 469*25a5ccdcSAdam Ford MX8MP_IOMUXC_GPIO1_IO05__GPIO1_IO05 0x10 /* PCIe_nDIS */ 470*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI2_RXFS__GPIO4_IO21 0x10 /* PCIe_nRST */ 471*25a5ccdcSAdam Ford >; 472*25a5ccdcSAdam Ford }; 473*25a5ccdcSAdam Ford 474*25a5ccdcSAdam Ford pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp { 475*25a5ccdcSAdam Ford fsl,pins = < 476*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x40 477*25a5ccdcSAdam Ford >; 478*25a5ccdcSAdam Ford }; 479*25a5ccdcSAdam Ford 480*25a5ccdcSAdam Ford pinctrl_tpm: tpmgrp { 481*25a5ccdcSAdam Ford fsl,pins = < 482*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_RXFS__GPIO4_IO00 0x19 /* Reset */ 483*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0x1d6 /* IRQ */ 484*25a5ccdcSAdam Ford >; 485*25a5ccdcSAdam Ford }; 486*25a5ccdcSAdam Ford 487*25a5ccdcSAdam Ford pinctrl_typec: typec1grp { 488*25a5ccdcSAdam Ford fsl,pins = < 489*25a5ccdcSAdam Ford MX8MP_IOMUXC_SAI1_RXC__GPIO4_IO01 0xc4 490*25a5ccdcSAdam Ford >; 491*25a5ccdcSAdam Ford }; 492*25a5ccdcSAdam Ford 493*25a5ccdcSAdam Ford pinctrl_uart2: uart2grp { 494*25a5ccdcSAdam Ford fsl,pins = < 495*25a5ccdcSAdam Ford MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x140 496*25a5ccdcSAdam Ford MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x140 497*25a5ccdcSAdam Ford >; 498*25a5ccdcSAdam Ford }; 499*25a5ccdcSAdam Ford 500*25a5ccdcSAdam Ford pinctrl_uart3: uart3grp { 501*25a5ccdcSAdam Ford fsl,pins = < 502*25a5ccdcSAdam Ford MX8MP_IOMUXC_ECSPI1_SCLK__UART3_DCE_RX 0x140 503*25a5ccdcSAdam Ford MX8MP_IOMUXC_ECSPI1_MOSI__UART3_DCE_TX 0x140 504*25a5ccdcSAdam Ford MX8MP_IOMUXC_ECSPI1_SS0__UART3_DCE_RTS 0x140 505*25a5ccdcSAdam Ford MX8MP_IOMUXC_ECSPI1_MISO__UART3_DCE_CTS 0x140 506*25a5ccdcSAdam Ford >; 507*25a5ccdcSAdam Ford }; 508*25a5ccdcSAdam Ford 509*25a5ccdcSAdam Ford pinctrl_usdhc2: usdhc2grp { 510*25a5ccdcSAdam Ford fsl,pins = < 511*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190 512*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d0 513*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d0 514*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0 515*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d0 516*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d0 517*25a5ccdcSAdam Ford MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0 518*25a5ccdcSAdam Ford >; 519*25a5ccdcSAdam Ford }; 520*25a5ccdcSAdam Ford 521*25a5ccdcSAdam Ford pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 522*25a5ccdcSAdam Ford fsl,pins = < 523*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194 524*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4 525*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4 526*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4 527*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4 528*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4 529*25a5ccdcSAdam Ford MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0 530*25a5ccdcSAdam Ford >; 531*25a5ccdcSAdam Ford }; 532*25a5ccdcSAdam Ford 533*25a5ccdcSAdam Ford pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 534*25a5ccdcSAdam Ford fsl,pins = < 535*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196 536*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d6 537*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d6 538*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6 539*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d6 540*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d6 541*25a5ccdcSAdam Ford MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0 542*25a5ccdcSAdam Ford >; 543*25a5ccdcSAdam Ford }; 544*25a5ccdcSAdam Ford 545*25a5ccdcSAdam Ford pinctrl_usdhc2_gpio: usdhc2gpiogrp { 546*25a5ccdcSAdam Ford fsl,pins = < 547*25a5ccdcSAdam Ford MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 0x1c4 548*25a5ccdcSAdam Ford >; 549*25a5ccdcSAdam Ford }; 550*25a5ccdcSAdam Ford}; 551