1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later 2*c66ec88fSEmmanuel Vadot/* 3*c66ec88fSEmmanuel Vadot * SBC8548 Device Tree Source 4*c66ec88fSEmmanuel Vadot * 5*c66ec88fSEmmanuel Vadot * Copyright 2007 Wind River Systems Inc. 6*c66ec88fSEmmanuel Vadot * 7*c66ec88fSEmmanuel Vadot * Paul Gortmaker (see MAINTAINERS for contact information) 8*c66ec88fSEmmanuel Vadot */ 9*c66ec88fSEmmanuel Vadot 10*c66ec88fSEmmanuel Vadot/{ 11*c66ec88fSEmmanuel Vadot soc8548@e0000000 { 12*c66ec88fSEmmanuel Vadot #address-cells = <1>; 13*c66ec88fSEmmanuel Vadot #size-cells = <1>; 14*c66ec88fSEmmanuel Vadot device_type = "soc"; 15*c66ec88fSEmmanuel Vadot ranges = <0x00000000 0xe0000000 0x00100000>; 16*c66ec88fSEmmanuel Vadot bus-frequency = <0>; 17*c66ec88fSEmmanuel Vadot compatible = "simple-bus"; 18*c66ec88fSEmmanuel Vadot 19*c66ec88fSEmmanuel Vadot ecm-law@0 { 20*c66ec88fSEmmanuel Vadot compatible = "fsl,ecm-law"; 21*c66ec88fSEmmanuel Vadot reg = <0x0 0x1000>; 22*c66ec88fSEmmanuel Vadot fsl,num-laws = <10>; 23*c66ec88fSEmmanuel Vadot }; 24*c66ec88fSEmmanuel Vadot 25*c66ec88fSEmmanuel Vadot ecm@1000 { 26*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8548-ecm", "fsl,ecm"; 27*c66ec88fSEmmanuel Vadot reg = <0x1000 0x1000>; 28*c66ec88fSEmmanuel Vadot interrupts = <17 2>; 29*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 30*c66ec88fSEmmanuel Vadot }; 31*c66ec88fSEmmanuel Vadot 32*c66ec88fSEmmanuel Vadot memory-controller@2000 { 33*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8548-memory-controller"; 34*c66ec88fSEmmanuel Vadot reg = <0x2000 0x1000>; 35*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 36*c66ec88fSEmmanuel Vadot interrupts = <0x12 0x2>; 37*c66ec88fSEmmanuel Vadot }; 38*c66ec88fSEmmanuel Vadot 39*c66ec88fSEmmanuel Vadot L2: l2-cache-controller@20000 { 40*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8548-l2-cache-controller"; 41*c66ec88fSEmmanuel Vadot reg = <0x20000 0x1000>; 42*c66ec88fSEmmanuel Vadot cache-line-size = <0x20>; // 32 bytes 43*c66ec88fSEmmanuel Vadot cache-size = <0x80000>; // L2, 512K 44*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 45*c66ec88fSEmmanuel Vadot interrupts = <0x10 0x2>; 46*c66ec88fSEmmanuel Vadot }; 47*c66ec88fSEmmanuel Vadot 48*c66ec88fSEmmanuel Vadot i2c@3000 { 49*c66ec88fSEmmanuel Vadot #address-cells = <1>; 50*c66ec88fSEmmanuel Vadot #size-cells = <0>; 51*c66ec88fSEmmanuel Vadot cell-index = <0>; 52*c66ec88fSEmmanuel Vadot compatible = "fsl-i2c"; 53*c66ec88fSEmmanuel Vadot reg = <0x3000 0x100>; 54*c66ec88fSEmmanuel Vadot interrupts = <0x2b 0x2>; 55*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 56*c66ec88fSEmmanuel Vadot dfsrr; 57*c66ec88fSEmmanuel Vadot }; 58*c66ec88fSEmmanuel Vadot 59*c66ec88fSEmmanuel Vadot i2c@3100 { 60*c66ec88fSEmmanuel Vadot #address-cells = <1>; 61*c66ec88fSEmmanuel Vadot #size-cells = <0>; 62*c66ec88fSEmmanuel Vadot cell-index = <1>; 63*c66ec88fSEmmanuel Vadot compatible = "fsl-i2c"; 64*c66ec88fSEmmanuel Vadot reg = <0x3100 0x100>; 65*c66ec88fSEmmanuel Vadot interrupts = <0x2b 0x2>; 66*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 67*c66ec88fSEmmanuel Vadot dfsrr; 68*c66ec88fSEmmanuel Vadot }; 69*c66ec88fSEmmanuel Vadot 70*c66ec88fSEmmanuel Vadot dma@21300 { 71*c66ec88fSEmmanuel Vadot #address-cells = <1>; 72*c66ec88fSEmmanuel Vadot #size-cells = <1>; 73*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8548-dma", "fsl,eloplus-dma"; 74*c66ec88fSEmmanuel Vadot reg = <0x21300 0x4>; 75*c66ec88fSEmmanuel Vadot ranges = <0x0 0x21100 0x200>; 76*c66ec88fSEmmanuel Vadot cell-index = <0>; 77*c66ec88fSEmmanuel Vadot dma-channel@0 { 78*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8548-dma-channel", 79*c66ec88fSEmmanuel Vadot "fsl,eloplus-dma-channel"; 80*c66ec88fSEmmanuel Vadot reg = <0x0 0x80>; 81*c66ec88fSEmmanuel Vadot cell-index = <0>; 82*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 83*c66ec88fSEmmanuel Vadot interrupts = <20 2>; 84*c66ec88fSEmmanuel Vadot }; 85*c66ec88fSEmmanuel Vadot dma-channel@80 { 86*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8548-dma-channel", 87*c66ec88fSEmmanuel Vadot "fsl,eloplus-dma-channel"; 88*c66ec88fSEmmanuel Vadot reg = <0x80 0x80>; 89*c66ec88fSEmmanuel Vadot cell-index = <1>; 90*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 91*c66ec88fSEmmanuel Vadot interrupts = <21 2>; 92*c66ec88fSEmmanuel Vadot }; 93*c66ec88fSEmmanuel Vadot dma-channel@100 { 94*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8548-dma-channel", 95*c66ec88fSEmmanuel Vadot "fsl,eloplus-dma-channel"; 96*c66ec88fSEmmanuel Vadot reg = <0x100 0x80>; 97*c66ec88fSEmmanuel Vadot cell-index = <2>; 98*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 99*c66ec88fSEmmanuel Vadot interrupts = <22 2>; 100*c66ec88fSEmmanuel Vadot }; 101*c66ec88fSEmmanuel Vadot dma-channel@180 { 102*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8548-dma-channel", 103*c66ec88fSEmmanuel Vadot "fsl,eloplus-dma-channel"; 104*c66ec88fSEmmanuel Vadot reg = <0x180 0x80>; 105*c66ec88fSEmmanuel Vadot cell-index = <3>; 106*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 107*c66ec88fSEmmanuel Vadot interrupts = <23 2>; 108*c66ec88fSEmmanuel Vadot }; 109*c66ec88fSEmmanuel Vadot }; 110*c66ec88fSEmmanuel Vadot 111*c66ec88fSEmmanuel Vadot enet0: ethernet@24000 { 112*c66ec88fSEmmanuel Vadot #address-cells = <1>; 113*c66ec88fSEmmanuel Vadot #size-cells = <1>; 114*c66ec88fSEmmanuel Vadot cell-index = <0>; 115*c66ec88fSEmmanuel Vadot device_type = "network"; 116*c66ec88fSEmmanuel Vadot model = "eTSEC"; 117*c66ec88fSEmmanuel Vadot compatible = "gianfar"; 118*c66ec88fSEmmanuel Vadot reg = <0x24000 0x1000>; 119*c66ec88fSEmmanuel Vadot ranges = <0x0 0x24000 0x1000>; 120*c66ec88fSEmmanuel Vadot local-mac-address = [ 00 00 00 00 00 00 ]; 121*c66ec88fSEmmanuel Vadot interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>; 122*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 123*c66ec88fSEmmanuel Vadot tbi-handle = <&tbi0>; 124*c66ec88fSEmmanuel Vadot phy-handle = <&phy0>; 125*c66ec88fSEmmanuel Vadot 126*c66ec88fSEmmanuel Vadot mdio@520 { 127*c66ec88fSEmmanuel Vadot #address-cells = <1>; 128*c66ec88fSEmmanuel Vadot #size-cells = <0>; 129*c66ec88fSEmmanuel Vadot compatible = "fsl,gianfar-mdio"; 130*c66ec88fSEmmanuel Vadot reg = <0x520 0x20>; 131*c66ec88fSEmmanuel Vadot 132*c66ec88fSEmmanuel Vadot phy0: ethernet-phy@19 { 133*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 134*c66ec88fSEmmanuel Vadot interrupts = <0x6 0x1>; 135*c66ec88fSEmmanuel Vadot reg = <0x19>; 136*c66ec88fSEmmanuel Vadot }; 137*c66ec88fSEmmanuel Vadot phy1: ethernet-phy@1a { 138*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 139*c66ec88fSEmmanuel Vadot interrupts = <0x7 0x1>; 140*c66ec88fSEmmanuel Vadot reg = <0x1a>; 141*c66ec88fSEmmanuel Vadot }; 142*c66ec88fSEmmanuel Vadot tbi0: tbi-phy@11 { 143*c66ec88fSEmmanuel Vadot reg = <0x11>; 144*c66ec88fSEmmanuel Vadot device_type = "tbi-phy"; 145*c66ec88fSEmmanuel Vadot }; 146*c66ec88fSEmmanuel Vadot }; 147*c66ec88fSEmmanuel Vadot }; 148*c66ec88fSEmmanuel Vadot 149*c66ec88fSEmmanuel Vadot enet1: ethernet@25000 { 150*c66ec88fSEmmanuel Vadot #address-cells = <1>; 151*c66ec88fSEmmanuel Vadot #size-cells = <1>; 152*c66ec88fSEmmanuel Vadot cell-index = <1>; 153*c66ec88fSEmmanuel Vadot device_type = "network"; 154*c66ec88fSEmmanuel Vadot model = "eTSEC"; 155*c66ec88fSEmmanuel Vadot compatible = "gianfar"; 156*c66ec88fSEmmanuel Vadot reg = <0x25000 0x1000>; 157*c66ec88fSEmmanuel Vadot ranges = <0x0 0x25000 0x1000>; 158*c66ec88fSEmmanuel Vadot local-mac-address = [ 00 00 00 00 00 00 ]; 159*c66ec88fSEmmanuel Vadot interrupts = <0x23 0x2 0x24 0x2 0x28 0x2>; 160*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 161*c66ec88fSEmmanuel Vadot tbi-handle = <&tbi1>; 162*c66ec88fSEmmanuel Vadot phy-handle = <&phy1>; 163*c66ec88fSEmmanuel Vadot 164*c66ec88fSEmmanuel Vadot mdio@520 { 165*c66ec88fSEmmanuel Vadot #address-cells = <1>; 166*c66ec88fSEmmanuel Vadot #size-cells = <0>; 167*c66ec88fSEmmanuel Vadot compatible = "fsl,gianfar-tbi"; 168*c66ec88fSEmmanuel Vadot reg = <0x520 0x20>; 169*c66ec88fSEmmanuel Vadot 170*c66ec88fSEmmanuel Vadot tbi1: tbi-phy@11 { 171*c66ec88fSEmmanuel Vadot reg = <0x11>; 172*c66ec88fSEmmanuel Vadot device_type = "tbi-phy"; 173*c66ec88fSEmmanuel Vadot }; 174*c66ec88fSEmmanuel Vadot }; 175*c66ec88fSEmmanuel Vadot }; 176*c66ec88fSEmmanuel Vadot 177*c66ec88fSEmmanuel Vadot serial0: serial@4500 { 178*c66ec88fSEmmanuel Vadot cell-index = <0>; 179*c66ec88fSEmmanuel Vadot device_type = "serial"; 180*c66ec88fSEmmanuel Vadot compatible = "fsl,ns16550", "ns16550"; 181*c66ec88fSEmmanuel Vadot reg = <0x4500 0x100>; // reg base, size 182*c66ec88fSEmmanuel Vadot clock-frequency = <0>; // should we fill in in uboot? 183*c66ec88fSEmmanuel Vadot interrupts = <0x2a 0x2>; 184*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 185*c66ec88fSEmmanuel Vadot }; 186*c66ec88fSEmmanuel Vadot 187*c66ec88fSEmmanuel Vadot serial1: serial@4600 { 188*c66ec88fSEmmanuel Vadot cell-index = <1>; 189*c66ec88fSEmmanuel Vadot device_type = "serial"; 190*c66ec88fSEmmanuel Vadot compatible = "fsl,ns16550", "ns16550"; 191*c66ec88fSEmmanuel Vadot reg = <0x4600 0x100>; // reg base, size 192*c66ec88fSEmmanuel Vadot clock-frequency = <0>; // should we fill in in uboot? 193*c66ec88fSEmmanuel Vadot interrupts = <0x2a 0x2>; 194*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 195*c66ec88fSEmmanuel Vadot }; 196*c66ec88fSEmmanuel Vadot 197*c66ec88fSEmmanuel Vadot global-utilities@e0000 { //global utilities reg 198*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8548-guts"; 199*c66ec88fSEmmanuel Vadot reg = <0xe0000 0x1000>; 200*c66ec88fSEmmanuel Vadot fsl,has-rstcr; 201*c66ec88fSEmmanuel Vadot }; 202*c66ec88fSEmmanuel Vadot 203*c66ec88fSEmmanuel Vadot crypto@30000 { 204*c66ec88fSEmmanuel Vadot compatible = "fsl,sec2.1", "fsl,sec2.0"; 205*c66ec88fSEmmanuel Vadot reg = <0x30000 0x10000>; 206*c66ec88fSEmmanuel Vadot interrupts = <45 2>; 207*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 208*c66ec88fSEmmanuel Vadot fsl,num-channels = <4>; 209*c66ec88fSEmmanuel Vadot fsl,channel-fifo-len = <24>; 210*c66ec88fSEmmanuel Vadot fsl,exec-units-mask = <0xfe>; 211*c66ec88fSEmmanuel Vadot fsl,descriptor-types-mask = <0x12b0ebf>; 212*c66ec88fSEmmanuel Vadot }; 213*c66ec88fSEmmanuel Vadot 214*c66ec88fSEmmanuel Vadot mpic: pic@40000 { 215*c66ec88fSEmmanuel Vadot interrupt-controller; 216*c66ec88fSEmmanuel Vadot #address-cells = <0>; 217*c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 218*c66ec88fSEmmanuel Vadot reg = <0x40000 0x40000>; 219*c66ec88fSEmmanuel Vadot compatible = "chrp,open-pic"; 220*c66ec88fSEmmanuel Vadot device_type = "open-pic"; 221*c66ec88fSEmmanuel Vadot }; 222*c66ec88fSEmmanuel Vadot }; 223*c66ec88fSEmmanuel Vadot 224*c66ec88fSEmmanuel Vadot pci0: pci@e0008000 { 225*c66ec88fSEmmanuel Vadot interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 226*c66ec88fSEmmanuel Vadot interrupt-map = < 227*c66ec88fSEmmanuel Vadot /* IDSEL 0x01 (PCI-X slot) @66MHz */ 228*c66ec88fSEmmanuel Vadot 0x0800 0x0 0x0 0x1 &mpic 0x2 0x1 229*c66ec88fSEmmanuel Vadot 0x0800 0x0 0x0 0x2 &mpic 0x3 0x1 230*c66ec88fSEmmanuel Vadot 0x0800 0x0 0x0 0x3 &mpic 0x4 0x1 231*c66ec88fSEmmanuel Vadot 0x0800 0x0 0x0 0x4 &mpic 0x1 0x1 232*c66ec88fSEmmanuel Vadot 233*c66ec88fSEmmanuel Vadot /* IDSEL 0x11 (PCI, 3.3V 32bit) @33MHz */ 234*c66ec88fSEmmanuel Vadot 0x8800 0x0 0x0 0x1 &mpic 0x2 0x1 235*c66ec88fSEmmanuel Vadot 0x8800 0x0 0x0 0x2 &mpic 0x3 0x1 236*c66ec88fSEmmanuel Vadot 0x8800 0x0 0x0 0x3 &mpic 0x4 0x1 237*c66ec88fSEmmanuel Vadot 0x8800 0x0 0x0 0x4 &mpic 0x1 0x1>; 238*c66ec88fSEmmanuel Vadot 239*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 240*c66ec88fSEmmanuel Vadot interrupts = <0x18 0x2>; 241*c66ec88fSEmmanuel Vadot bus-range = <0 0>; 242*c66ec88fSEmmanuel Vadot ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x10000000 243*c66ec88fSEmmanuel Vadot 0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00800000>; 244*c66ec88fSEmmanuel Vadot clock-frequency = <66000000>; 245*c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 246*c66ec88fSEmmanuel Vadot #size-cells = <2>; 247*c66ec88fSEmmanuel Vadot #address-cells = <3>; 248*c66ec88fSEmmanuel Vadot reg = <0xe0008000 0x1000>; 249*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci"; 250*c66ec88fSEmmanuel Vadot device_type = "pci"; 251*c66ec88fSEmmanuel Vadot }; 252*c66ec88fSEmmanuel Vadot 253*c66ec88fSEmmanuel Vadot pci1: pcie@e000a000 { 254*c66ec88fSEmmanuel Vadot interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 255*c66ec88fSEmmanuel Vadot interrupt-map = < 256*c66ec88fSEmmanuel Vadot 257*c66ec88fSEmmanuel Vadot /* IDSEL 0x0 (PEX) */ 258*c66ec88fSEmmanuel Vadot 0x0000 0x0 0x0 0x1 &mpic 0x0 0x1 259*c66ec88fSEmmanuel Vadot 0x0000 0x0 0x0 0x2 &mpic 0x1 0x1 260*c66ec88fSEmmanuel Vadot 0x0000 0x0 0x0 0x3 &mpic 0x2 0x1 261*c66ec88fSEmmanuel Vadot 0x0000 0x0 0x0 0x4 &mpic 0x3 0x1>; 262*c66ec88fSEmmanuel Vadot 263*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 264*c66ec88fSEmmanuel Vadot interrupts = <0x1a 0x2>; 265*c66ec88fSEmmanuel Vadot bus-range = <0x0 0xff>; 266*c66ec88fSEmmanuel Vadot ranges = <0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000 267*c66ec88fSEmmanuel Vadot 0x01000000 0x0 0x00000000 0xe2800000 0x0 0x08000000>; 268*c66ec88fSEmmanuel Vadot clock-frequency = <33000000>; 269*c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 270*c66ec88fSEmmanuel Vadot #size-cells = <2>; 271*c66ec88fSEmmanuel Vadot #address-cells = <3>; 272*c66ec88fSEmmanuel Vadot reg = <0xe000a000 0x1000>; 273*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8548-pcie"; 274*c66ec88fSEmmanuel Vadot device_type = "pci"; 275*c66ec88fSEmmanuel Vadot pcie@0 { 276*c66ec88fSEmmanuel Vadot reg = <0x0 0x0 0x0 0x0 0x0>; 277*c66ec88fSEmmanuel Vadot #size-cells = <2>; 278*c66ec88fSEmmanuel Vadot #address-cells = <3>; 279*c66ec88fSEmmanuel Vadot device_type = "pci"; 280*c66ec88fSEmmanuel Vadot ranges = <0x02000000 0x0 0xa0000000 281*c66ec88fSEmmanuel Vadot 0x02000000 0x0 0xa0000000 282*c66ec88fSEmmanuel Vadot 0x0 0x10000000 283*c66ec88fSEmmanuel Vadot 284*c66ec88fSEmmanuel Vadot 0x01000000 0x0 0x00000000 285*c66ec88fSEmmanuel Vadot 0x01000000 0x0 0x00000000 286*c66ec88fSEmmanuel Vadot 0x0 0x00800000>; 287*c66ec88fSEmmanuel Vadot }; 288*c66ec88fSEmmanuel Vadot }; 289*c66ec88fSEmmanuel Vadot}; 290