1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Copyright 2013-2014 Freescale Semiconductor, Inc. 4*f126890aSEmmanuel Vadot * Copyright 2018 NXP 5*f126890aSEmmanuel Vadot */ 6*f126890aSEmmanuel Vadot 7*f126890aSEmmanuel Vadot/dts-v1/; 8*f126890aSEmmanuel Vadot#include "ls1021a.dtsi" 9*f126890aSEmmanuel Vadot 10*f126890aSEmmanuel Vadot/ { 11*f126890aSEmmanuel Vadot model = "LS1021A QDS Board"; 12*f126890aSEmmanuel Vadot compatible = "fsl,ls1021a-qds", "fsl,ls1021a"; 13*f126890aSEmmanuel Vadot 14*f126890aSEmmanuel Vadot aliases { 15*f126890aSEmmanuel Vadot enet0_rgmii_phy = &rgmii_phy1; 16*f126890aSEmmanuel Vadot enet1_rgmii_phy = &rgmii_phy2; 17*f126890aSEmmanuel Vadot enet2_rgmii_phy = &rgmii_phy3; 18*f126890aSEmmanuel Vadot enet0_sgmii_phy = &sgmii_phy1c; 19*f126890aSEmmanuel Vadot enet1_sgmii_phy = &sgmii_phy1d; 20*f126890aSEmmanuel Vadot }; 21*f126890aSEmmanuel Vadot 22*f126890aSEmmanuel Vadot sys_mclk: clock-mclk { 23*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 24*f126890aSEmmanuel Vadot #clock-cells = <0>; 25*f126890aSEmmanuel Vadot clock-frequency = <24576000>; 26*f126890aSEmmanuel Vadot }; 27*f126890aSEmmanuel Vadot 28*f126890aSEmmanuel Vadot reg_3p3v: regulator { 29*f126890aSEmmanuel Vadot compatible = "regulator-fixed"; 30*f126890aSEmmanuel Vadot regulator-name = "3P3V"; 31*f126890aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 32*f126890aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 33*f126890aSEmmanuel Vadot regulator-always-on; 34*f126890aSEmmanuel Vadot }; 35*f126890aSEmmanuel Vadot 36*f126890aSEmmanuel Vadot sound { 37*f126890aSEmmanuel Vadot compatible = "simple-audio-card"; 38*f126890aSEmmanuel Vadot simple-audio-card,format = "i2s"; 39*f126890aSEmmanuel Vadot simple-audio-card,widgets = 40*f126890aSEmmanuel Vadot "Microphone", "Microphone Jack", 41*f126890aSEmmanuel Vadot "Headphone", "Headphone Jack", 42*f126890aSEmmanuel Vadot "Speaker", "Speaker Ext", 43*f126890aSEmmanuel Vadot "Line", "Line In Jack"; 44*f126890aSEmmanuel Vadot simple-audio-card,routing = 45*f126890aSEmmanuel Vadot "MIC_IN", "Microphone Jack", 46*f126890aSEmmanuel Vadot "Microphone Jack", "Mic Bias", 47*f126890aSEmmanuel Vadot "LINE_IN", "Line In Jack", 48*f126890aSEmmanuel Vadot "Headphone Jack", "HP_OUT", 49*f126890aSEmmanuel Vadot "Speaker Ext", "LINE_OUT"; 50*f126890aSEmmanuel Vadot 51*f126890aSEmmanuel Vadot simple-audio-card,cpu { 52*f126890aSEmmanuel Vadot sound-dai = <&sai2>; 53*f126890aSEmmanuel Vadot frame-master; 54*f126890aSEmmanuel Vadot bitclock-master; 55*f126890aSEmmanuel Vadot }; 56*f126890aSEmmanuel Vadot 57*f126890aSEmmanuel Vadot simple-audio-card,codec { 58*f126890aSEmmanuel Vadot sound-dai = <&codec>; 59*f126890aSEmmanuel Vadot frame-master; 60*f126890aSEmmanuel Vadot bitclock-master; 61*f126890aSEmmanuel Vadot }; 62*f126890aSEmmanuel Vadot }; 63*f126890aSEmmanuel Vadot}; 64*f126890aSEmmanuel Vadot 65*f126890aSEmmanuel Vadot&dspi0 { 66*f126890aSEmmanuel Vadot bus-num = <0>; 67*f126890aSEmmanuel Vadot status = "okay"; 68*f126890aSEmmanuel Vadot 69*f126890aSEmmanuel Vadot dspiflash: at45db021d@0 { 70*f126890aSEmmanuel Vadot #address-cells = <1>; 71*f126890aSEmmanuel Vadot #size-cells = <1>; 72*f126890aSEmmanuel Vadot compatible = "atmel,at45db021d", "atmel,at45", "atmel,dataflash"; 73*f126890aSEmmanuel Vadot spi-max-frequency = <16000000>; 74*f126890aSEmmanuel Vadot spi-cpol; 75*f126890aSEmmanuel Vadot spi-cpha; 76*f126890aSEmmanuel Vadot reg = <0>; 77*f126890aSEmmanuel Vadot }; 78*f126890aSEmmanuel Vadot}; 79*f126890aSEmmanuel Vadot 80*f126890aSEmmanuel Vadot&enet0 { 81*f126890aSEmmanuel Vadot tbi-handle = <&tbi0>; 82*f126890aSEmmanuel Vadot phy-handle = <&sgmii_phy1c>; 83*f126890aSEmmanuel Vadot phy-connection-type = "sgmii"; 84*f126890aSEmmanuel Vadot status = "okay"; 85*f126890aSEmmanuel Vadot}; 86*f126890aSEmmanuel Vadot 87*f126890aSEmmanuel Vadot&enet1 { 88*f126890aSEmmanuel Vadot tbi-handle = <&tbi0>; 89*f126890aSEmmanuel Vadot phy-handle = <&sgmii_phy1d>; 90*f126890aSEmmanuel Vadot phy-connection-type = "sgmii"; 91*f126890aSEmmanuel Vadot status = "okay"; 92*f126890aSEmmanuel Vadot}; 93*f126890aSEmmanuel Vadot 94*f126890aSEmmanuel Vadot&enet2 { 95*f126890aSEmmanuel Vadot phy-handle = <&rgmii_phy3>; 96*f126890aSEmmanuel Vadot phy-connection-type = "rgmii-id"; 97*f126890aSEmmanuel Vadot status = "okay"; 98*f126890aSEmmanuel Vadot}; 99*f126890aSEmmanuel Vadot 100*f126890aSEmmanuel Vadot&esdhc { 101*f126890aSEmmanuel Vadot status = "okay"; 102*f126890aSEmmanuel Vadot}; 103*f126890aSEmmanuel Vadot 104*f126890aSEmmanuel Vadot&i2c0 { 105*f126890aSEmmanuel Vadot status = "okay"; 106*f126890aSEmmanuel Vadot 107*f126890aSEmmanuel Vadot pca9547: mux@77 { 108*f126890aSEmmanuel Vadot compatible = "nxp,pca9547"; 109*f126890aSEmmanuel Vadot reg = <0x77>; 110*f126890aSEmmanuel Vadot #address-cells = <1>; 111*f126890aSEmmanuel Vadot #size-cells = <0>; 112*f126890aSEmmanuel Vadot 113*f126890aSEmmanuel Vadot i2c@0 { 114*f126890aSEmmanuel Vadot #address-cells = <1>; 115*f126890aSEmmanuel Vadot #size-cells = <0>; 116*f126890aSEmmanuel Vadot reg = <0x0>; 117*f126890aSEmmanuel Vadot 118*f126890aSEmmanuel Vadot ds3232: rtc@68 { 119*f126890aSEmmanuel Vadot compatible = "dallas,ds3232"; 120*f126890aSEmmanuel Vadot reg = <0x68>; 121*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; 122*f126890aSEmmanuel Vadot }; 123*f126890aSEmmanuel Vadot }; 124*f126890aSEmmanuel Vadot 125*f126890aSEmmanuel Vadot i2c@2 { 126*f126890aSEmmanuel Vadot #address-cells = <1>; 127*f126890aSEmmanuel Vadot #size-cells = <0>; 128*f126890aSEmmanuel Vadot reg = <0x2>; 129*f126890aSEmmanuel Vadot 130*f126890aSEmmanuel Vadot ina220@40 { 131*f126890aSEmmanuel Vadot compatible = "ti,ina220"; 132*f126890aSEmmanuel Vadot reg = <0x40>; 133*f126890aSEmmanuel Vadot shunt-resistor = <1000>; 134*f126890aSEmmanuel Vadot }; 135*f126890aSEmmanuel Vadot 136*f126890aSEmmanuel Vadot ina220@41 { 137*f126890aSEmmanuel Vadot compatible = "ti,ina220"; 138*f126890aSEmmanuel Vadot reg = <0x41>; 139*f126890aSEmmanuel Vadot shunt-resistor = <1000>; 140*f126890aSEmmanuel Vadot }; 141*f126890aSEmmanuel Vadot }; 142*f126890aSEmmanuel Vadot 143*f126890aSEmmanuel Vadot i2c@3 { 144*f126890aSEmmanuel Vadot #address-cells = <1>; 145*f126890aSEmmanuel Vadot #size-cells = <0>; 146*f126890aSEmmanuel Vadot reg = <0x3>; 147*f126890aSEmmanuel Vadot 148*f126890aSEmmanuel Vadot eeprom@56 { 149*f126890aSEmmanuel Vadot compatible = "atmel,24c512"; 150*f126890aSEmmanuel Vadot reg = <0x56>; 151*f126890aSEmmanuel Vadot }; 152*f126890aSEmmanuel Vadot 153*f126890aSEmmanuel Vadot eeprom@57 { 154*f126890aSEmmanuel Vadot compatible = "atmel,24c512"; 155*f126890aSEmmanuel Vadot reg = <0x57>; 156*f126890aSEmmanuel Vadot }; 157*f126890aSEmmanuel Vadot 158*f126890aSEmmanuel Vadot adt7461a@4c { 159*f126890aSEmmanuel Vadot compatible = "adi,adt7461a"; 160*f126890aSEmmanuel Vadot reg = <0x4c>; 161*f126890aSEmmanuel Vadot }; 162*f126890aSEmmanuel Vadot }; 163*f126890aSEmmanuel Vadot 164*f126890aSEmmanuel Vadot i2c@4 { 165*f126890aSEmmanuel Vadot #address-cells = <1>; 166*f126890aSEmmanuel Vadot #size-cells = <0>; 167*f126890aSEmmanuel Vadot reg = <0x4>; 168*f126890aSEmmanuel Vadot 169*f126890aSEmmanuel Vadot codec: sgtl5000@2a { 170*f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 171*f126890aSEmmanuel Vadot compatible = "fsl,sgtl5000"; 172*f126890aSEmmanuel Vadot reg = <0x2a>; 173*f126890aSEmmanuel Vadot VDDA-supply = <®_3p3v>; 174*f126890aSEmmanuel Vadot VDDIO-supply = <®_3p3v>; 175*f126890aSEmmanuel Vadot clocks = <&sys_mclk>; 176*f126890aSEmmanuel Vadot }; 177*f126890aSEmmanuel Vadot }; 178*f126890aSEmmanuel Vadot }; 179*f126890aSEmmanuel Vadot}; 180*f126890aSEmmanuel Vadot 181*f126890aSEmmanuel Vadot&ifc { 182*f126890aSEmmanuel Vadot #address-cells = <2>; 183*f126890aSEmmanuel Vadot #size-cells = <1>; 184*f126890aSEmmanuel Vadot /* NOR, NAND Flashes and FPGA on board */ 185*f126890aSEmmanuel Vadot ranges = <0x0 0x0 0x0 0x60000000 0x08000000>, 186*f126890aSEmmanuel Vadot <0x2 0x0 0x0 0x7e800000 0x00010000>, 187*f126890aSEmmanuel Vadot <0x3 0x0 0x0 0x7fb00000 0x00000100>; 188*f126890aSEmmanuel Vadot status = "okay"; 189*f126890aSEmmanuel Vadot 190*f126890aSEmmanuel Vadot nor@0,0 { 191*f126890aSEmmanuel Vadot #address-cells = <1>; 192*f126890aSEmmanuel Vadot #size-cells = <1>; 193*f126890aSEmmanuel Vadot compatible = "cfi-flash"; 194*f126890aSEmmanuel Vadot reg = <0x0 0x0 0x8000000>; 195*f126890aSEmmanuel Vadot big-endian; 196*f126890aSEmmanuel Vadot bank-width = <2>; 197*f126890aSEmmanuel Vadot device-width = <1>; 198*f126890aSEmmanuel Vadot }; 199*f126890aSEmmanuel Vadot 200*f126890aSEmmanuel Vadot nand@2,0 { 201*f126890aSEmmanuel Vadot compatible = "fsl,ifc-nand"; 202*f126890aSEmmanuel Vadot reg = <0x2 0x0 0x10000>; 203*f126890aSEmmanuel Vadot }; 204*f126890aSEmmanuel Vadot 205*f126890aSEmmanuel Vadot fpga: board-control@3,0 { 206*f126890aSEmmanuel Vadot #address-cells = <1>; 207*f126890aSEmmanuel Vadot #size-cells = <1>; 208*f126890aSEmmanuel Vadot compatible = "simple-mfd"; 209*f126890aSEmmanuel Vadot reg = <0x3 0x0 0x0000100>; 210*f126890aSEmmanuel Vadot bank-width = <1>; 211*f126890aSEmmanuel Vadot device-width = <1>; 212*f126890aSEmmanuel Vadot ranges = <0 3 0 0x100>; 213*f126890aSEmmanuel Vadot 214*f126890aSEmmanuel Vadot mdio-mux-emi1 { 215*f126890aSEmmanuel Vadot compatible = "mdio-mux-mmioreg"; 216*f126890aSEmmanuel Vadot mdio-parent-bus = <&mdio0>; 217*f126890aSEmmanuel Vadot #address-cells = <1>; 218*f126890aSEmmanuel Vadot #size-cells = <0>; 219*f126890aSEmmanuel Vadot reg = <0x54 1>; /* BRDCFG4 */ 220*f126890aSEmmanuel Vadot mux-mask = <0xe0>; /* EMI1[2:0] */ 221*f126890aSEmmanuel Vadot 222*f126890aSEmmanuel Vadot /* Onboard PHYs */ 223*f126890aSEmmanuel Vadot ls1021amdio0: mdio@0 { 224*f126890aSEmmanuel Vadot reg = <0>; 225*f126890aSEmmanuel Vadot #address-cells = <1>; 226*f126890aSEmmanuel Vadot #size-cells = <0>; 227*f126890aSEmmanuel Vadot rgmii_phy1: ethernet-phy@1 { 228*f126890aSEmmanuel Vadot reg = <0x1>; 229*f126890aSEmmanuel Vadot }; 230*f126890aSEmmanuel Vadot }; 231*f126890aSEmmanuel Vadot 232*f126890aSEmmanuel Vadot ls1021amdio1: mdio@20 { 233*f126890aSEmmanuel Vadot reg = <0x20>; 234*f126890aSEmmanuel Vadot #address-cells = <1>; 235*f126890aSEmmanuel Vadot #size-cells = <0>; 236*f126890aSEmmanuel Vadot rgmii_phy2: ethernet-phy@2 { 237*f126890aSEmmanuel Vadot reg = <0x2>; 238*f126890aSEmmanuel Vadot }; 239*f126890aSEmmanuel Vadot }; 240*f126890aSEmmanuel Vadot 241*f126890aSEmmanuel Vadot ls1021amdio2: mdio@40 { 242*f126890aSEmmanuel Vadot reg = <0x40>; 243*f126890aSEmmanuel Vadot #address-cells = <1>; 244*f126890aSEmmanuel Vadot #size-cells = <0>; 245*f126890aSEmmanuel Vadot rgmii_phy3: ethernet-phy@3 { 246*f126890aSEmmanuel Vadot reg = <0x3>; 247*f126890aSEmmanuel Vadot }; 248*f126890aSEmmanuel Vadot }; 249*f126890aSEmmanuel Vadot 250*f126890aSEmmanuel Vadot ls1021amdio3: mdio@60 { 251*f126890aSEmmanuel Vadot reg = <0x60>; 252*f126890aSEmmanuel Vadot #address-cells = <1>; 253*f126890aSEmmanuel Vadot #size-cells = <0>; 254*f126890aSEmmanuel Vadot sgmii_phy1c: ethernet-phy@1c { 255*f126890aSEmmanuel Vadot reg = <0x1c>; 256*f126890aSEmmanuel Vadot }; 257*f126890aSEmmanuel Vadot }; 258*f126890aSEmmanuel Vadot 259*f126890aSEmmanuel Vadot ls1021amdio4: mdio@80 { 260*f126890aSEmmanuel Vadot reg = <0x80>; 261*f126890aSEmmanuel Vadot #address-cells = <1>; 262*f126890aSEmmanuel Vadot #size-cells = <0>; 263*f126890aSEmmanuel Vadot sgmii_phy1d: ethernet-phy@1d { 264*f126890aSEmmanuel Vadot reg = <0x1d>; 265*f126890aSEmmanuel Vadot }; 266*f126890aSEmmanuel Vadot }; 267*f126890aSEmmanuel Vadot }; 268*f126890aSEmmanuel Vadot }; 269*f126890aSEmmanuel Vadot}; 270*f126890aSEmmanuel Vadot 271*f126890aSEmmanuel Vadot&lpuart0 { 272*f126890aSEmmanuel Vadot status = "okay"; 273*f126890aSEmmanuel Vadot}; 274*f126890aSEmmanuel Vadot 275*f126890aSEmmanuel Vadot&mdio0 { 276*f126890aSEmmanuel Vadot tbi0: tbi-phy@8 { 277*f126890aSEmmanuel Vadot reg = <0x8>; 278*f126890aSEmmanuel Vadot device_type = "tbi-phy"; 279*f126890aSEmmanuel Vadot }; 280*f126890aSEmmanuel Vadot}; 281*f126890aSEmmanuel Vadot 282*f126890aSEmmanuel Vadot&qspi { 283*f126890aSEmmanuel Vadot status = "okay"; 284*f126890aSEmmanuel Vadot 285*f126890aSEmmanuel Vadot flash@0 { 286*f126890aSEmmanuel Vadot compatible = "jedec,spi-nor"; 287*f126890aSEmmanuel Vadot #address-cells = <1>; 288*f126890aSEmmanuel Vadot #size-cells = <1>; 289*f126890aSEmmanuel Vadot spi-max-frequency = <20000000>; 290*f126890aSEmmanuel Vadot reg = <0>; 291*f126890aSEmmanuel Vadot spi-rx-bus-width = <4>; 292*f126890aSEmmanuel Vadot spi-tx-bus-width = <4>; 293*f126890aSEmmanuel Vadot }; 294*f126890aSEmmanuel Vadot}; 295*f126890aSEmmanuel Vadot 296*f126890aSEmmanuel Vadot&sai2 { 297*f126890aSEmmanuel Vadot status = "okay"; 298*f126890aSEmmanuel Vadot}; 299*f126890aSEmmanuel Vadot 300*f126890aSEmmanuel Vadot&sata { 301*f126890aSEmmanuel Vadot status = "okay"; 302*f126890aSEmmanuel Vadot}; 303*f126890aSEmmanuel Vadot 304*f126890aSEmmanuel Vadot&uart0 { 305*f126890aSEmmanuel Vadot status = "okay"; 306*f126890aSEmmanuel Vadot}; 307*f126890aSEmmanuel Vadot 308*f126890aSEmmanuel Vadot&uart1 { 309*f126890aSEmmanuel Vadot status = "okay"; 310*f126890aSEmmanuel Vadot}; 311*f126890aSEmmanuel Vadot 312*f126890aSEmmanuel Vadot&can0 { 313*f126890aSEmmanuel Vadot status = "okay"; 314*f126890aSEmmanuel Vadot}; 315*f126890aSEmmanuel Vadot 316*f126890aSEmmanuel Vadot&can1 { 317*f126890aSEmmanuel Vadot status = "okay"; 318*f126890aSEmmanuel Vadot}; 319*f126890aSEmmanuel Vadot 320*f126890aSEmmanuel Vadot&can2 { 321*f126890aSEmmanuel Vadot status = "disabled"; 322*f126890aSEmmanuel Vadot}; 323*f126890aSEmmanuel Vadot 324*f126890aSEmmanuel Vadot&can3 { 325*f126890aSEmmanuel Vadot status = "disabled"; 326*f126890aSEmmanuel Vadot}; 327