1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later 2*c66ec88fSEmmanuel Vadot/* 3*c66ec88fSEmmanuel Vadot * TQM 8555 Device Tree Source 4*c66ec88fSEmmanuel Vadot * 5*c66ec88fSEmmanuel Vadot * Copyright 2008 Freescale Semiconductor Inc. 6*c66ec88fSEmmanuel Vadot */ 7*c66ec88fSEmmanuel Vadot 8*c66ec88fSEmmanuel Vadot/dts-v1/; 9*c66ec88fSEmmanuel Vadot 10*c66ec88fSEmmanuel Vadot/ { 11*c66ec88fSEmmanuel Vadot model = "tqc,tqm8555"; 12*c66ec88fSEmmanuel Vadot compatible = "tqc,tqm8555"; 13*c66ec88fSEmmanuel Vadot #address-cells = <1>; 14*c66ec88fSEmmanuel Vadot #size-cells = <1>; 15*c66ec88fSEmmanuel Vadot 16*c66ec88fSEmmanuel Vadot aliases { 17*c66ec88fSEmmanuel Vadot ethernet0 = &enet0; 18*c66ec88fSEmmanuel Vadot ethernet1 = &enet1; 19*c66ec88fSEmmanuel Vadot serial0 = &serial0; 20*c66ec88fSEmmanuel Vadot serial1 = &serial1; 21*c66ec88fSEmmanuel Vadot pci0 = &pci0; 22*c66ec88fSEmmanuel Vadot }; 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel Vadot cpus { 25*c66ec88fSEmmanuel Vadot #address-cells = <1>; 26*c66ec88fSEmmanuel Vadot #size-cells = <0>; 27*c66ec88fSEmmanuel Vadot 28*c66ec88fSEmmanuel Vadot PowerPC,8555@0 { 29*c66ec88fSEmmanuel Vadot device_type = "cpu"; 30*c66ec88fSEmmanuel Vadot reg = <0>; 31*c66ec88fSEmmanuel Vadot d-cache-line-size = <32>; 32*c66ec88fSEmmanuel Vadot i-cache-line-size = <32>; 33*c66ec88fSEmmanuel Vadot d-cache-size = <32768>; 34*c66ec88fSEmmanuel Vadot i-cache-size = <32768>; 35*c66ec88fSEmmanuel Vadot timebase-frequency = <0>; 36*c66ec88fSEmmanuel Vadot bus-frequency = <0>; 37*c66ec88fSEmmanuel Vadot clock-frequency = <0>; 38*c66ec88fSEmmanuel Vadot next-level-cache = <&L2>; 39*c66ec88fSEmmanuel Vadot }; 40*c66ec88fSEmmanuel Vadot }; 41*c66ec88fSEmmanuel Vadot 42*c66ec88fSEmmanuel Vadot memory { 43*c66ec88fSEmmanuel Vadot device_type = "memory"; 44*c66ec88fSEmmanuel Vadot reg = <0x00000000 0x10000000>; 45*c66ec88fSEmmanuel Vadot }; 46*c66ec88fSEmmanuel Vadot 47*c66ec88fSEmmanuel Vadot soc@e0000000 { 48*c66ec88fSEmmanuel Vadot #address-cells = <1>; 49*c66ec88fSEmmanuel Vadot #size-cells = <1>; 50*c66ec88fSEmmanuel Vadot device_type = "soc"; 51*c66ec88fSEmmanuel Vadot ranges = <0x0 0xe0000000 0x100000>; 52*c66ec88fSEmmanuel Vadot bus-frequency = <0>; 53*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8555-immr", "simple-bus"; 54*c66ec88fSEmmanuel Vadot 55*c66ec88fSEmmanuel Vadot ecm-law@0 { 56*c66ec88fSEmmanuel Vadot compatible = "fsl,ecm-law"; 57*c66ec88fSEmmanuel Vadot reg = <0x0 0x1000>; 58*c66ec88fSEmmanuel Vadot fsl,num-laws = <8>; 59*c66ec88fSEmmanuel Vadot }; 60*c66ec88fSEmmanuel Vadot 61*c66ec88fSEmmanuel Vadot ecm@1000 { 62*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8555-ecm", "fsl,ecm"; 63*c66ec88fSEmmanuel Vadot reg = <0x1000 0x1000>; 64*c66ec88fSEmmanuel Vadot interrupts = <17 2>; 65*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 66*c66ec88fSEmmanuel Vadot }; 67*c66ec88fSEmmanuel Vadot 68*c66ec88fSEmmanuel Vadot memory-controller@2000 { 69*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8540-memory-controller"; 70*c66ec88fSEmmanuel Vadot reg = <0x2000 0x1000>; 71*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 72*c66ec88fSEmmanuel Vadot interrupts = <18 2>; 73*c66ec88fSEmmanuel Vadot }; 74*c66ec88fSEmmanuel Vadot 75*c66ec88fSEmmanuel Vadot L2: l2-cache-controller@20000 { 76*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8540-l2-cache-controller"; 77*c66ec88fSEmmanuel Vadot reg = <0x20000 0x1000>; 78*c66ec88fSEmmanuel Vadot cache-line-size = <32>; 79*c66ec88fSEmmanuel Vadot cache-size = <0x40000>; // L2, 256K 80*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 81*c66ec88fSEmmanuel Vadot interrupts = <16 2>; 82*c66ec88fSEmmanuel Vadot }; 83*c66ec88fSEmmanuel Vadot 84*c66ec88fSEmmanuel Vadot i2c@3000 { 85*c66ec88fSEmmanuel Vadot #address-cells = <1>; 86*c66ec88fSEmmanuel Vadot #size-cells = <0>; 87*c66ec88fSEmmanuel Vadot cell-index = <0>; 88*c66ec88fSEmmanuel Vadot compatible = "fsl-i2c"; 89*c66ec88fSEmmanuel Vadot reg = <0x3000 0x100>; 90*c66ec88fSEmmanuel Vadot interrupts = <43 2>; 91*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 92*c66ec88fSEmmanuel Vadot dfsrr; 93*c66ec88fSEmmanuel Vadot 94*c66ec88fSEmmanuel Vadot dtt@48 { 95*c66ec88fSEmmanuel Vadot compatible = "national,lm75"; 96*c66ec88fSEmmanuel Vadot reg = <0x48>; 97*c66ec88fSEmmanuel Vadot }; 98*c66ec88fSEmmanuel Vadot 99*c66ec88fSEmmanuel Vadot rtc@68 { 100*c66ec88fSEmmanuel Vadot compatible = "dallas,ds1337"; 101*c66ec88fSEmmanuel Vadot reg = <0x68>; 102*c66ec88fSEmmanuel Vadot }; 103*c66ec88fSEmmanuel Vadot }; 104*c66ec88fSEmmanuel Vadot 105*c66ec88fSEmmanuel Vadot dma@21300 { 106*c66ec88fSEmmanuel Vadot #address-cells = <1>; 107*c66ec88fSEmmanuel Vadot #size-cells = <1>; 108*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8555-dma", "fsl,eloplus-dma"; 109*c66ec88fSEmmanuel Vadot reg = <0x21300 0x4>; 110*c66ec88fSEmmanuel Vadot ranges = <0x0 0x21100 0x200>; 111*c66ec88fSEmmanuel Vadot cell-index = <0>; 112*c66ec88fSEmmanuel Vadot dma-channel@0 { 113*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8555-dma-channel", 114*c66ec88fSEmmanuel Vadot "fsl,eloplus-dma-channel"; 115*c66ec88fSEmmanuel Vadot reg = <0x0 0x80>; 116*c66ec88fSEmmanuel Vadot cell-index = <0>; 117*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 118*c66ec88fSEmmanuel Vadot interrupts = <20 2>; 119*c66ec88fSEmmanuel Vadot }; 120*c66ec88fSEmmanuel Vadot dma-channel@80 { 121*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8555-dma-channel", 122*c66ec88fSEmmanuel Vadot "fsl,eloplus-dma-channel"; 123*c66ec88fSEmmanuel Vadot reg = <0x80 0x80>; 124*c66ec88fSEmmanuel Vadot cell-index = <1>; 125*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 126*c66ec88fSEmmanuel Vadot interrupts = <21 2>; 127*c66ec88fSEmmanuel Vadot }; 128*c66ec88fSEmmanuel Vadot dma-channel@100 { 129*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8555-dma-channel", 130*c66ec88fSEmmanuel Vadot "fsl,eloplus-dma-channel"; 131*c66ec88fSEmmanuel Vadot reg = <0x100 0x80>; 132*c66ec88fSEmmanuel Vadot cell-index = <2>; 133*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 134*c66ec88fSEmmanuel Vadot interrupts = <22 2>; 135*c66ec88fSEmmanuel Vadot }; 136*c66ec88fSEmmanuel Vadot dma-channel@180 { 137*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8555-dma-channel", 138*c66ec88fSEmmanuel Vadot "fsl,eloplus-dma-channel"; 139*c66ec88fSEmmanuel Vadot reg = <0x180 0x80>; 140*c66ec88fSEmmanuel Vadot cell-index = <3>; 141*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 142*c66ec88fSEmmanuel Vadot interrupts = <23 2>; 143*c66ec88fSEmmanuel Vadot }; 144*c66ec88fSEmmanuel Vadot }; 145*c66ec88fSEmmanuel Vadot 146*c66ec88fSEmmanuel Vadot enet0: ethernet@24000 { 147*c66ec88fSEmmanuel Vadot #address-cells = <1>; 148*c66ec88fSEmmanuel Vadot #size-cells = <1>; 149*c66ec88fSEmmanuel Vadot cell-index = <0>; 150*c66ec88fSEmmanuel Vadot device_type = "network"; 151*c66ec88fSEmmanuel Vadot model = "TSEC"; 152*c66ec88fSEmmanuel Vadot compatible = "gianfar"; 153*c66ec88fSEmmanuel Vadot reg = <0x24000 0x1000>; 154*c66ec88fSEmmanuel Vadot ranges = <0x0 0x24000 0x1000>; 155*c66ec88fSEmmanuel Vadot local-mac-address = [ 00 00 00 00 00 00 ]; 156*c66ec88fSEmmanuel Vadot interrupts = <29 2 30 2 34 2>; 157*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 158*c66ec88fSEmmanuel Vadot tbi-handle = <&tbi0>; 159*c66ec88fSEmmanuel Vadot phy-handle = <&phy2>; 160*c66ec88fSEmmanuel Vadot 161*c66ec88fSEmmanuel Vadot mdio@520 { 162*c66ec88fSEmmanuel Vadot #address-cells = <1>; 163*c66ec88fSEmmanuel Vadot #size-cells = <0>; 164*c66ec88fSEmmanuel Vadot compatible = "fsl,gianfar-mdio"; 165*c66ec88fSEmmanuel Vadot reg = <0x520 0x20>; 166*c66ec88fSEmmanuel Vadot 167*c66ec88fSEmmanuel Vadot phy1: ethernet-phy@1 { 168*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 169*c66ec88fSEmmanuel Vadot interrupts = <8 1>; 170*c66ec88fSEmmanuel Vadot reg = <1>; 171*c66ec88fSEmmanuel Vadot }; 172*c66ec88fSEmmanuel Vadot phy2: ethernet-phy@2 { 173*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 174*c66ec88fSEmmanuel Vadot interrupts = <8 1>; 175*c66ec88fSEmmanuel Vadot reg = <2>; 176*c66ec88fSEmmanuel Vadot }; 177*c66ec88fSEmmanuel Vadot phy3: ethernet-phy@3 { 178*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 179*c66ec88fSEmmanuel Vadot interrupts = <8 1>; 180*c66ec88fSEmmanuel Vadot reg = <3>; 181*c66ec88fSEmmanuel Vadot }; 182*c66ec88fSEmmanuel Vadot tbi0: tbi-phy@11 { 183*c66ec88fSEmmanuel Vadot reg = <0x11>; 184*c66ec88fSEmmanuel Vadot device_type = "tbi-phy"; 185*c66ec88fSEmmanuel Vadot }; 186*c66ec88fSEmmanuel Vadot }; 187*c66ec88fSEmmanuel Vadot }; 188*c66ec88fSEmmanuel Vadot 189*c66ec88fSEmmanuel Vadot enet1: ethernet@25000 { 190*c66ec88fSEmmanuel Vadot #address-cells = <1>; 191*c66ec88fSEmmanuel Vadot #size-cells = <1>; 192*c66ec88fSEmmanuel Vadot cell-index = <1>; 193*c66ec88fSEmmanuel Vadot device_type = "network"; 194*c66ec88fSEmmanuel Vadot model = "TSEC"; 195*c66ec88fSEmmanuel Vadot compatible = "gianfar"; 196*c66ec88fSEmmanuel Vadot reg = <0x25000 0x1000>; 197*c66ec88fSEmmanuel Vadot ranges = <0x0 0x25000 0x1000>; 198*c66ec88fSEmmanuel Vadot local-mac-address = [ 00 00 00 00 00 00 ]; 199*c66ec88fSEmmanuel Vadot interrupts = <35 2 36 2 40 2>; 200*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 201*c66ec88fSEmmanuel Vadot tbi-handle = <&tbi1>; 202*c66ec88fSEmmanuel Vadot phy-handle = <&phy1>; 203*c66ec88fSEmmanuel Vadot 204*c66ec88fSEmmanuel Vadot mdio@520 { 205*c66ec88fSEmmanuel Vadot #address-cells = <1>; 206*c66ec88fSEmmanuel Vadot #size-cells = <0>; 207*c66ec88fSEmmanuel Vadot compatible = "fsl,gianfar-tbi"; 208*c66ec88fSEmmanuel Vadot reg = <0x520 0x20>; 209*c66ec88fSEmmanuel Vadot 210*c66ec88fSEmmanuel Vadot tbi1: tbi-phy@11 { 211*c66ec88fSEmmanuel Vadot reg = <0x11>; 212*c66ec88fSEmmanuel Vadot device_type = "tbi-phy"; 213*c66ec88fSEmmanuel Vadot }; 214*c66ec88fSEmmanuel Vadot }; 215*c66ec88fSEmmanuel Vadot }; 216*c66ec88fSEmmanuel Vadot 217*c66ec88fSEmmanuel Vadot serial0: serial@4500 { 218*c66ec88fSEmmanuel Vadot cell-index = <0>; 219*c66ec88fSEmmanuel Vadot device_type = "serial"; 220*c66ec88fSEmmanuel Vadot compatible = "fsl,ns16550", "ns16550"; 221*c66ec88fSEmmanuel Vadot reg = <0x4500 0x100>; // reg base, size 222*c66ec88fSEmmanuel Vadot clock-frequency = <0>; // should we fill in in uboot? 223*c66ec88fSEmmanuel Vadot interrupts = <42 2>; 224*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 225*c66ec88fSEmmanuel Vadot }; 226*c66ec88fSEmmanuel Vadot 227*c66ec88fSEmmanuel Vadot serial1: serial@4600 { 228*c66ec88fSEmmanuel Vadot cell-index = <1>; 229*c66ec88fSEmmanuel Vadot device_type = "serial"; 230*c66ec88fSEmmanuel Vadot compatible = "fsl,ns16550", "ns16550"; 231*c66ec88fSEmmanuel Vadot reg = <0x4600 0x100>; // reg base, size 232*c66ec88fSEmmanuel Vadot clock-frequency = <0>; // should we fill in in uboot? 233*c66ec88fSEmmanuel Vadot interrupts = <42 2>; 234*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 235*c66ec88fSEmmanuel Vadot }; 236*c66ec88fSEmmanuel Vadot 237*c66ec88fSEmmanuel Vadot crypto@30000 { 238*c66ec88fSEmmanuel Vadot compatible = "fsl,sec2.0"; 239*c66ec88fSEmmanuel Vadot reg = <0x30000 0x10000>; 240*c66ec88fSEmmanuel Vadot interrupts = <45 2>; 241*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 242*c66ec88fSEmmanuel Vadot fsl,num-channels = <4>; 243*c66ec88fSEmmanuel Vadot fsl,channel-fifo-len = <24>; 244*c66ec88fSEmmanuel Vadot fsl,exec-units-mask = <0x7e>; 245*c66ec88fSEmmanuel Vadot fsl,descriptor-types-mask = <0x01010ebf>; 246*c66ec88fSEmmanuel Vadot }; 247*c66ec88fSEmmanuel Vadot 248*c66ec88fSEmmanuel Vadot mpic: pic@40000 { 249*c66ec88fSEmmanuel Vadot interrupt-controller; 250*c66ec88fSEmmanuel Vadot #address-cells = <0>; 251*c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 252*c66ec88fSEmmanuel Vadot reg = <0x40000 0x40000>; 253*c66ec88fSEmmanuel Vadot device_type = "open-pic"; 254*c66ec88fSEmmanuel Vadot compatible = "chrp,open-pic"; 255*c66ec88fSEmmanuel Vadot }; 256*c66ec88fSEmmanuel Vadot 257*c66ec88fSEmmanuel Vadot cpm@919c0 { 258*c66ec88fSEmmanuel Vadot #address-cells = <1>; 259*c66ec88fSEmmanuel Vadot #size-cells = <1>; 260*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8555-cpm", "fsl,cpm2", "simple-bus"; 261*c66ec88fSEmmanuel Vadot reg = <0x919c0 0x30>; 262*c66ec88fSEmmanuel Vadot ranges; 263*c66ec88fSEmmanuel Vadot 264*c66ec88fSEmmanuel Vadot muram@80000 { 265*c66ec88fSEmmanuel Vadot #address-cells = <1>; 266*c66ec88fSEmmanuel Vadot #size-cells = <1>; 267*c66ec88fSEmmanuel Vadot ranges = <0 0x80000 0x10000>; 268*c66ec88fSEmmanuel Vadot 269*c66ec88fSEmmanuel Vadot data@0 { 270*c66ec88fSEmmanuel Vadot compatible = "fsl,cpm-muram-data"; 271*c66ec88fSEmmanuel Vadot reg = <0 0x2000 0x9000 0x1000>; 272*c66ec88fSEmmanuel Vadot }; 273*c66ec88fSEmmanuel Vadot }; 274*c66ec88fSEmmanuel Vadot 275*c66ec88fSEmmanuel Vadot brg@919f0 { 276*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8555-brg", 277*c66ec88fSEmmanuel Vadot "fsl,cpm2-brg", 278*c66ec88fSEmmanuel Vadot "fsl,cpm-brg"; 279*c66ec88fSEmmanuel Vadot reg = <0x919f0 0x10 0x915f0 0x10>; 280*c66ec88fSEmmanuel Vadot clock-frequency = <0>; 281*c66ec88fSEmmanuel Vadot }; 282*c66ec88fSEmmanuel Vadot 283*c66ec88fSEmmanuel Vadot cpmpic: pic@90c00 { 284*c66ec88fSEmmanuel Vadot interrupt-controller; 285*c66ec88fSEmmanuel Vadot #address-cells = <0>; 286*c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 287*c66ec88fSEmmanuel Vadot interrupts = <46 2>; 288*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 289*c66ec88fSEmmanuel Vadot reg = <0x90c00 0x80>; 290*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8555-cpm-pic", "fsl,cpm2-pic"; 291*c66ec88fSEmmanuel Vadot }; 292*c66ec88fSEmmanuel Vadot }; 293*c66ec88fSEmmanuel Vadot }; 294*c66ec88fSEmmanuel Vadot 295*c66ec88fSEmmanuel Vadot pci0: pci@e0008000 { 296*c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 297*c66ec88fSEmmanuel Vadot #size-cells = <2>; 298*c66ec88fSEmmanuel Vadot #address-cells = <3>; 299*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci"; 300*c66ec88fSEmmanuel Vadot device_type = "pci"; 301*c66ec88fSEmmanuel Vadot reg = <0xe0008000 0x1000>; 302*c66ec88fSEmmanuel Vadot clock-frequency = <66666666>; 303*c66ec88fSEmmanuel Vadot interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 304*c66ec88fSEmmanuel Vadot interrupt-map = < 305*c66ec88fSEmmanuel Vadot /* IDSEL 28 */ 306*c66ec88fSEmmanuel Vadot 0xe000 0 0 1 &mpic 2 1 307*c66ec88fSEmmanuel Vadot 0xe000 0 0 2 &mpic 3 1 308*c66ec88fSEmmanuel Vadot 0xe000 0 0 3 &mpic 6 1 309*c66ec88fSEmmanuel Vadot 0xe000 0 0 4 &mpic 5 1 310*c66ec88fSEmmanuel Vadot 311*c66ec88fSEmmanuel Vadot /* IDSEL 11 */ 312*c66ec88fSEmmanuel Vadot 0x5800 0 0 1 &mpic 6 1 313*c66ec88fSEmmanuel Vadot 0x5800 0 0 2 &mpic 5 1 314*c66ec88fSEmmanuel Vadot >; 315*c66ec88fSEmmanuel Vadot 316*c66ec88fSEmmanuel Vadot interrupt-parent = <&mpic>; 317*c66ec88fSEmmanuel Vadot interrupts = <24 2>; 318*c66ec88fSEmmanuel Vadot bus-range = <0 0>; 319*c66ec88fSEmmanuel Vadot ranges = <0x02000000 0 0x80000000 0x80000000 0 0x20000000 320*c66ec88fSEmmanuel Vadot 0x01000000 0 0x00000000 0xe2000000 0 0x01000000>; 321*c66ec88fSEmmanuel Vadot }; 322*c66ec88fSEmmanuel Vadot}; 323