1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later 2*c66ec88fSEmmanuel Vadot/* 3*c66ec88fSEmmanuel Vadot * Analogue & Micro ASP8347 Device Tree Source 4*c66ec88fSEmmanuel Vadot * 5*c66ec88fSEmmanuel Vadot * Copyright 2008 Codehermit 6*c66ec88fSEmmanuel Vadot */ 7*c66ec88fSEmmanuel Vadot 8*c66ec88fSEmmanuel Vadot/dts-v1/; 9*c66ec88fSEmmanuel Vadot 10*c66ec88fSEmmanuel Vadot/ { 11*c66ec88fSEmmanuel Vadot model = "Analogue & Micro ASP8347E"; 12*c66ec88fSEmmanuel Vadot compatible = "analogue-and-micro,asp8347e"; 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 }; 22*c66ec88fSEmmanuel Vadot 23*c66ec88fSEmmanuel Vadot cpus { 24*c66ec88fSEmmanuel Vadot #address-cells = <1>; 25*c66ec88fSEmmanuel Vadot #size-cells = <0>; 26*c66ec88fSEmmanuel Vadot 27*c66ec88fSEmmanuel Vadot PowerPC,8347@0 { 28*c66ec88fSEmmanuel Vadot device_type = "cpu"; 29*c66ec88fSEmmanuel Vadot reg = <0x0>; 30*c66ec88fSEmmanuel Vadot d-cache-line-size = <32>; 31*c66ec88fSEmmanuel Vadot i-cache-line-size = <32>; 32*c66ec88fSEmmanuel Vadot d-cache-size = <32768>; 33*c66ec88fSEmmanuel Vadot i-cache-size = <32768>; 34*c66ec88fSEmmanuel Vadot timebase-frequency = <0>; // from bootloader 35*c66ec88fSEmmanuel Vadot bus-frequency = <0>; // from bootloader 36*c66ec88fSEmmanuel Vadot clock-frequency = <0>; // from bootloader 37*c66ec88fSEmmanuel Vadot }; 38*c66ec88fSEmmanuel Vadot }; 39*c66ec88fSEmmanuel Vadot 40*c66ec88fSEmmanuel Vadot memory { 41*c66ec88fSEmmanuel Vadot device_type = "memory"; 42*c66ec88fSEmmanuel Vadot reg = <0x00000000 0x8000000>; // 128MB at 0 43*c66ec88fSEmmanuel Vadot }; 44*c66ec88fSEmmanuel Vadot 45*c66ec88fSEmmanuel Vadot localbus@ff005000 { 46*c66ec88fSEmmanuel Vadot #address-cells = <2>; 47*c66ec88fSEmmanuel Vadot #size-cells = <1>; 48*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8347e-localbus", 49*c66ec88fSEmmanuel Vadot "fsl,pq2pro-localbus", 50*c66ec88fSEmmanuel Vadot "simple-bus"; 51*c66ec88fSEmmanuel Vadot reg = <0xff005000 0x1000>; 52*c66ec88fSEmmanuel Vadot interrupts = <77 0x8>; 53*c66ec88fSEmmanuel Vadot interrupt-parent = <&ipic>; 54*c66ec88fSEmmanuel Vadot 55*c66ec88fSEmmanuel Vadot ranges = < 56*c66ec88fSEmmanuel Vadot 0 0 0xf0000000 0x02000000 57*c66ec88fSEmmanuel Vadot >; 58*c66ec88fSEmmanuel Vadot 59*c66ec88fSEmmanuel Vadot flash@0,0 { 60*c66ec88fSEmmanuel Vadot compatible = "cfi-flash"; 61*c66ec88fSEmmanuel Vadot reg = <0 0 0x02000000>; 62*c66ec88fSEmmanuel Vadot bank-width = <2>; 63*c66ec88fSEmmanuel Vadot device-width = <2>; 64*c66ec88fSEmmanuel Vadot }; 65*c66ec88fSEmmanuel Vadot }; 66*c66ec88fSEmmanuel Vadot 67*c66ec88fSEmmanuel Vadot soc8349@ff000000 { 68*c66ec88fSEmmanuel Vadot #address-cells = <1>; 69*c66ec88fSEmmanuel Vadot #size-cells = <1>; 70*c66ec88fSEmmanuel Vadot device_type = "soc"; 71*c66ec88fSEmmanuel Vadot ranges = <0x0 0xff000000 0x00100000>; 72*c66ec88fSEmmanuel Vadot reg = <0xff000000 0x00000200>; 73*c66ec88fSEmmanuel Vadot bus-frequency = <0>; 74*c66ec88fSEmmanuel Vadot 75*c66ec88fSEmmanuel Vadot wdt@200 { 76*c66ec88fSEmmanuel Vadot device_type = "watchdog"; 77*c66ec88fSEmmanuel Vadot compatible = "mpc83xx_wdt"; 78*c66ec88fSEmmanuel Vadot reg = <0x200 0x100>; 79*c66ec88fSEmmanuel Vadot }; 80*c66ec88fSEmmanuel Vadot 81*c66ec88fSEmmanuel Vadot i2c@3000 { 82*c66ec88fSEmmanuel Vadot #address-cells = <1>; 83*c66ec88fSEmmanuel Vadot #size-cells = <0>; 84*c66ec88fSEmmanuel Vadot cell-index = <0>; 85*c66ec88fSEmmanuel Vadot compatible = "fsl-i2c"; 86*c66ec88fSEmmanuel Vadot reg = <0x3000 0x100>; 87*c66ec88fSEmmanuel Vadot interrupts = <14 0x8>; 88*c66ec88fSEmmanuel Vadot interrupt-parent = <&ipic>; 89*c66ec88fSEmmanuel Vadot dfsrr; 90*c66ec88fSEmmanuel Vadot 91*c66ec88fSEmmanuel Vadot rtc@68 { 92*c66ec88fSEmmanuel Vadot compatible = "dallas,ds1374"; 93*c66ec88fSEmmanuel Vadot reg = <0x68>; 94*c66ec88fSEmmanuel Vadot }; 95*c66ec88fSEmmanuel Vadot }; 96*c66ec88fSEmmanuel Vadot 97*c66ec88fSEmmanuel Vadot i2c@3100 { 98*c66ec88fSEmmanuel Vadot #address-cells = <1>; 99*c66ec88fSEmmanuel Vadot #size-cells = <0>; 100*c66ec88fSEmmanuel Vadot cell-index = <1>; 101*c66ec88fSEmmanuel Vadot compatible = "fsl-i2c"; 102*c66ec88fSEmmanuel Vadot reg = <0x3100 0x100>; 103*c66ec88fSEmmanuel Vadot interrupts = <15 0x8>; 104*c66ec88fSEmmanuel Vadot interrupt-parent = <&ipic>; 105*c66ec88fSEmmanuel Vadot dfsrr; 106*c66ec88fSEmmanuel Vadot }; 107*c66ec88fSEmmanuel Vadot 108*c66ec88fSEmmanuel Vadot spi@7000 { 109*c66ec88fSEmmanuel Vadot cell-index = <0>; 110*c66ec88fSEmmanuel Vadot compatible = "fsl,spi"; 111*c66ec88fSEmmanuel Vadot reg = <0x7000 0x1000>; 112*c66ec88fSEmmanuel Vadot interrupts = <16 0x8>; 113*c66ec88fSEmmanuel Vadot interrupt-parent = <&ipic>; 114*c66ec88fSEmmanuel Vadot mode = "cpu"; 115*c66ec88fSEmmanuel Vadot }; 116*c66ec88fSEmmanuel Vadot 117*c66ec88fSEmmanuel Vadot dma@82a8 { 118*c66ec88fSEmmanuel Vadot #address-cells = <1>; 119*c66ec88fSEmmanuel Vadot #size-cells = <1>; 120*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8347-dma", "fsl,elo-dma"; 121*c66ec88fSEmmanuel Vadot reg = <0x82a8 4>; 122*c66ec88fSEmmanuel Vadot ranges = <0 0x8100 0x1a8>; 123*c66ec88fSEmmanuel Vadot interrupt-parent = <&ipic>; 124*c66ec88fSEmmanuel Vadot interrupts = <71 8>; 125*c66ec88fSEmmanuel Vadot cell-index = <0>; 126*c66ec88fSEmmanuel Vadot dma-channel@0 { 127*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8347-dma-channel", "fsl,elo-dma-channel"; 128*c66ec88fSEmmanuel Vadot reg = <0 0x80>; 129*c66ec88fSEmmanuel Vadot cell-index = <0>; 130*c66ec88fSEmmanuel Vadot interrupt-parent = <&ipic>; 131*c66ec88fSEmmanuel Vadot interrupts = <71 8>; 132*c66ec88fSEmmanuel Vadot }; 133*c66ec88fSEmmanuel Vadot dma-channel@80 { 134*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8347-dma-channel", "fsl,elo-dma-channel"; 135*c66ec88fSEmmanuel Vadot reg = <0x80 0x80>; 136*c66ec88fSEmmanuel Vadot cell-index = <1>; 137*c66ec88fSEmmanuel Vadot interrupt-parent = <&ipic>; 138*c66ec88fSEmmanuel Vadot interrupts = <71 8>; 139*c66ec88fSEmmanuel Vadot }; 140*c66ec88fSEmmanuel Vadot dma-channel@100 { 141*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8347-dma-channel", "fsl,elo-dma-channel"; 142*c66ec88fSEmmanuel Vadot reg = <0x100 0x80>; 143*c66ec88fSEmmanuel Vadot cell-index = <2>; 144*c66ec88fSEmmanuel Vadot interrupt-parent = <&ipic>; 145*c66ec88fSEmmanuel Vadot interrupts = <71 8>; 146*c66ec88fSEmmanuel Vadot }; 147*c66ec88fSEmmanuel Vadot dma-channel@180 { 148*c66ec88fSEmmanuel Vadot compatible = "fsl,mpc8347-dma-channel", "fsl,elo-dma-channel"; 149*c66ec88fSEmmanuel Vadot reg = <0x180 0x28>; 150*c66ec88fSEmmanuel Vadot cell-index = <3>; 151*c66ec88fSEmmanuel Vadot interrupt-parent = <&ipic>; 152*c66ec88fSEmmanuel Vadot interrupts = <71 8>; 153*c66ec88fSEmmanuel Vadot }; 154*c66ec88fSEmmanuel Vadot }; 155*c66ec88fSEmmanuel Vadot 156*c66ec88fSEmmanuel Vadot /* phy type (ULPI or SERIAL) are only types supported for MPH */ 157*c66ec88fSEmmanuel Vadot /* port = 0 or 1 */ 158*c66ec88fSEmmanuel Vadot usb@22000 { 159*c66ec88fSEmmanuel Vadot compatible = "fsl-usb2-mph"; 160*c66ec88fSEmmanuel Vadot reg = <0x22000 0x1000>; 161*c66ec88fSEmmanuel Vadot #address-cells = <1>; 162*c66ec88fSEmmanuel Vadot #size-cells = <0>; 163*c66ec88fSEmmanuel Vadot interrupt-parent = <&ipic>; 164*c66ec88fSEmmanuel Vadot interrupts = <39 0x8>; 165*c66ec88fSEmmanuel Vadot phy_type = "ulpi"; 166*c66ec88fSEmmanuel Vadot port0; 167*c66ec88fSEmmanuel Vadot }; 168*c66ec88fSEmmanuel Vadot /* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */ 169*c66ec88fSEmmanuel Vadot usb@23000 { 170*c66ec88fSEmmanuel Vadot compatible = "fsl-usb2-dr"; 171*c66ec88fSEmmanuel Vadot reg = <0x23000 0x1000>; 172*c66ec88fSEmmanuel Vadot #address-cells = <1>; 173*c66ec88fSEmmanuel Vadot #size-cells = <0>; 174*c66ec88fSEmmanuel Vadot interrupt-parent = <&ipic>; 175*c66ec88fSEmmanuel Vadot interrupts = <38 0x8>; 176*c66ec88fSEmmanuel Vadot dr_mode = "otg"; 177*c66ec88fSEmmanuel Vadot phy_type = "ulpi"; 178*c66ec88fSEmmanuel Vadot }; 179*c66ec88fSEmmanuel Vadot 180*c66ec88fSEmmanuel Vadot enet0: ethernet@24000 { 181*c66ec88fSEmmanuel Vadot #address-cells = <1>; 182*c66ec88fSEmmanuel Vadot #size-cells = <1>; 183*c66ec88fSEmmanuel Vadot cell-index = <0>; 184*c66ec88fSEmmanuel Vadot device_type = "network"; 185*c66ec88fSEmmanuel Vadot model = "TSEC"; 186*c66ec88fSEmmanuel Vadot compatible = "gianfar"; 187*c66ec88fSEmmanuel Vadot reg = <0x24000 0x1000>; 188*c66ec88fSEmmanuel Vadot ranges = <0x0 0x24000 0x1000>; 189*c66ec88fSEmmanuel Vadot local-mac-address = [ 00 08 e5 11 32 33 ]; 190*c66ec88fSEmmanuel Vadot interrupts = <32 0x8 33 0x8 34 0x8>; 191*c66ec88fSEmmanuel Vadot interrupt-parent = <&ipic>; 192*c66ec88fSEmmanuel Vadot tbi-handle = <&tbi0>; 193*c66ec88fSEmmanuel Vadot phy-handle = <&phy0>; 194*c66ec88fSEmmanuel Vadot linux,network-index = <0>; 195*c66ec88fSEmmanuel Vadot 196*c66ec88fSEmmanuel Vadot mdio@520 { 197*c66ec88fSEmmanuel Vadot #address-cells = <1>; 198*c66ec88fSEmmanuel Vadot #size-cells = <0>; 199*c66ec88fSEmmanuel Vadot compatible = "fsl,gianfar-mdio"; 200*c66ec88fSEmmanuel Vadot reg = <0x520 0x20>; 201*c66ec88fSEmmanuel Vadot 202*c66ec88fSEmmanuel Vadot phy0: ethernet-phy@0 { 203*c66ec88fSEmmanuel Vadot interrupt-parent = <&ipic>; 204*c66ec88fSEmmanuel Vadot interrupts = <17 0x8>; 205*c66ec88fSEmmanuel Vadot reg = <0x1>; 206*c66ec88fSEmmanuel Vadot }; 207*c66ec88fSEmmanuel Vadot 208*c66ec88fSEmmanuel Vadot phy1: ethernet-phy@1 { 209*c66ec88fSEmmanuel Vadot interrupt-parent = <&ipic>; 210*c66ec88fSEmmanuel Vadot interrupts = <18 0x8>; 211*c66ec88fSEmmanuel Vadot reg = <0x2>; 212*c66ec88fSEmmanuel Vadot }; 213*c66ec88fSEmmanuel Vadot 214*c66ec88fSEmmanuel Vadot tbi0: tbi-phy@11 { 215*c66ec88fSEmmanuel Vadot reg = <0x11>; 216*c66ec88fSEmmanuel Vadot device_type = "tbi-phy"; 217*c66ec88fSEmmanuel Vadot }; 218*c66ec88fSEmmanuel Vadot }; 219*c66ec88fSEmmanuel Vadot }; 220*c66ec88fSEmmanuel Vadot 221*c66ec88fSEmmanuel Vadot enet1: ethernet@25000 { 222*c66ec88fSEmmanuel Vadot #address-cells = <1>; 223*c66ec88fSEmmanuel Vadot #size-cells = <1>; 224*c66ec88fSEmmanuel Vadot cell-index = <1>; 225*c66ec88fSEmmanuel Vadot device_type = "network"; 226*c66ec88fSEmmanuel Vadot model = "TSEC"; 227*c66ec88fSEmmanuel Vadot compatible = "gianfar"; 228*c66ec88fSEmmanuel Vadot reg = <0x25000 0x1000>; 229*c66ec88fSEmmanuel Vadot ranges = <0x0 0x25000 0x1000>; 230*c66ec88fSEmmanuel Vadot local-mac-address = [ 00 08 e5 11 32 34 ]; 231*c66ec88fSEmmanuel Vadot interrupts = <35 0x8 36 0x8 37 0x8>; 232*c66ec88fSEmmanuel Vadot interrupt-parent = <&ipic>; 233*c66ec88fSEmmanuel Vadot tbi-handle = <&tbi1>; 234*c66ec88fSEmmanuel Vadot phy-handle = <&phy1>; 235*c66ec88fSEmmanuel Vadot linux,network-index = <1>; 236*c66ec88fSEmmanuel Vadot 237*c66ec88fSEmmanuel Vadot mdio@520 { 238*c66ec88fSEmmanuel Vadot #address-cells = <1>; 239*c66ec88fSEmmanuel Vadot #size-cells = <0>; 240*c66ec88fSEmmanuel Vadot compatible = "fsl,gianfar-tbi"; 241*c66ec88fSEmmanuel Vadot reg = <0x520 0x20>; 242*c66ec88fSEmmanuel Vadot 243*c66ec88fSEmmanuel Vadot tbi1: tbi-phy@11 { 244*c66ec88fSEmmanuel Vadot reg = <0x11>; 245*c66ec88fSEmmanuel Vadot device_type = "tbi-phy"; 246*c66ec88fSEmmanuel Vadot }; 247*c66ec88fSEmmanuel Vadot }; 248*c66ec88fSEmmanuel Vadot }; 249*c66ec88fSEmmanuel Vadot 250*c66ec88fSEmmanuel Vadot serial0: serial@4500 { 251*c66ec88fSEmmanuel Vadot cell-index = <0>; 252*c66ec88fSEmmanuel Vadot device_type = "serial"; 253*c66ec88fSEmmanuel Vadot compatible = "fsl,ns16550", "ns16550"; 254*c66ec88fSEmmanuel Vadot reg = <0x4500 0x100>; 255*c66ec88fSEmmanuel Vadot clock-frequency = <400000000>; 256*c66ec88fSEmmanuel Vadot interrupts = <9 0x8>; 257*c66ec88fSEmmanuel Vadot interrupt-parent = <&ipic>; 258*c66ec88fSEmmanuel Vadot }; 259*c66ec88fSEmmanuel Vadot 260*c66ec88fSEmmanuel Vadot serial1: serial@4600 { 261*c66ec88fSEmmanuel Vadot cell-index = <1>; 262*c66ec88fSEmmanuel Vadot device_type = "serial"; 263*c66ec88fSEmmanuel Vadot compatible = "fsl,ns16550", "ns16550"; 264*c66ec88fSEmmanuel Vadot reg = <0x4600 0x100>; 265*c66ec88fSEmmanuel Vadot clock-frequency = <400000000>; 266*c66ec88fSEmmanuel Vadot interrupts = <10 0x8>; 267*c66ec88fSEmmanuel Vadot interrupt-parent = <&ipic>; 268*c66ec88fSEmmanuel Vadot }; 269*c66ec88fSEmmanuel Vadot 270*c66ec88fSEmmanuel Vadot /* May need to remove if on a part without crypto engine */ 271*c66ec88fSEmmanuel Vadot crypto@30000 { 272*c66ec88fSEmmanuel Vadot device_type = "crypto"; 273*c66ec88fSEmmanuel Vadot model = "SEC2"; 274*c66ec88fSEmmanuel Vadot compatible = "talitos"; 275*c66ec88fSEmmanuel Vadot reg = <0x30000 0x10000>; 276*c66ec88fSEmmanuel Vadot interrupts = <11 0x8>; 277*c66ec88fSEmmanuel Vadot interrupt-parent = <&ipic>; 278*c66ec88fSEmmanuel Vadot num-channels = <4>; 279*c66ec88fSEmmanuel Vadot channel-fifo-len = <24>; 280*c66ec88fSEmmanuel Vadot exec-units-mask = <0x0000007e>; 281*c66ec88fSEmmanuel Vadot /* desc mask is for rev2.0, 282*c66ec88fSEmmanuel Vadot * we need runtime fixup for >2.0 */ 283*c66ec88fSEmmanuel Vadot descriptor-types-mask = <0x01010ebf>; 284*c66ec88fSEmmanuel Vadot }; 285*c66ec88fSEmmanuel Vadot 286*c66ec88fSEmmanuel Vadot /* IPIC 287*c66ec88fSEmmanuel Vadot * interrupts cell = <intr #, sense> 288*c66ec88fSEmmanuel Vadot * sense values match linux IORESOURCE_IRQ_* defines: 289*c66ec88fSEmmanuel Vadot * sense == 8: Level, low assertion 290*c66ec88fSEmmanuel Vadot * sense == 2: Edge, high-to-low change 291*c66ec88fSEmmanuel Vadot */ 292*c66ec88fSEmmanuel Vadot ipic: pic@700 { 293*c66ec88fSEmmanuel Vadot interrupt-controller; 294*c66ec88fSEmmanuel Vadot #address-cells = <0>; 295*c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 296*c66ec88fSEmmanuel Vadot reg = <0x700 0x100>; 297*c66ec88fSEmmanuel Vadot device_type = "ipic"; 298*c66ec88fSEmmanuel Vadot }; 299*c66ec88fSEmmanuel Vadot }; 300*c66ec88fSEmmanuel Vadot 301*c66ec88fSEmmanuel Vadot chosen { 302*c66ec88fSEmmanuel Vadot bootargs = "console=ttyS0,38400 root=/dev/mtdblock3 rootfstype=jffs2"; 303*c66ec88fSEmmanuel Vadot stdout-path = &serial0; 304*c66ec88fSEmmanuel Vadot }; 305*c66ec88fSEmmanuel Vadot 306*c66ec88fSEmmanuel Vadot}; 307