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-handle = <ðphy0>; 148aa1a8ff2SEmmanuel Vadot phy-mode = "rgmii-id"; 149aa1a8ff2SEmmanuel Vadot status = "okay"; 150aa1a8ff2SEmmanuel Vadot 151aa1a8ff2SEmmanuel Vadot mdio { 152aa1a8ff2SEmmanuel Vadot compatible = "snps,dwmac-mdio"; 153aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 154aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 155aa1a8ff2SEmmanuel Vadot 156aa1a8ff2SEmmanuel Vadot ethphy0: ethernet-phy@1 { 157aa1a8ff2SEmmanuel Vadot compatible = "ethernet-phy-ieee802.3-c22"; 158aa1a8ff2SEmmanuel Vadot reg = <1>; 159aa1a8ff2SEmmanuel Vadot reset-gpios = <&gpio4 18 GPIO_ACTIVE_LOW>; 160aa1a8ff2SEmmanuel Vadot reset-assert-us = <20000>; 161aa1a8ff2SEmmanuel Vadot reset-deassert-us = <150000>; 162aa1a8ff2SEmmanuel Vadot eee-broken-1000t; 163aa1a8ff2SEmmanuel Vadot realtek,clkout-disable; 164aa1a8ff2SEmmanuel Vadot }; 165aa1a8ff2SEmmanuel Vadot }; 166aa1a8ff2SEmmanuel Vadot}; 167aa1a8ff2SEmmanuel Vadot 168aa1a8ff2SEmmanuel Vadot&fec { 169aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 170aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_fec>; 171aa1a8ff2SEmmanuel Vadot nvmem-cells = <ðmac2>; 172aa1a8ff2SEmmanuel Vadot nvmem-cell-names = "mac-address"; 173aa1a8ff2SEmmanuel Vadot phy-supply = <®_baseboard_vdd3v3>; 174aa1a8ff2SEmmanuel Vadot phy-handle = <ðphy1>; 175aa1a8ff2SEmmanuel Vadot phy-mode = "rgmii-id"; 176aa1a8ff2SEmmanuel Vadot fsl,magic-packet; 177aa1a8ff2SEmmanuel Vadot status = "okay"; 178aa1a8ff2SEmmanuel Vadot 179aa1a8ff2SEmmanuel Vadot mdio { 180aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 181aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 182aa1a8ff2SEmmanuel Vadot 183aa1a8ff2SEmmanuel Vadot ethphy1: ethernet-phy@1 { 184aa1a8ff2SEmmanuel Vadot compatible = "ethernet-phy-ieee802.3-c22"; 185aa1a8ff2SEmmanuel Vadot reg = <1>; 186aa1a8ff2SEmmanuel Vadot reset-gpios = <&gpio4 19 GPIO_ACTIVE_LOW>; 187aa1a8ff2SEmmanuel Vadot reset-assert-us = <20000>; 188aa1a8ff2SEmmanuel Vadot reset-deassert-us = <150000>; 189aa1a8ff2SEmmanuel Vadot eee-broken-1000t; 190aa1a8ff2SEmmanuel Vadot realtek,clkout-disable; 191aa1a8ff2SEmmanuel Vadot }; 192aa1a8ff2SEmmanuel Vadot }; 193aa1a8ff2SEmmanuel Vadot}; 194aa1a8ff2SEmmanuel Vadot 195aa1a8ff2SEmmanuel Vadot&flexcan1 { 196aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 197aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_flexcan1>; 198aa1a8ff2SEmmanuel Vadot xceiver-supply = <®_vdd5v0>; 199aa1a8ff2SEmmanuel Vadot status = "okay"; 200aa1a8ff2SEmmanuel Vadot}; 201aa1a8ff2SEmmanuel Vadot 202aa1a8ff2SEmmanuel Vadot&flexcan2 { 203aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 204aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_flexcan2>; 205aa1a8ff2SEmmanuel Vadot xceiver-supply = <®_vdd5v0>; 206aa1a8ff2SEmmanuel Vadot status = "okay"; 207aa1a8ff2SEmmanuel Vadot}; 208aa1a8ff2SEmmanuel Vadot 209aa1a8ff2SEmmanuel Vadot&flexspi { 210aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 211aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_flexspi0>; 212aa1a8ff2SEmmanuel Vadot status = "okay"; 213aa1a8ff2SEmmanuel Vadot 214aa1a8ff2SEmmanuel Vadot flash: flash@0 { 215aa1a8ff2SEmmanuel Vadot compatible = "jedec,spi-nor"; 216aa1a8ff2SEmmanuel Vadot reg = <0>; 217aa1a8ff2SEmmanuel Vadot spi-max-frequency = <80000000>; 218aa1a8ff2SEmmanuel Vadot spi-tx-bus-width = <1>; 219aa1a8ff2SEmmanuel Vadot spi-rx-bus-width = <4>; 220aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 221aa1a8ff2SEmmanuel Vadot #size-cells = <1>; 222aa1a8ff2SEmmanuel Vadot }; 223aa1a8ff2SEmmanuel Vadot}; 224aa1a8ff2SEmmanuel Vadot 225aa1a8ff2SEmmanuel Vadot&i2c4 { 226aa1a8ff2SEmmanuel Vadot expander0: gpio@20 { 227aa1a8ff2SEmmanuel Vadot compatible = "nxp,pca9535"; 228aa1a8ff2SEmmanuel Vadot reg = <0x20>; 229aa1a8ff2SEmmanuel Vadot gpio-controller; 230aa1a8ff2SEmmanuel Vadot #gpio-cells = <0x02>; 231aa1a8ff2SEmmanuel Vadot }; 232aa1a8ff2SEmmanuel Vadot 233aa1a8ff2SEmmanuel Vadot expander1: gpio@23 { 234aa1a8ff2SEmmanuel Vadot compatible = "nxp,pca9535"; 235aa1a8ff2SEmmanuel Vadot reg = <0x23>; 236aa1a8ff2SEmmanuel Vadot gpio-controller; 237aa1a8ff2SEmmanuel Vadot #gpio-cells = <0x02>; 238aa1a8ff2SEmmanuel Vadot 239aa1a8ff2SEmmanuel Vadot /* 240aa1a8ff2SEmmanuel Vadot * Since USB1 is bound to peripheral mode we need to ensure 241aa1a8ff2SEmmanuel Vadot * that VBUS is turned off. 242aa1a8ff2SEmmanuel Vadot */ 243aa1a8ff2SEmmanuel Vadot usb30-otg-hog { 244aa1a8ff2SEmmanuel Vadot gpio-hog; 245aa1a8ff2SEmmanuel Vadot gpios = <13 GPIO_ACTIVE_HIGH>; 246aa1a8ff2SEmmanuel Vadot output-low; 247aa1a8ff2SEmmanuel Vadot line-name = "USB30_OTG_EN"; 248aa1a8ff2SEmmanuel Vadot }; 249aa1a8ff2SEmmanuel Vadot }; 250aa1a8ff2SEmmanuel Vadot 251aa1a8ff2SEmmanuel Vadot rtc@51 { 252aa1a8ff2SEmmanuel Vadot compatible = "haoyu,hym8563"; 253aa1a8ff2SEmmanuel Vadot reg = <0x51>; 254aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 255aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_rtc>; 256aa1a8ff2SEmmanuel Vadot interrupt-parent = <&gpio4>; 257aa1a8ff2SEmmanuel Vadot interrupts = <3 IRQ_TYPE_EDGE_FALLING>; 258aa1a8ff2SEmmanuel Vadot #clock-cells = <0>; 259aa1a8ff2SEmmanuel Vadot }; 260aa1a8ff2SEmmanuel Vadot 261aa1a8ff2SEmmanuel Vadot eeprom@52 { 262aa1a8ff2SEmmanuel Vadot compatible = "atmel,24c02"; 263aa1a8ff2SEmmanuel Vadot reg = <0x52>; 264aa1a8ff2SEmmanuel Vadot pagesize = <16>; 265aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 26684943d6fSEmmanuel Vadot #size-cells = <1>; 267aa1a8ff2SEmmanuel Vadot 268aa1a8ff2SEmmanuel Vadot /* MACs stored in ASCII */ 269aa1a8ff2SEmmanuel Vadot ethmac1: mac-address@0 { 270aa1a8ff2SEmmanuel Vadot reg = <0x0 0xc>; 271aa1a8ff2SEmmanuel Vadot }; 272aa1a8ff2SEmmanuel Vadot 273aa1a8ff2SEmmanuel Vadot ethmac2: mac-address@c { 274aa1a8ff2SEmmanuel Vadot reg = <0xc 0xc>; 275aa1a8ff2SEmmanuel Vadot }; 276aa1a8ff2SEmmanuel Vadot }; 277aa1a8ff2SEmmanuel Vadot}; 278aa1a8ff2SEmmanuel Vadot 279aa1a8ff2SEmmanuel Vadot&snvs_pwrkey { 280aa1a8ff2SEmmanuel Vadot status = "okay"; 281aa1a8ff2SEmmanuel Vadot}; 282aa1a8ff2SEmmanuel Vadot 283aa1a8ff2SEmmanuel Vadot/* Debug */ 284aa1a8ff2SEmmanuel Vadot&uart2 { 285aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 286aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_uart2>; 287aa1a8ff2SEmmanuel Vadot status = "okay"; 288aa1a8ff2SEmmanuel Vadot}; 289aa1a8ff2SEmmanuel Vadot 290aa1a8ff2SEmmanuel Vadot&uart3 { 291aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 292aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_uart3>; 293aa1a8ff2SEmmanuel Vadot status = "okay"; 294aa1a8ff2SEmmanuel Vadot}; 295aa1a8ff2SEmmanuel Vadot 296aa1a8ff2SEmmanuel Vadot&uart4 { 297aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 298aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_uart4>; 299aa1a8ff2SEmmanuel Vadot status = "okay"; 300aa1a8ff2SEmmanuel Vadot}; 301aa1a8ff2SEmmanuel Vadot 302aa1a8ff2SEmmanuel Vadot&usb3_0 { 303aa1a8ff2SEmmanuel Vadot status = "okay"; 304aa1a8ff2SEmmanuel Vadot}; 305aa1a8ff2SEmmanuel Vadot 306aa1a8ff2SEmmanuel Vadot&usb3_1 { 307aa1a8ff2SEmmanuel Vadot status = "okay"; 308aa1a8ff2SEmmanuel Vadot}; 309aa1a8ff2SEmmanuel Vadot 310aa1a8ff2SEmmanuel Vadot&usb_dwc3_0 { 311aa1a8ff2SEmmanuel Vadot dr_mode = "peripheral"; 312aa1a8ff2SEmmanuel Vadot status = "okay"; 313aa1a8ff2SEmmanuel Vadot}; 314aa1a8ff2SEmmanuel Vadot 315aa1a8ff2SEmmanuel Vadot&usb_dwc3_1 { 316aa1a8ff2SEmmanuel Vadot dr_mode = "host"; 317aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 318aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 319aa1a8ff2SEmmanuel Vadot status = "okay"; 320aa1a8ff2SEmmanuel Vadot 321aa1a8ff2SEmmanuel Vadot /* 2.x hub on port 1 */ 322aa1a8ff2SEmmanuel Vadot usb_hub_2_x: hub@1 { 323aa1a8ff2SEmmanuel Vadot compatible = "usb5e3,610"; 324aa1a8ff2SEmmanuel Vadot reg = <1>; 325aa1a8ff2SEmmanuel Vadot reset-gpios = <&expander1 9 GPIO_ACTIVE_LOW>; 326aa1a8ff2SEmmanuel Vadot vdd-supply = <®_vdd5v0>; 327aa1a8ff2SEmmanuel Vadot peer-hub = <&usb_hub_3_x>; 328aa1a8ff2SEmmanuel Vadot }; 329aa1a8ff2SEmmanuel Vadot 330aa1a8ff2SEmmanuel Vadot /* 3.x hub on port 2 */ 331aa1a8ff2SEmmanuel Vadot usb_hub_3_x: hub@2 { 332aa1a8ff2SEmmanuel Vadot compatible = "usb5e3,620"; 333aa1a8ff2SEmmanuel Vadot reg = <2>; 334aa1a8ff2SEmmanuel Vadot reset-gpios = <&expander1 9 GPIO_ACTIVE_LOW>; 335aa1a8ff2SEmmanuel Vadot vdd-supply = <®_vdd5v0>; 336aa1a8ff2SEmmanuel Vadot peer-hub = <&usb_hub_2_x>; 337aa1a8ff2SEmmanuel Vadot }; 338aa1a8ff2SEmmanuel Vadot}; 339aa1a8ff2SEmmanuel Vadot 340aa1a8ff2SEmmanuel Vadot&usb3_phy0 { 341aa1a8ff2SEmmanuel Vadot status = "okay"; 342aa1a8ff2SEmmanuel Vadot}; 343aa1a8ff2SEmmanuel Vadot 344aa1a8ff2SEmmanuel Vadot&usb3_phy1 { 345aa1a8ff2SEmmanuel Vadot status = "okay"; 346aa1a8ff2SEmmanuel Vadot}; 347aa1a8ff2SEmmanuel Vadot 348aa1a8ff2SEmmanuel Vadot/* µSD Card */ 349aa1a8ff2SEmmanuel Vadot&usdhc2 { 350aa1a8ff2SEmmanuel Vadot pinctrl-names = "default", "state_100mhz", "state_200mhz"; 351aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&pinctrl_usdhc2>; 352aa1a8ff2SEmmanuel Vadot pinctrl-1 = <&pinctrl_usdhc2_100mhz>; 353aa1a8ff2SEmmanuel Vadot pinctrl-2 = <&pinctrl_usdhc2_200mhz>; 354aa1a8ff2SEmmanuel Vadot assigned-clocks = <&clk IMX8MP_CLK_USDHC2>; 355aa1a8ff2SEmmanuel Vadot assigned-clock-rates = <400000000>; 356aa1a8ff2SEmmanuel Vadot vmmc-supply = <®_usdhc2_vmmc>; 357aa1a8ff2SEmmanuel Vadot bus-width = <4>; 358aa1a8ff2SEmmanuel Vadot disable-wp; 359aa1a8ff2SEmmanuel Vadot no-sdio; 360aa1a8ff2SEmmanuel Vadot no-mmc; 361aa1a8ff2SEmmanuel Vadot status = "okay"; 362aa1a8ff2SEmmanuel Vadot}; 363aa1a8ff2SEmmanuel Vadot 364aa1a8ff2SEmmanuel Vadot&iomuxc { 365aa1a8ff2SEmmanuel Vadot pinctrl_eqos: eqosgrp { 366aa1a8ff2SEmmanuel Vadot fsl,pins = < 367aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC 0x3 368aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO 0x3 369aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0 0x91 370aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1 0x91 371aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2 0x91 372aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3 0x91 373aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK 0x91 374aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x91 375aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0 0x1f 376aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1 0x1f 377aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2 0x1f 378aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3 0x1f 379aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x1f 380aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x1f 381aa1a8ff2SEmmanuel Vadot 382aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_RXFS__ENET1_1588_EVENT0_IN 0x1f 383aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x19 384aa1a8ff2SEmmanuel Vadot >; 385aa1a8ff2SEmmanuel Vadot }; 386aa1a8ff2SEmmanuel Vadot 387aa1a8ff2SEmmanuel Vadot pinctrl_fec: fecgrp { 388aa1a8ff2SEmmanuel Vadot fsl,pins = < 389aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC 0x3 390aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO 0x3 391aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0 0x91 392aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1 0x91 393aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2 0x91 394aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3 0x91 395aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC 0x91 396aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL 0x91 397aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0 0x1f 398aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1 0x1f 399aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2 0x1f 400aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3 0x1f 401aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL 0x1f 402aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC 0x1f 403aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_RXD0__ENET1_1588_EVENT1_IN 0x1f 404aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_TXD7__GPIO4_IO19 0x19 405aa1a8ff2SEmmanuel Vadot >; 406aa1a8ff2SEmmanuel Vadot }; 407aa1a8ff2SEmmanuel Vadot 408aa1a8ff2SEmmanuel Vadot pinctrl_flexcan1: flexcan1grp { 409aa1a8ff2SEmmanuel Vadot fsl,pins = < 410aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI5_RXD2__CAN1_RX 0x154 411aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI5_RXD1__CAN1_TX 0x154 412aa1a8ff2SEmmanuel Vadot >; 413aa1a8ff2SEmmanuel Vadot }; 414aa1a8ff2SEmmanuel Vadot 415aa1a8ff2SEmmanuel Vadot pinctrl_flexcan2: flexcan2grp { 416aa1a8ff2SEmmanuel Vadot fsl,pins = < 417aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX 0x154 418aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX 0x154 419aa1a8ff2SEmmanuel Vadot >; 420aa1a8ff2SEmmanuel Vadot }; 421aa1a8ff2SEmmanuel Vadot 422aa1a8ff2SEmmanuel Vadot pinctrl_flexspi0: flexspi0grp { 423aa1a8ff2SEmmanuel Vadot fsl,pins = < 424aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_NAND_ALE__FLEXSPI_A_SCLK 0x1c2 425aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_NAND_CE0_B__FLEXSPI_A_SS0_B 0x82 426aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_NAND_DATA00__FLEXSPI_A_DATA00 0x82 427aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_NAND_DATA01__FLEXSPI_A_DATA01 0x82 428aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_NAND_DATA02__FLEXSPI_A_DATA02 0x82 429aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_NAND_DATA03__FLEXSPI_A_DATA03 0x82 430aa1a8ff2SEmmanuel Vadot >; 431aa1a8ff2SEmmanuel Vadot }; 432aa1a8ff2SEmmanuel Vadot 433aa1a8ff2SEmmanuel Vadot pinctrl_i2c1: i2c1grp { 434aa1a8ff2SEmmanuel Vadot fsl,pins = < 435aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL 0x400001c2 436aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA 0x400001c2 437aa1a8ff2SEmmanuel Vadot >; 438aa1a8ff2SEmmanuel Vadot }; 439aa1a8ff2SEmmanuel Vadot 440aa1a8ff2SEmmanuel Vadot pinctrl_i2c4: i2c4grp { 441aa1a8ff2SEmmanuel Vadot fsl,pins = < 442aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x400001c3 443aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA 0x400001c3 444aa1a8ff2SEmmanuel Vadot >; 445aa1a8ff2SEmmanuel Vadot }; 446aa1a8ff2SEmmanuel Vadot 447aa1a8ff2SEmmanuel Vadot pinctrl_rtc: rtcgrp { 448aa1a8ff2SEmmanuel Vadot fsl,pins = < 449aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SAI1_RXD1__GPIO4_IO03 0x140 450aa1a8ff2SEmmanuel Vadot >; 451aa1a8ff2SEmmanuel Vadot }; 452aa1a8ff2SEmmanuel Vadot 453aa1a8ff2SEmmanuel Vadot pinctrl_pmic: pmicgrp { 454aa1a8ff2SEmmanuel Vadot fsl,pins = < 455aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03 0x41 456aa1a8ff2SEmmanuel Vadot >; 457aa1a8ff2SEmmanuel Vadot }; 458aa1a8ff2SEmmanuel Vadot 459*8d13bc63SEmmanuel Vadot pinctrl_reg_csi2_1v8: regcsi21v8grp { 460*8d13bc63SEmmanuel Vadot fsl,pins = < 461*8d13bc63SEmmanuel Vadot MX8MP_IOMUXC_SAI5_RXD0__GPIO3_IO21 0x19 462*8d13bc63SEmmanuel Vadot >; 463*8d13bc63SEmmanuel Vadot }; 464*8d13bc63SEmmanuel Vadot 465*8d13bc63SEmmanuel Vadot pinctrl_reg_csi2_3v3: regcsi23v3grp { 466*8d13bc63SEmmanuel Vadot fsl,pins = < 467*8d13bc63SEmmanuel Vadot MX8MP_IOMUXC_SAI2_TXC__GPIO4_IO25 0x19 468*8d13bc63SEmmanuel Vadot >; 469*8d13bc63SEmmanuel Vadot }; 470*8d13bc63SEmmanuel Vadot 471aa1a8ff2SEmmanuel Vadot pinctrl_uart2: uart2grp { 472aa1a8ff2SEmmanuel Vadot fsl,pins = < 473aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x14f 474aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x14f 475aa1a8ff2SEmmanuel Vadot >; 476aa1a8ff2SEmmanuel Vadot }; 477aa1a8ff2SEmmanuel Vadot 478aa1a8ff2SEmmanuel Vadot pinctrl_uart3: uart3grp { 479aa1a8ff2SEmmanuel Vadot fsl,pins = < 480aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_UART3_RXD__UART3_DCE_RX 0x49 481aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_UART3_TXD__UART3_DCE_TX 0x49 482aa1a8ff2SEmmanuel Vadot >; 483aa1a8ff2SEmmanuel Vadot }; 484aa1a8ff2SEmmanuel Vadot 485aa1a8ff2SEmmanuel Vadot pinctrl_uart4: uart4grp { 486aa1a8ff2SEmmanuel Vadot fsl,pins = < 487aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX 0x49 488aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX 0x49 489aa1a8ff2SEmmanuel Vadot >; 490aa1a8ff2SEmmanuel Vadot }; 491aa1a8ff2SEmmanuel Vadot 492aa1a8ff2SEmmanuel Vadot pinctrl_usdhc2: usdhc2grp { 493aa1a8ff2SEmmanuel Vadot fsl,pins = < 494aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190 495aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d0 496aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d0 497aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0 498aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d0 499aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d0 500aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1 501aa1a8ff2SEmmanuel Vadot >; 502aa1a8ff2SEmmanuel Vadot }; 503aa1a8ff2SEmmanuel Vadot 504aa1a8ff2SEmmanuel Vadot pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 505aa1a8ff2SEmmanuel Vadot fsl,pins = < 506aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194 507aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4 508aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4 509aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4 510aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4 511aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4 512aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1 513aa1a8ff2SEmmanuel Vadot >; 514aa1a8ff2SEmmanuel Vadot }; 515aa1a8ff2SEmmanuel Vadot 516aa1a8ff2SEmmanuel Vadot pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 517aa1a8ff2SEmmanuel Vadot fsl,pins = < 518aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196 519aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d6 520aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d6 521aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6 522aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d6 523aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d6 524aa1a8ff2SEmmanuel Vadot MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1 525aa1a8ff2SEmmanuel Vadot >; 526aa1a8ff2SEmmanuel Vadot }; 527aa1a8ff2SEmmanuel Vadot}; 528