1aa1a8ff2SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2aa1a8ff2SEmmanuel Vadot/* 3aa1a8ff2SEmmanuel Vadot * Copyright 2019 NXP 4aa1a8ff2SEmmanuel Vadot * Copyright (C) 2023 Pengutronix, Marco Felsch <kernel@pengutronix.de> 5aa1a8ff2SEmmanuel Vadot */ 6aa1a8ff2SEmmanuel Vadot 7aa1a8ff2SEmmanuel Vadot/dts-v1/; 8aa1a8ff2SEmmanuel Vadot 9aa1a8ff2SEmmanuel Vadot#include "imx8mp-debix-som-a.dtsi" 10aa1a8ff2SEmmanuel Vadot 11aa1a8ff2SEmmanuel Vadot/ { 12aa1a8ff2SEmmanuel Vadot model = "Polyhex i.MX8MPlus Debix SOM A on BMB-08"; 13aa1a8ff2SEmmanuel Vadot compatible = "polyhex,imx8mp-debix-som-a-bmb-08", "polyhex,imx8mp-debix-som-a", 14aa1a8ff2SEmmanuel Vadot "fsl,imx8mp"; 15aa1a8ff2SEmmanuel Vadot 16aa1a8ff2SEmmanuel Vadot aliases { 17aa1a8ff2SEmmanuel Vadot ethernet0 = &eqos; 18aa1a8ff2SEmmanuel Vadot ethernet1 = &fec; 19aa1a8ff2SEmmanuel Vadot }; 20aa1a8ff2SEmmanuel Vadot 21aa1a8ff2SEmmanuel Vadot chosen { 22aa1a8ff2SEmmanuel Vadot stdout-path = &uart2; 23aa1a8ff2SEmmanuel Vadot }; 24aa1a8ff2SEmmanuel Vadot 25aa1a8ff2SEmmanuel Vadot reg_baseboard_vdd3v3: regulator-baseboard-vdd3v3 { 26aa1a8ff2SEmmanuel Vadot compatible = "regulator-fixed"; 27aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <3300000>; 28aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <3300000>; 29aa1a8ff2SEmmanuel Vadot regulator-name = "BB_VDD3V3"; 30aa1a8ff2SEmmanuel Vadot /* Required timings for ethernet phy's */ 31aa1a8ff2SEmmanuel Vadot startup-delay-us = <50000>; 32aa1a8ff2SEmmanuel Vadot off-on-delay-us = <110000>; 33aa1a8ff2SEmmanuel Vadot gpio = <&expander0 10 GPIO_ACTIVE_HIGH>; 34aa1a8ff2SEmmanuel Vadot enable-active-high; 35aa1a8ff2SEmmanuel Vadot }; 36aa1a8ff2SEmmanuel Vadot 37aa1a8ff2SEmmanuel Vadot reg_baseboard_vdd5v0: regulator-baseboard-vdd5v0 { 38aa1a8ff2SEmmanuel Vadot compatible = "regulator-fixed"; 39aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <5000000>; 40aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <5000000>; 41aa1a8ff2SEmmanuel Vadot regulator-name = "BB_VDD5V"; 42aa1a8ff2SEmmanuel Vadot gpio = <&expander0 9 GPIO_ACTIVE_HIGH>; 43aa1a8ff2SEmmanuel Vadot enable-active-high; 44aa1a8ff2SEmmanuel Vadot }; 45aa1a8ff2SEmmanuel Vadot 46aa1a8ff2SEmmanuel Vadot regulator-som-vdd1v8 { 47aa1a8ff2SEmmanuel Vadot compatible = "regulator-fixed"; 48aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <1800000>; 49aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <1800000>; 50aa1a8ff2SEmmanuel Vadot regulator-name = "SOM_VDD1V8_SW"; 51aa1a8ff2SEmmanuel Vadot gpio = <&expander0 12 GPIO_ACTIVE_HIGH>; 52aa1a8ff2SEmmanuel Vadot enable-active-high; 53aa1a8ff2SEmmanuel Vadot regulator-always-on; 54aa1a8ff2SEmmanuel Vadot }; 55aa1a8ff2SEmmanuel Vadot 56aa1a8ff2SEmmanuel Vadot regulator-som-vdd3v3 { 57aa1a8ff2SEmmanuel Vadot compatible = "regulator-fixed"; 58aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <3300000>; 59aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <3300000>; 60aa1a8ff2SEmmanuel Vadot regulator-name = "SOM_VDD3V3_SW"; 61aa1a8ff2SEmmanuel Vadot gpio = <&expander0 11 GPIO_ACTIVE_HIGH>; 62aa1a8ff2SEmmanuel Vadot enable-active-high; 63aa1a8ff2SEmmanuel Vadot regulator-always-on; 64aa1a8ff2SEmmanuel Vadot }; 65aa1a8ff2SEmmanuel Vadot 66*8d13bc63SEmmanuel Vadot reg_csi1_1v8: regulator-csi1-vdd1v8 { 67*8d13bc63SEmmanuel Vadot compatible = "regulator-fixed"; 68*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1800000>; 69*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1800000>; 70*8d13bc63SEmmanuel Vadot regulator-name = "CSI1_VDD1V8"; 71*8d13bc63SEmmanuel Vadot gpio = <&expander0 13 GPIO_ACTIVE_HIGH>; 72*8d13bc63SEmmanuel Vadot enable-active-high; 73*8d13bc63SEmmanuel Vadot vin-supply = <®_baseboard_vdd3v3>; 74*8d13bc63SEmmanuel Vadot }; 75*8d13bc63SEmmanuel Vadot 76*8d13bc63SEmmanuel Vadot reg_csi1_3v3: regulator-csi1-vdd3v3 { 77*8d13bc63SEmmanuel Vadot compatible = "regulator-fixed"; 78*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <3300000>; 79*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <3300000>; 80*8d13bc63SEmmanuel Vadot regulator-name = "CSI1_VDD3V3"; 81*8d13bc63SEmmanuel Vadot gpio = <&expander0 14 GPIO_ACTIVE_HIGH>; 82*8d13bc63SEmmanuel Vadot enable-active-high; 83*8d13bc63SEmmanuel Vadot vin-supply = <®_vdd5v0>; 84*8d13bc63SEmmanuel Vadot }; 85*8d13bc63SEmmanuel Vadot 86*8d13bc63SEmmanuel Vadot reg_csi2_1v8: regulator-csi2-vdd1v8 { 87*8d13bc63SEmmanuel Vadot compatible = "regulator-fixed"; 88*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 89*8d13bc63SEmmanuel Vadot pinctrl-0 = <&pinctrl_reg_csi2_1v8>; 90*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <1800000>; 91*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <1800000>; 92*8d13bc63SEmmanuel Vadot regulator-name = "CSI2_VDD1V8"; 93*8d13bc63SEmmanuel Vadot gpio = <&gpio3 21 GPIO_ACTIVE_HIGH>; 94*8d13bc63SEmmanuel Vadot enable-active-high; 95*8d13bc63SEmmanuel Vadot vin-supply = <®_baseboard_vdd3v3>; 96*8d13bc63SEmmanuel Vadot }; 97*8d13bc63SEmmanuel Vadot 98*8d13bc63SEmmanuel Vadot reg_csi2_3v3: regulator-csi2-vdd3v3 { 99*8d13bc63SEmmanuel Vadot compatible = "regulator-fixed"; 100*8d13bc63SEmmanuel Vadot pinctrl-names = "default"; 101*8d13bc63SEmmanuel Vadot pinctrl-0 = <&pinctrl_reg_csi2_3v3>; 102*8d13bc63SEmmanuel Vadot regulator-min-microvolt = <3300000>; 103*8d13bc63SEmmanuel Vadot regulator-max-microvolt = <3300000>; 104*8d13bc63SEmmanuel Vadot regulator-name = "CSI2_VDD3V3"; 105*8d13bc63SEmmanuel Vadot gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>; 106*8d13bc63SEmmanuel Vadot enable-active-high; 107*8d13bc63SEmmanuel Vadot vin-supply = <®_vdd5v0>; 108*8d13bc63SEmmanuel Vadot }; 109*8d13bc63SEmmanuel Vadot 110aa1a8ff2SEmmanuel Vadot regulator-vbus-usb20 { 111aa1a8ff2SEmmanuel Vadot compatible = "regulator-fixed"; 112aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <5000000>; 113aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <5000000>; 114aa1a8ff2SEmmanuel Vadot regulator-name = "USB20_5V"; 115aa1a8ff2SEmmanuel Vadot gpio = <&expander1 14 GPIO_ACTIVE_HIGH>; 116aa1a8ff2SEmmanuel Vadot enable-active-high; 117aa1a8ff2SEmmanuel Vadot regulator-always-on; 118aa1a8ff2SEmmanuel Vadot vin-supply = <®_baseboard_vdd5v0>; 119aa1a8ff2SEmmanuel Vadot }; 120aa1a8ff2SEmmanuel Vadot 121aa1a8ff2SEmmanuel Vadot regulator-vbus-usb30 { 122aa1a8ff2SEmmanuel Vadot compatible = "regulator-fixed"; 123aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <5000000>; 124aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <5000000>; 125aa1a8ff2SEmmanuel Vadot regulator-name = "USB30_5V"; 126aa1a8ff2SEmmanuel Vadot gpio = <&expander1 12 GPIO_ACTIVE_HIGH>; 127aa1a8ff2SEmmanuel Vadot enable-active-high; 128aa1a8ff2SEmmanuel Vadot regulator-always-on; 129aa1a8ff2SEmmanuel Vadot vin-supply = <®_baseboard_vdd5v0>; 130aa1a8ff2SEmmanuel Vadot }; 131aa1a8ff2SEmmanuel Vadot 132aa1a8ff2SEmmanuel Vadot reg_vdd5v0: regulator-vdd5v0 { 133aa1a8ff2SEmmanuel Vadot compatible = "regulator-fixed"; 134aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <5000000>; 135aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <5000000>; 136aa1a8ff2SEmmanuel Vadot regulator-name = "VDD_5V"; 137aa1a8ff2SEmmanuel Vadot gpio = <&expander0 8 GPIO_ACTIVE_HIGH>; 138aa1a8ff2SEmmanuel Vadot enable-active-high; 139aa1a8ff2SEmmanuel Vadot }; 140aa1a8ff2SEmmanuel Vadot}; 141aa1a8ff2SEmmanuel Vadot 142aa1a8ff2SEmmanuel Vadot&eqos { 143aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 144aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_eqos>; 145aa1a8ff2SEmmanuel Vadot nvmem-cells = <ðmac1>; 146aa1a8ff2SEmmanuel Vadot nvmem-cell-names = "mac-address"; 147aa1a8ff2SEmmanuel Vadot phy-supply = <®_baseboard_vdd3v3>; 148aa1a8ff2SEmmanuel Vadot phy-handle = <ðphy0>; 149aa1a8ff2SEmmanuel Vadot phy-mode = "rgmii-id"; 150aa1a8ff2SEmmanuel Vadot status = "okay"; 151aa1a8ff2SEmmanuel Vadot 152aa1a8ff2SEmmanuel Vadot mdio { 153aa1a8ff2SEmmanuel Vadot compatible = "snps,dwmac-mdio"; 154aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 155aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 156aa1a8ff2SEmmanuel Vadot 157aa1a8ff2SEmmanuel Vadot ethphy0: ethernet-phy@1 { 158aa1a8ff2SEmmanuel Vadot compatible = "ethernet-phy-ieee802.3-c22"; 159aa1a8ff2SEmmanuel Vadot reg = <1>; 160aa1a8ff2SEmmanuel Vadot reset-gpios = <&gpio4 18 GPIO_ACTIVE_LOW>; 161aa1a8ff2SEmmanuel Vadot reset-assert-us = <20000>; 162aa1a8ff2SEmmanuel Vadot reset-deassert-us = <150000>; 163aa1a8ff2SEmmanuel Vadot eee-broken-1000t; 164aa1a8ff2SEmmanuel Vadot realtek,clkout-disable; 165aa1a8ff2SEmmanuel Vadot }; 166aa1a8ff2SEmmanuel Vadot }; 167aa1a8ff2SEmmanuel Vadot}; 168aa1a8ff2SEmmanuel Vadot 169aa1a8ff2SEmmanuel Vadot&fec { 170aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 171aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_fec>; 172aa1a8ff2SEmmanuel Vadot nvmem-cells = <ðmac2>; 173aa1a8ff2SEmmanuel Vadot nvmem-cell-names = "mac-address"; 174aa1a8ff2SEmmanuel Vadot phy-supply = <®_baseboard_vdd3v3>; 175aa1a8ff2SEmmanuel Vadot phy-handle = <ðphy1>; 176aa1a8ff2SEmmanuel Vadot phy-mode = "rgmii-id"; 177aa1a8ff2SEmmanuel Vadot fsl,magic-packet; 178aa1a8ff2SEmmanuel Vadot status = "okay"; 179aa1a8ff2SEmmanuel Vadot 180aa1a8ff2SEmmanuel Vadot mdio { 181aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 182aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 183aa1a8ff2SEmmanuel Vadot 184aa1a8ff2SEmmanuel Vadot ethphy1: ethernet-phy@1 { 185aa1a8ff2SEmmanuel Vadot compatible = "ethernet-phy-ieee802.3-c22"; 186aa1a8ff2SEmmanuel Vadot reg = <1>; 187aa1a8ff2SEmmanuel Vadot reset-gpios = <&gpio4 19 GPIO_ACTIVE_LOW>; 188aa1a8ff2SEmmanuel Vadot reset-assert-us = <20000>; 189aa1a8ff2SEmmanuel Vadot reset-deassert-us = <150000>; 190aa1a8ff2SEmmanuel Vadot eee-broken-1000t; 191aa1a8ff2SEmmanuel Vadot realtek,clkout-disable; 192aa1a8ff2SEmmanuel Vadot }; 193aa1a8ff2SEmmanuel Vadot }; 194aa1a8ff2SEmmanuel Vadot}; 195aa1a8ff2SEmmanuel Vadot 196aa1a8ff2SEmmanuel Vadot&flexcan1 { 197aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 198aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_flexcan1>; 199aa1a8ff2SEmmanuel Vadot xceiver-supply = <®_vdd5v0>; 200aa1a8ff2SEmmanuel Vadot status = "okay"; 201aa1a8ff2SEmmanuel Vadot}; 202aa1a8ff2SEmmanuel Vadot 203aa1a8ff2SEmmanuel Vadot&flexcan2 { 204aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 205aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_flexcan2>; 206aa1a8ff2SEmmanuel Vadot xceiver-supply = <®_vdd5v0>; 207aa1a8ff2SEmmanuel Vadot status = "okay"; 208aa1a8ff2SEmmanuel Vadot}; 209aa1a8ff2SEmmanuel Vadot 210aa1a8ff2SEmmanuel Vadot&flexspi { 211aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 212aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_flexspi0>; 213aa1a8ff2SEmmanuel Vadot status = "okay"; 214aa1a8ff2SEmmanuel Vadot 215aa1a8ff2SEmmanuel Vadot flash: flash@0 { 216aa1a8ff2SEmmanuel Vadot compatible = "jedec,spi-nor"; 217aa1a8ff2SEmmanuel Vadot reg = <0>; 218aa1a8ff2SEmmanuel Vadot spi-max-frequency = <80000000>; 219aa1a8ff2SEmmanuel Vadot spi-tx-bus-width = <1>; 220aa1a8ff2SEmmanuel Vadot spi-rx-bus-width = <4>; 221aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 222aa1a8ff2SEmmanuel Vadot #size-cells = <1>; 223aa1a8ff2SEmmanuel Vadot }; 224aa1a8ff2SEmmanuel Vadot}; 225aa1a8ff2SEmmanuel Vadot 226aa1a8ff2SEmmanuel Vadot&i2c4 { 227aa1a8ff2SEmmanuel Vadot expander0: gpio@20 { 228aa1a8ff2SEmmanuel Vadot compatible = "nxp,pca9535"; 229aa1a8ff2SEmmanuel Vadot reg = <0x20>; 230aa1a8ff2SEmmanuel Vadot gpio-controller; 231aa1a8ff2SEmmanuel Vadot #gpio-cells = <0x02>; 232aa1a8ff2SEmmanuel Vadot }; 233aa1a8ff2SEmmanuel Vadot 234aa1a8ff2SEmmanuel Vadot expander1: gpio@23 { 235aa1a8ff2SEmmanuel Vadot compatible = "nxp,pca9535"; 236aa1a8ff2SEmmanuel Vadot reg = <0x23>; 237aa1a8ff2SEmmanuel Vadot gpio-controller; 238aa1a8ff2SEmmanuel Vadot #gpio-cells = <0x02>; 239aa1a8ff2SEmmanuel Vadot 240aa1a8ff2SEmmanuel Vadot /* 241aa1a8ff2SEmmanuel Vadot * Since USB1 is bound to peripheral mode we need to ensure 242aa1a8ff2SEmmanuel Vadot * that VBUS is turned off. 243aa1a8ff2SEmmanuel Vadot */ 244aa1a8ff2SEmmanuel Vadot usb30-otg-hog { 245aa1a8ff2SEmmanuel Vadot gpio-hog; 246aa1a8ff2SEmmanuel Vadot gpios = <13 GPIO_ACTIVE_HIGH>; 247aa1a8ff2SEmmanuel Vadot output-low; 248aa1a8ff2SEmmanuel Vadot line-name = "USB30_OTG_EN"; 249aa1a8ff2SEmmanuel Vadot }; 250aa1a8ff2SEmmanuel Vadot }; 251aa1a8ff2SEmmanuel Vadot 252aa1a8ff2SEmmanuel Vadot rtc@51 { 253aa1a8ff2SEmmanuel Vadot compatible = "haoyu,hym8563"; 254aa1a8ff2SEmmanuel Vadot reg = <0x51>; 255aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 256aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_rtc>; 257aa1a8ff2SEmmanuel Vadot interrupt-parent = <&gpio4>; 258aa1a8ff2SEmmanuel Vadot interrupts = <3 IRQ_TYPE_EDGE_FALLING>; 259aa1a8ff2SEmmanuel Vadot #clock-cells = <0>; 260aa1a8ff2SEmmanuel Vadot }; 261aa1a8ff2SEmmanuel Vadot 262aa1a8ff2SEmmanuel Vadot eeprom@52 { 263aa1a8ff2SEmmanuel Vadot compatible = "atmel,24c02"; 264aa1a8ff2SEmmanuel Vadot reg = <0x52>; 265aa1a8ff2SEmmanuel Vadot pagesize = <16>; 266aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 26784943d6fSEmmanuel Vadot #size-cells = <1>; 268aa1a8ff2SEmmanuel Vadot 269aa1a8ff2SEmmanuel Vadot /* MACs stored in ASCII */ 270aa1a8ff2SEmmanuel Vadot ethmac1: mac-address@0 { 271aa1a8ff2SEmmanuel Vadot reg = <0x0 0xc>; 272aa1a8ff2SEmmanuel Vadot }; 273aa1a8ff2SEmmanuel Vadot 274aa1a8ff2SEmmanuel Vadot ethmac2: mac-address@c { 275aa1a8ff2SEmmanuel Vadot reg = <0xc 0xc>; 276aa1a8ff2SEmmanuel Vadot }; 277aa1a8ff2SEmmanuel Vadot }; 278aa1a8ff2SEmmanuel Vadot}; 279aa1a8ff2SEmmanuel Vadot 280aa1a8ff2SEmmanuel Vadot&snvs_pwrkey { 281aa1a8ff2SEmmanuel Vadot status = "okay"; 282aa1a8ff2SEmmanuel Vadot}; 283aa1a8ff2SEmmanuel Vadot 284aa1a8ff2SEmmanuel Vadot/* Debug */ 285aa1a8ff2SEmmanuel Vadot&uart2 { 286aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 287aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_uart2>; 288aa1a8ff2SEmmanuel Vadot status = "okay"; 289aa1a8ff2SEmmanuel Vadot}; 290aa1a8ff2SEmmanuel Vadot 291aa1a8ff2SEmmanuel Vadot&uart3 { 292aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 293aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_uart3>; 294aa1a8ff2SEmmanuel Vadot status = "okay"; 295aa1a8ff2SEmmanuel Vadot}; 296aa1a8ff2SEmmanuel Vadot 297aa1a8ff2SEmmanuel Vadot&uart4 { 298aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 299aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_uart4>; 300aa1a8ff2SEmmanuel Vadot status = "okay"; 301aa1a8ff2SEmmanuel Vadot}; 302aa1a8ff2SEmmanuel Vadot 303aa1a8ff2SEmmanuel Vadot&usb3_0 { 304aa1a8ff2SEmmanuel Vadot status = "okay"; 305aa1a8ff2SEmmanuel Vadot}; 306aa1a8ff2SEmmanuel Vadot 307aa1a8ff2SEmmanuel Vadot&usb3_1 { 308aa1a8ff2SEmmanuel Vadot status = "okay"; 309aa1a8ff2SEmmanuel Vadot}; 310aa1a8ff2SEmmanuel Vadot 311aa1a8ff2SEmmanuel Vadot&usb_dwc3_0 { 312aa1a8ff2SEmmanuel Vadot dr_mode = "peripheral"; 313aa1a8ff2SEmmanuel Vadot status = "okay"; 314aa1a8ff2SEmmanuel Vadot}; 315aa1a8ff2SEmmanuel Vadot 316aa1a8ff2SEmmanuel Vadot&usb_dwc3_1 { 317aa1a8ff2SEmmanuel Vadot dr_mode = "host"; 318aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 319aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 320aa1a8ff2SEmmanuel Vadot status = "okay"; 321aa1a8ff2SEmmanuel Vadot 322aa1a8ff2SEmmanuel Vadot /* 2.x hub on port 1 */ 323aa1a8ff2SEmmanuel Vadot usb_hub_2_x: hub@1 { 324aa1a8ff2SEmmanuel Vadot compatible = "usb5e3,610"; 325aa1a8ff2SEmmanuel Vadot reg = <1>; 326aa1a8ff2SEmmanuel Vadot reset-gpios = <&expander1 9 GPIO_ACTIVE_LOW>; 327aa1a8ff2SEmmanuel Vadot vdd-supply = <®_vdd5v0>; 328aa1a8ff2SEmmanuel Vadot peer-hub = <&usb_hub_3_x>; 329aa1a8ff2SEmmanuel Vadot }; 330aa1a8ff2SEmmanuel Vadot 331aa1a8ff2SEmmanuel Vadot /* 3.x hub on port 2 */ 332aa1a8ff2SEmmanuel Vadot usb_hub_3_x: hub@2 { 333aa1a8ff2SEmmanuel Vadot compatible = "usb5e3,620"; 334aa1a8ff2SEmmanuel Vadot reg = <2>; 335aa1a8ff2SEmmanuel Vadot reset-gpios = <&expander1 9 GPIO_ACTIVE_LOW>; 336aa1a8ff2SEmmanuel Vadot vdd-supply = <®_vdd5v0>; 337aa1a8ff2SEmmanuel Vadot peer-hub = <&usb_hub_2_x>; 338aa1a8ff2SEmmanuel Vadot }; 339aa1a8ff2SEmmanuel Vadot}; 340aa1a8ff2SEmmanuel Vadot 341aa1a8ff2SEmmanuel Vadot&usb3_phy0 { 342aa1a8ff2SEmmanuel Vadot status = "okay"; 343aa1a8ff2SEmmanuel Vadot}; 344aa1a8ff2SEmmanuel Vadot 345aa1a8ff2SEmmanuel Vadot&usb3_phy1 { 346aa1a8ff2SEmmanuel Vadot status = "okay"; 347aa1a8ff2SEmmanuel Vadot}; 348aa1a8ff2SEmmanuel Vadot 349aa1a8ff2SEmmanuel Vadot/* µSD Card */ 350aa1a8ff2SEmmanuel Vadot&usdhc2 { 351aa1a8ff2SEmmanuel Vadot pinctrl-names = "default", "state_100mhz", "state_200mhz"; 352aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_usdhc2>; 353aa1a8ff2SEmmanuel Vadot pinctrl-1 = <&pinctrl_usdhc2_100mhz>; 354aa1a8ff2SEmmanuel Vadot pinctrl-2 = <&pinctrl_usdhc2_200mhz>; 355aa1a8ff2SEmmanuel Vadot assigned-clocks = <&clk IMX8MP_CLK_USDHC2>; 356aa1a8ff2SEmmanuel Vadot assigned-clock-rates = <400000000>; 357aa1a8ff2SEmmanuel Vadot vmmc-supply = <®_usdhc2_vmmc>; 358aa1a8ff2SEmmanuel Vadot bus-width = <4>; 359aa1a8ff2SEmmanuel Vadot disable-wp; 360aa1a8ff2SEmmanuel Vadot no-sdio; 361aa1a8ff2SEmmanuel Vadot no-mmc; 362aa1a8ff2SEmmanuel Vadot status = "okay"; 363aa1a8ff2SEmmanuel Vadot}; 364aa1a8ff2SEmmanuel Vadot 365aa1a8ff2SEmmanuel Vadot&iomuxc { 366aa1a8ff2SEmmanuel Vadot pinctrl_eqos: eqosgrp { 367aa1a8ff2SEmmanuel Vadot fsl,pins = < 368aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC 0x3 369aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO 0x3 370aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0 0x91 371aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1 0x91 372aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2 0x91 373aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3 0x91 374aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK 0x91 375aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x91 376aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0 0x1f 377aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1 0x1f 378aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2 0x1f 379aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3 0x1f 380aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x1f 381aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x1f 382aa1a8ff2SEmmanuel Vadot 383aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_RXFS__ENET1_1588_EVENT0_IN 0x1f 384aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x19 385aa1a8ff2SEmmanuel Vadot >; 386aa1a8ff2SEmmanuel Vadot }; 387aa1a8ff2SEmmanuel Vadot 388aa1a8ff2SEmmanuel Vadot pinctrl_fec: fecgrp { 389aa1a8ff2SEmmanuel Vadot fsl,pins = < 390aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC 0x3 391aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO 0x3 392aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0 0x91 393aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1 0x91 394aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2 0x91 395aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3 0x91 396aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC 0x91 397aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL 0x91 398aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0 0x1f 399aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1 0x1f 400aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2 0x1f 401aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3 0x1f 402aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL 0x1f 403aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC 0x1f 404aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_RXD0__ENET1_1588_EVENT1_IN 0x1f 405aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXD7__GPIO4_IO19 0x19 406aa1a8ff2SEmmanuel Vadot >; 407aa1a8ff2SEmmanuel Vadot }; 408aa1a8ff2SEmmanuel Vadot 409aa1a8ff2SEmmanuel Vadot pinctrl_flexcan1: flexcan1grp { 410aa1a8ff2SEmmanuel Vadot fsl,pins = < 411aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI5_RXD2__CAN1_RX 0x154 412aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI5_RXD1__CAN1_TX 0x154 413aa1a8ff2SEmmanuel Vadot >; 414aa1a8ff2SEmmanuel Vadot }; 415aa1a8ff2SEmmanuel Vadot 416aa1a8ff2SEmmanuel Vadot pinctrl_flexcan2: flexcan2grp { 417aa1a8ff2SEmmanuel Vadot fsl,pins = < 418aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX 0x154 419aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX 0x154 420aa1a8ff2SEmmanuel Vadot >; 421aa1a8ff2SEmmanuel Vadot }; 422aa1a8ff2SEmmanuel Vadot 423aa1a8ff2SEmmanuel Vadot pinctrl_flexspi0: flexspi0grp { 424aa1a8ff2SEmmanuel Vadot fsl,pins = < 425aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_NAND_ALE__FLEXSPI_A_SCLK 0x1c2 426aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_NAND_CE0_B__FLEXSPI_A_SS0_B 0x82 427aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_NAND_DATA00__FLEXSPI_A_DATA00 0x82 428aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_NAND_DATA01__FLEXSPI_A_DATA01 0x82 429aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_NAND_DATA02__FLEXSPI_A_DATA02 0x82 430aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_NAND_DATA03__FLEXSPI_A_DATA03 0x82 431aa1a8ff2SEmmanuel Vadot >; 432aa1a8ff2SEmmanuel Vadot }; 433aa1a8ff2SEmmanuel Vadot 434aa1a8ff2SEmmanuel Vadot pinctrl_i2c1: i2c1grp { 435aa1a8ff2SEmmanuel Vadot fsl,pins = < 436aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL 0x400001c2 437aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA 0x400001c2 438aa1a8ff2SEmmanuel Vadot >; 439aa1a8ff2SEmmanuel Vadot }; 440aa1a8ff2SEmmanuel Vadot 441aa1a8ff2SEmmanuel Vadot pinctrl_i2c4: i2c4grp { 442aa1a8ff2SEmmanuel Vadot fsl,pins = < 443aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x400001c3 444aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA 0x400001c3 445aa1a8ff2SEmmanuel Vadot >; 446aa1a8ff2SEmmanuel Vadot }; 447aa1a8ff2SEmmanuel Vadot 448aa1a8ff2SEmmanuel Vadot pinctrl_rtc: rtcgrp { 449aa1a8ff2SEmmanuel Vadot fsl,pins = < 450aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_RXD1__GPIO4_IO03 0x140 451aa1a8ff2SEmmanuel Vadot >; 452aa1a8ff2SEmmanuel Vadot }; 453aa1a8ff2SEmmanuel Vadot 454aa1a8ff2SEmmanuel Vadot pinctrl_pmic: pmicgrp { 455aa1a8ff2SEmmanuel Vadot fsl,pins = < 456aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03 0x41 457aa1a8ff2SEmmanuel Vadot >; 458aa1a8ff2SEmmanuel Vadot }; 459aa1a8ff2SEmmanuel Vadot 460*8d13bc63SEmmanuel Vadot pinctrl_reg_csi2_1v8: regcsi21v8grp { 461*8d13bc63SEmmanuel Vadot fsl,pins = < 462*8d13bc63SEmmanuel Vadot MX8MP_IOMUXC_SAI5_RXD0__GPIO3_IO21 0x19 463*8d13bc63SEmmanuel Vadot >; 464*8d13bc63SEmmanuel Vadot }; 465*8d13bc63SEmmanuel Vadot 466*8d13bc63SEmmanuel Vadot pinctrl_reg_csi2_3v3: regcsi23v3grp { 467*8d13bc63SEmmanuel Vadot fsl,pins = < 468*8d13bc63SEmmanuel Vadot MX8MP_IOMUXC_SAI2_TXC__GPIO4_IO25 0x19 469*8d13bc63SEmmanuel Vadot >; 470*8d13bc63SEmmanuel Vadot }; 471*8d13bc63SEmmanuel Vadot 472aa1a8ff2SEmmanuel Vadot pinctrl_uart2: uart2grp { 473aa1a8ff2SEmmanuel Vadot fsl,pins = < 474aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x14f 475aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x14f 476aa1a8ff2SEmmanuel Vadot >; 477aa1a8ff2SEmmanuel Vadot }; 478aa1a8ff2SEmmanuel Vadot 479aa1a8ff2SEmmanuel Vadot pinctrl_uart3: uart3grp { 480aa1a8ff2SEmmanuel Vadot fsl,pins = < 481aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_UART3_RXD__UART3_DCE_RX 0x49 482aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_UART3_TXD__UART3_DCE_TX 0x49 483aa1a8ff2SEmmanuel Vadot >; 484aa1a8ff2SEmmanuel Vadot }; 485aa1a8ff2SEmmanuel Vadot 486aa1a8ff2SEmmanuel Vadot pinctrl_uart4: uart4grp { 487aa1a8ff2SEmmanuel Vadot fsl,pins = < 488aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX 0x49 489aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX 0x49 490aa1a8ff2SEmmanuel Vadot >; 491aa1a8ff2SEmmanuel Vadot }; 492aa1a8ff2SEmmanuel Vadot 493aa1a8ff2SEmmanuel Vadot pinctrl_usdhc2: usdhc2grp { 494aa1a8ff2SEmmanuel Vadot fsl,pins = < 495aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190 496aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d0 497aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d0 498aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0 499aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d0 500aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d0 501aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1 502aa1a8ff2SEmmanuel Vadot >; 503aa1a8ff2SEmmanuel Vadot }; 504aa1a8ff2SEmmanuel Vadot 505aa1a8ff2SEmmanuel Vadot pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 506aa1a8ff2SEmmanuel Vadot fsl,pins = < 507aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194 508aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4 509aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4 510aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4 511aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4 512aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4 513aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1 514aa1a8ff2SEmmanuel Vadot >; 515aa1a8ff2SEmmanuel Vadot }; 516aa1a8ff2SEmmanuel Vadot 517aa1a8ff2SEmmanuel Vadot pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 518aa1a8ff2SEmmanuel Vadot fsl,pins = < 519aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196 520aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d6 521aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d6 522aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6 523aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d6 524aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d6 525aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1 526aa1a8ff2SEmmanuel Vadot >; 527aa1a8ff2SEmmanuel Vadot }; 528aa1a8ff2SEmmanuel Vadot}; 529