1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-or-later 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * mpc8308_p1m Device Tree Source 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright 2010 Ilya Yanok, Emcraft Systems, yanok@emcraft.com 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun/dts-v1/; 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun/ { 11*4882a593Smuzhiyun compatible = "denx,mpc8308_p1m"; 12*4882a593Smuzhiyun #address-cells = <1>; 13*4882a593Smuzhiyun #size-cells = <1>; 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun aliases { 16*4882a593Smuzhiyun ethernet0 = &enet0; 17*4882a593Smuzhiyun ethernet1 = &enet1; 18*4882a593Smuzhiyun serial0 = &serial0; 19*4882a593Smuzhiyun serial1 = &serial1; 20*4882a593Smuzhiyun pci0 = &pci0; 21*4882a593Smuzhiyun }; 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun cpus { 24*4882a593Smuzhiyun #address-cells = <1>; 25*4882a593Smuzhiyun #size-cells = <0>; 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun PowerPC,8308@0 { 28*4882a593Smuzhiyun device_type = "cpu"; 29*4882a593Smuzhiyun reg = <0x0>; 30*4882a593Smuzhiyun d-cache-line-size = <32>; 31*4882a593Smuzhiyun i-cache-line-size = <32>; 32*4882a593Smuzhiyun d-cache-size = <16384>; 33*4882a593Smuzhiyun i-cache-size = <16384>; 34*4882a593Smuzhiyun timebase-frequency = <0>; // from bootloader 35*4882a593Smuzhiyun bus-frequency = <0>; // from bootloader 36*4882a593Smuzhiyun clock-frequency = <0>; // from bootloader 37*4882a593Smuzhiyun }; 38*4882a593Smuzhiyun }; 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun memory { 41*4882a593Smuzhiyun device_type = "memory"; 42*4882a593Smuzhiyun reg = <0x00000000 0x08000000>; // 128MB at 0 43*4882a593Smuzhiyun }; 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun localbus@e0005000 { 46*4882a593Smuzhiyun #address-cells = <2>; 47*4882a593Smuzhiyun #size-cells = <1>; 48*4882a593Smuzhiyun compatible = "fsl,mpc8315-elbc", "fsl,elbc", "simple-bus"; 49*4882a593Smuzhiyun reg = <0xe0005000 0x1000>; 50*4882a593Smuzhiyun interrupts = <77 0x8>; 51*4882a593Smuzhiyun interrupt-parent = <&ipic>; 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun ranges = <0x0 0x0 0xfc000000 0x04000000 54*4882a593Smuzhiyun 0x1 0x0 0xfbff0000 0x00008000 55*4882a593Smuzhiyun 0x2 0x0 0xfbff8000 0x00008000>; 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun flash@0,0 { 58*4882a593Smuzhiyun #address-cells = <1>; 59*4882a593Smuzhiyun #size-cells = <1>; 60*4882a593Smuzhiyun compatible = "cfi-flash"; 61*4882a593Smuzhiyun reg = <0x0 0x0 0x4000000>; 62*4882a593Smuzhiyun bank-width = <2>; 63*4882a593Smuzhiyun device-width = <1>; 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun u-boot@0 { 66*4882a593Smuzhiyun reg = <0x0 0x60000>; 67*4882a593Smuzhiyun read-only; 68*4882a593Smuzhiyun }; 69*4882a593Smuzhiyun env@60000 { 70*4882a593Smuzhiyun reg = <0x60000 0x20000>; 71*4882a593Smuzhiyun }; 72*4882a593Smuzhiyun env1@80000 { 73*4882a593Smuzhiyun reg = <0x80000 0x20000>; 74*4882a593Smuzhiyun }; 75*4882a593Smuzhiyun kernel@a0000 { 76*4882a593Smuzhiyun reg = <0xa0000 0x200000>; 77*4882a593Smuzhiyun }; 78*4882a593Smuzhiyun dtb@2a0000 { 79*4882a593Smuzhiyun reg = <0x2a0000 0x20000>; 80*4882a593Smuzhiyun }; 81*4882a593Smuzhiyun ramdisk@2c0000 { 82*4882a593Smuzhiyun reg = <0x2c0000 0x640000>; 83*4882a593Smuzhiyun }; 84*4882a593Smuzhiyun user@700000 { 85*4882a593Smuzhiyun reg = <0x700000 0x3900000>; 86*4882a593Smuzhiyun }; 87*4882a593Smuzhiyun }; 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun can@1,0 { 90*4882a593Smuzhiyun compatible = "nxp,sja1000"; 91*4882a593Smuzhiyun reg = <0x1 0x0 0x80>; 92*4882a593Smuzhiyun interrupts = <18 0x8>; 93*4882a593Smuzhiyun interrups-parent = <&ipic>; 94*4882a593Smuzhiyun }; 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun cpld@2,0 { 97*4882a593Smuzhiyun compatible = "denx,mpc8308_p1m-cpld"; 98*4882a593Smuzhiyun reg = <0x2 0x0 0x8>; 99*4882a593Smuzhiyun interrupts = <48 0x8>; 100*4882a593Smuzhiyun interrups-parent = <&ipic>; 101*4882a593Smuzhiyun }; 102*4882a593Smuzhiyun }; 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun immr@e0000000 { 105*4882a593Smuzhiyun #address-cells = <1>; 106*4882a593Smuzhiyun #size-cells = <1>; 107*4882a593Smuzhiyun device_type = "soc"; 108*4882a593Smuzhiyun compatible = "fsl,mpc8308-immr", "simple-bus"; 109*4882a593Smuzhiyun ranges = <0 0xe0000000 0x00100000>; 110*4882a593Smuzhiyun reg = <0xe0000000 0x00000200>; 111*4882a593Smuzhiyun bus-frequency = <0>; 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun i2c@3000 { 114*4882a593Smuzhiyun #address-cells = <1>; 115*4882a593Smuzhiyun #size-cells = <0>; 116*4882a593Smuzhiyun compatible = "fsl-i2c"; 117*4882a593Smuzhiyun reg = <0x3000 0x100>; 118*4882a593Smuzhiyun interrupts = <14 0x8>; 119*4882a593Smuzhiyun interrupt-parent = <&ipic>; 120*4882a593Smuzhiyun dfsrr; 121*4882a593Smuzhiyun fram@50 { 122*4882a593Smuzhiyun compatible = "ramtron,24c64", "atmel,24c64"; 123*4882a593Smuzhiyun reg = <0x50>; 124*4882a593Smuzhiyun }; 125*4882a593Smuzhiyun }; 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun i2c@3100 { 128*4882a593Smuzhiyun #address-cells = <1>; 129*4882a593Smuzhiyun #size-cells = <0>; 130*4882a593Smuzhiyun compatible = "fsl-i2c"; 131*4882a593Smuzhiyun reg = <0x3100 0x100>; 132*4882a593Smuzhiyun interrupts = <15 0x8>; 133*4882a593Smuzhiyun interrupt-parent = <&ipic>; 134*4882a593Smuzhiyun dfsrr; 135*4882a593Smuzhiyun pwm@28 { 136*4882a593Smuzhiyun compatible = "maxim,ds1050"; 137*4882a593Smuzhiyun reg = <0x28>; 138*4882a593Smuzhiyun }; 139*4882a593Smuzhiyun sensor@48 { 140*4882a593Smuzhiyun compatible = "maxim,max6625"; 141*4882a593Smuzhiyun reg = <0x48>; 142*4882a593Smuzhiyun }; 143*4882a593Smuzhiyun sensor@49 { 144*4882a593Smuzhiyun compatible = "maxim,max6625"; 145*4882a593Smuzhiyun reg = <0x49>; 146*4882a593Smuzhiyun }; 147*4882a593Smuzhiyun sensor@4b { 148*4882a593Smuzhiyun compatible = "maxim,max6625"; 149*4882a593Smuzhiyun reg = <0x4b>; 150*4882a593Smuzhiyun }; 151*4882a593Smuzhiyun }; 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun usb@23000 { 154*4882a593Smuzhiyun compatible = "fsl-usb2-dr"; 155*4882a593Smuzhiyun reg = <0x23000 0x1000>; 156*4882a593Smuzhiyun #address-cells = <1>; 157*4882a593Smuzhiyun #size-cells = <0>; 158*4882a593Smuzhiyun interrupt-parent = <&ipic>; 159*4882a593Smuzhiyun interrupts = <38 0x8>; 160*4882a593Smuzhiyun dr_mode = "peripheral"; 161*4882a593Smuzhiyun phy_type = "ulpi"; 162*4882a593Smuzhiyun }; 163*4882a593Smuzhiyun 164*4882a593Smuzhiyun enet0: ethernet@24000 { 165*4882a593Smuzhiyun #address-cells = <1>; 166*4882a593Smuzhiyun #size-cells = <1>; 167*4882a593Smuzhiyun ranges = <0x0 0x24000 0x1000>; 168*4882a593Smuzhiyun 169*4882a593Smuzhiyun cell-index = <0>; 170*4882a593Smuzhiyun device_type = "network"; 171*4882a593Smuzhiyun model = "eTSEC"; 172*4882a593Smuzhiyun compatible = "gianfar"; 173*4882a593Smuzhiyun reg = <0x24000 0x1000>; 174*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 175*4882a593Smuzhiyun interrupts = <32 0x8 33 0x8 34 0x8>; 176*4882a593Smuzhiyun interrupt-parent = <&ipic>; 177*4882a593Smuzhiyun phy-handle = < &phy1 >; 178*4882a593Smuzhiyun 179*4882a593Smuzhiyun mdio@520 { 180*4882a593Smuzhiyun #address-cells = <1>; 181*4882a593Smuzhiyun #size-cells = <0>; 182*4882a593Smuzhiyun compatible = "fsl,gianfar-mdio"; 183*4882a593Smuzhiyun reg = <0x520 0x20>; 184*4882a593Smuzhiyun phy1: ethernet-phy@1 { 185*4882a593Smuzhiyun interrupt-parent = <&ipic>; 186*4882a593Smuzhiyun interrupts = <17 0x8>; 187*4882a593Smuzhiyun reg = <0x1>; 188*4882a593Smuzhiyun }; 189*4882a593Smuzhiyun phy2: ethernet-phy@2 { 190*4882a593Smuzhiyun interrupt-parent = <&ipic>; 191*4882a593Smuzhiyun interrupts = <19 0x8>; 192*4882a593Smuzhiyun reg = <0x2>; 193*4882a593Smuzhiyun }; 194*4882a593Smuzhiyun tbi0: tbi-phy@11 { 195*4882a593Smuzhiyun reg = <0x11>; 196*4882a593Smuzhiyun device_type = "tbi-phy"; 197*4882a593Smuzhiyun }; 198*4882a593Smuzhiyun }; 199*4882a593Smuzhiyun }; 200*4882a593Smuzhiyun 201*4882a593Smuzhiyun enet1: ethernet@25000 { 202*4882a593Smuzhiyun #address-cells = <1>; 203*4882a593Smuzhiyun #size-cells = <1>; 204*4882a593Smuzhiyun cell-index = <1>; 205*4882a593Smuzhiyun device_type = "network"; 206*4882a593Smuzhiyun model = "eTSEC"; 207*4882a593Smuzhiyun compatible = "gianfar"; 208*4882a593Smuzhiyun reg = <0x25000 0x1000>; 209*4882a593Smuzhiyun ranges = <0x0 0x25000 0x1000>; 210*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 211*4882a593Smuzhiyun interrupts = <35 0x8 36 0x8 37 0x8>; 212*4882a593Smuzhiyun interrupt-parent = <&ipic>; 213*4882a593Smuzhiyun phy-handle = < &phy2 >; 214*4882a593Smuzhiyun 215*4882a593Smuzhiyun mdio@520 { 216*4882a593Smuzhiyun #address-cells = <1>; 217*4882a593Smuzhiyun #size-cells = <0>; 218*4882a593Smuzhiyun compatible = "fsl,gianfar-tbi"; 219*4882a593Smuzhiyun reg = <0x520 0x20>; 220*4882a593Smuzhiyun tbi1: tbi-phy@11 { 221*4882a593Smuzhiyun reg = <0x11>; 222*4882a593Smuzhiyun device_type = "tbi-phy"; 223*4882a593Smuzhiyun }; 224*4882a593Smuzhiyun }; 225*4882a593Smuzhiyun }; 226*4882a593Smuzhiyun 227*4882a593Smuzhiyun serial0: serial@4500 { 228*4882a593Smuzhiyun cell-index = <0>; 229*4882a593Smuzhiyun device_type = "serial"; 230*4882a593Smuzhiyun compatible = "fsl,ns16550", "ns16550"; 231*4882a593Smuzhiyun reg = <0x4500 0x100>; 232*4882a593Smuzhiyun clock-frequency = <133333333>; 233*4882a593Smuzhiyun interrupts = <9 0x8>; 234*4882a593Smuzhiyun interrupt-parent = <&ipic>; 235*4882a593Smuzhiyun }; 236*4882a593Smuzhiyun 237*4882a593Smuzhiyun serial1: serial@4600 { 238*4882a593Smuzhiyun cell-index = <1>; 239*4882a593Smuzhiyun device_type = "serial"; 240*4882a593Smuzhiyun compatible = "fsl,ns16550", "ns16550"; 241*4882a593Smuzhiyun reg = <0x4600 0x100>; 242*4882a593Smuzhiyun clock-frequency = <133333333>; 243*4882a593Smuzhiyun interrupts = <10 0x8>; 244*4882a593Smuzhiyun interrupt-parent = <&ipic>; 245*4882a593Smuzhiyun }; 246*4882a593Smuzhiyun 247*4882a593Smuzhiyun gpio@c00 { 248*4882a593Smuzhiyun #gpio-cells = <2>; 249*4882a593Smuzhiyun compatible = "fsl,mpc8308-gpio", "fsl,mpc8349-gpio"; 250*4882a593Smuzhiyun reg = <0xc00 0x18>; 251*4882a593Smuzhiyun interrupts = <74 0x8>; 252*4882a593Smuzhiyun interrupt-parent = <&ipic>; 253*4882a593Smuzhiyun gpio-controller; 254*4882a593Smuzhiyun }; 255*4882a593Smuzhiyun 256*4882a593Smuzhiyun timer@500 { 257*4882a593Smuzhiyun compatible = "fsl,mpc8308-gtm", "fsl,gtm"; 258*4882a593Smuzhiyun reg = <0x500 0x100>; 259*4882a593Smuzhiyun interrupts = <90 8 78 8 84 8 72 8>; 260*4882a593Smuzhiyun interrupt-parent = <&ipic>; 261*4882a593Smuzhiyun clock-frequency = <133333333>; 262*4882a593Smuzhiyun }; 263*4882a593Smuzhiyun 264*4882a593Smuzhiyun /* IPIC 265*4882a593Smuzhiyun * interrupts cell = <intr #, sense> 266*4882a593Smuzhiyun * sense values match linux IORESOURCE_IRQ_* defines: 267*4882a593Smuzhiyun * sense == 8: Level, low assertion 268*4882a593Smuzhiyun * sense == 2: Edge, high-to-low change 269*4882a593Smuzhiyun */ 270*4882a593Smuzhiyun ipic: interrupt-controller@700 { 271*4882a593Smuzhiyun compatible = "fsl,ipic"; 272*4882a593Smuzhiyun interrupt-controller; 273*4882a593Smuzhiyun #address-cells = <0>; 274*4882a593Smuzhiyun #interrupt-cells = <2>; 275*4882a593Smuzhiyun reg = <0x700 0x100>; 276*4882a593Smuzhiyun device_type = "ipic"; 277*4882a593Smuzhiyun }; 278*4882a593Smuzhiyun 279*4882a593Smuzhiyun ipic-msi@7c0 { 280*4882a593Smuzhiyun compatible = "fsl,ipic-msi"; 281*4882a593Smuzhiyun reg = <0x7c0 0x40>; 282*4882a593Smuzhiyun msi-available-ranges = <0x0 0x100>; 283*4882a593Smuzhiyun interrupts = < 0x43 0x8 284*4882a593Smuzhiyun 0x4 0x8 285*4882a593Smuzhiyun 0x51 0x8 286*4882a593Smuzhiyun 0x52 0x8 287*4882a593Smuzhiyun 0x56 0x8 288*4882a593Smuzhiyun 0x57 0x8 289*4882a593Smuzhiyun 0x58 0x8 290*4882a593Smuzhiyun 0x59 0x8 >; 291*4882a593Smuzhiyun interrupt-parent = < &ipic >; 292*4882a593Smuzhiyun }; 293*4882a593Smuzhiyun 294*4882a593Smuzhiyun dma@2c000 { 295*4882a593Smuzhiyun compatible = "fsl,mpc8308-dma"; 296*4882a593Smuzhiyun reg = <0x2c000 0x1800>; 297*4882a593Smuzhiyun interrupts = <3 0x8 298*4882a593Smuzhiyun 94 0x8>; 299*4882a593Smuzhiyun interrupt-parent = < &ipic >; 300*4882a593Smuzhiyun }; 301*4882a593Smuzhiyun 302*4882a593Smuzhiyun }; 303*4882a593Smuzhiyun 304*4882a593Smuzhiyun pci0: pcie@e0009000 { 305*4882a593Smuzhiyun #address-cells = <3>; 306*4882a593Smuzhiyun #size-cells = <2>; 307*4882a593Smuzhiyun #interrupt-cells = <1>; 308*4882a593Smuzhiyun device_type = "pci"; 309*4882a593Smuzhiyun compatible = "fsl,mpc8308-pcie", "fsl,mpc8314-pcie"; 310*4882a593Smuzhiyun reg = <0xe0009000 0x00001000 311*4882a593Smuzhiyun 0xb0000000 0x01000000>; 312*4882a593Smuzhiyun ranges = <0x02000000 0 0xa0000000 0xa0000000 0 0x10000000 313*4882a593Smuzhiyun 0x01000000 0 0x00000000 0xb1000000 0 0x00800000>; 314*4882a593Smuzhiyun bus-range = <0 0>; 315*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 0>; 316*4882a593Smuzhiyun interrupt-map = <0 0 0 0 &ipic 1 8>; 317*4882a593Smuzhiyun interrupts = <0x1 0x8>; 318*4882a593Smuzhiyun interrupt-parent = <&ipic>; 319*4882a593Smuzhiyun clock-frequency = <0>; 320*4882a593Smuzhiyun 321*4882a593Smuzhiyun pcie@0 { 322*4882a593Smuzhiyun #address-cells = <3>; 323*4882a593Smuzhiyun #size-cells = <2>; 324*4882a593Smuzhiyun device_type = "pci"; 325*4882a593Smuzhiyun reg = <0 0 0 0 0>; 326*4882a593Smuzhiyun ranges = <0x02000000 0 0xa0000000 327*4882a593Smuzhiyun 0x02000000 0 0xa0000000 328*4882a593Smuzhiyun 0 0x10000000 329*4882a593Smuzhiyun 0x01000000 0 0x00000000 330*4882a593Smuzhiyun 0x01000000 0 0x00000000 331*4882a593Smuzhiyun 0 0x00800000>; 332*4882a593Smuzhiyun }; 333*4882a593Smuzhiyun }; 334*4882a593Smuzhiyun}; 335