1*c66ec88fSEmmanuel Vadot/* 2*c66ec88fSEmmanuel Vadot * Device Tree Source for ACube Sam440ep based off bamboo.dts code 3*c66ec88fSEmmanuel Vadot * original copyrights below 4*c66ec88fSEmmanuel Vadot * 5*c66ec88fSEmmanuel Vadot * Copyright (c) 2006, 2007 IBM Corp. 6*c66ec88fSEmmanuel Vadot * Josh Boyer <jwboyer@linux.vnet.ibm.com> 7*c66ec88fSEmmanuel Vadot * 8*c66ec88fSEmmanuel Vadot * Modified from bamboo.dts for sam440ep: 9*c66ec88fSEmmanuel Vadot * Copyright 2008 Giuseppe Coviello <gicoviello@gmail.com> 10*c66ec88fSEmmanuel Vadot * 11*c66ec88fSEmmanuel Vadot * This file is licensed under the terms of the GNU General Public 12*c66ec88fSEmmanuel Vadot * License version 2. This program is licensed "as is" without 13*c66ec88fSEmmanuel Vadot * any warranty of any kind, whether express or implied. 14*c66ec88fSEmmanuel Vadot */ 15*c66ec88fSEmmanuel Vadot 16*c66ec88fSEmmanuel Vadot/dts-v1/; 17*c66ec88fSEmmanuel Vadot 18*c66ec88fSEmmanuel Vadot/ { 19*c66ec88fSEmmanuel Vadot #address-cells = <2>; 20*c66ec88fSEmmanuel Vadot #size-cells = <1>; 21*c66ec88fSEmmanuel Vadot model = "acube,sam440ep"; 22*c66ec88fSEmmanuel Vadot compatible = "acube,sam440ep"; 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel Vadot aliases { 25*c66ec88fSEmmanuel Vadot ethernet0 = &EMAC0; 26*c66ec88fSEmmanuel Vadot ethernet1 = &EMAC1; 27*c66ec88fSEmmanuel Vadot serial0 = &UART0; 28*c66ec88fSEmmanuel Vadot serial1 = &UART1; 29*c66ec88fSEmmanuel Vadot serial2 = &UART2; 30*c66ec88fSEmmanuel Vadot serial3 = &UART3; 31*c66ec88fSEmmanuel Vadot }; 32*c66ec88fSEmmanuel Vadot 33*c66ec88fSEmmanuel Vadot cpus { 34*c66ec88fSEmmanuel Vadot #address-cells = <1>; 35*c66ec88fSEmmanuel Vadot #size-cells = <0>; 36*c66ec88fSEmmanuel Vadot 37*c66ec88fSEmmanuel Vadot cpu@0 { 38*c66ec88fSEmmanuel Vadot device_type = "cpu"; 39*c66ec88fSEmmanuel Vadot model = "PowerPC,440EP"; 40*c66ec88fSEmmanuel Vadot reg = <0>; 41*c66ec88fSEmmanuel Vadot clock-frequency = <0>; /* Filled in by zImage */ 42*c66ec88fSEmmanuel Vadot timebase-frequency = <0>; /* Filled in by zImage */ 43*c66ec88fSEmmanuel Vadot i-cache-line-size = <32>; 44*c66ec88fSEmmanuel Vadot d-cache-line-size = <32>; 45*c66ec88fSEmmanuel Vadot i-cache-size = <32768>; 46*c66ec88fSEmmanuel Vadot d-cache-size = <32768>; 47*c66ec88fSEmmanuel Vadot dcr-controller; 48*c66ec88fSEmmanuel Vadot dcr-access-method = "native"; 49*c66ec88fSEmmanuel Vadot }; 50*c66ec88fSEmmanuel Vadot }; 51*c66ec88fSEmmanuel Vadot 52*c66ec88fSEmmanuel Vadot memory { 53*c66ec88fSEmmanuel Vadot device_type = "memory"; 54*c66ec88fSEmmanuel Vadot reg = <0 0 0>; /* Filled in by zImage */ 55*c66ec88fSEmmanuel Vadot }; 56*c66ec88fSEmmanuel Vadot 57*c66ec88fSEmmanuel Vadot UIC0: interrupt-controller0 { 58*c66ec88fSEmmanuel Vadot compatible = "ibm,uic-440ep","ibm,uic"; 59*c66ec88fSEmmanuel Vadot interrupt-controller; 60*c66ec88fSEmmanuel Vadot cell-index = <0>; 61*c66ec88fSEmmanuel Vadot dcr-reg = <0x0c0 9>; 62*c66ec88fSEmmanuel Vadot #address-cells = <0>; 63*c66ec88fSEmmanuel Vadot #size-cells = <0>; 64*c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 65*c66ec88fSEmmanuel Vadot }; 66*c66ec88fSEmmanuel Vadot 67*c66ec88fSEmmanuel Vadot UIC1: interrupt-controller1 { 68*c66ec88fSEmmanuel Vadot compatible = "ibm,uic-440ep","ibm,uic"; 69*c66ec88fSEmmanuel Vadot interrupt-controller; 70*c66ec88fSEmmanuel Vadot cell-index = <1>; 71*c66ec88fSEmmanuel Vadot dcr-reg = <0x0d0 9>; 72*c66ec88fSEmmanuel Vadot #address-cells = <0>; 73*c66ec88fSEmmanuel Vadot #size-cells = <0>; 74*c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 75*c66ec88fSEmmanuel Vadot interrupts = <0x1e 4 0x1f 4>; /* cascade */ 76*c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC0>; 77*c66ec88fSEmmanuel Vadot }; 78*c66ec88fSEmmanuel Vadot 79*c66ec88fSEmmanuel Vadot SDR0: sdr { 80*c66ec88fSEmmanuel Vadot compatible = "ibm,sdr-440ep"; 81*c66ec88fSEmmanuel Vadot dcr-reg = <0x00e 2>; 82*c66ec88fSEmmanuel Vadot }; 83*c66ec88fSEmmanuel Vadot 84*c66ec88fSEmmanuel Vadot CPR0: cpr { 85*c66ec88fSEmmanuel Vadot compatible = "ibm,cpr-440ep"; 86*c66ec88fSEmmanuel Vadot dcr-reg = <0x00c 2>; 87*c66ec88fSEmmanuel Vadot }; 88*c66ec88fSEmmanuel Vadot 89*c66ec88fSEmmanuel Vadot plb { 90*c66ec88fSEmmanuel Vadot compatible = "ibm,plb-440ep", "ibm,plb-440gp", "ibm,plb4"; 91*c66ec88fSEmmanuel Vadot #address-cells = <2>; 92*c66ec88fSEmmanuel Vadot #size-cells = <1>; 93*c66ec88fSEmmanuel Vadot ranges; 94*c66ec88fSEmmanuel Vadot clock-frequency = <0>; /* Filled in by zImage */ 95*c66ec88fSEmmanuel Vadot 96*c66ec88fSEmmanuel Vadot SDRAM0: sdram { 97*c66ec88fSEmmanuel Vadot compatible = "ibm,sdram-440ep", "ibm,sdram-405gp"; 98*c66ec88fSEmmanuel Vadot dcr-reg = <0x010 2>; 99*c66ec88fSEmmanuel Vadot }; 100*c66ec88fSEmmanuel Vadot 101*c66ec88fSEmmanuel Vadot DMA0: dma { 102*c66ec88fSEmmanuel Vadot compatible = "ibm,dma-440ep", "ibm,dma-440gp"; 103*c66ec88fSEmmanuel Vadot dcr-reg = <0x100 0x027>; 104*c66ec88fSEmmanuel Vadot }; 105*c66ec88fSEmmanuel Vadot 106*c66ec88fSEmmanuel Vadot MAL0: mcmal { 107*c66ec88fSEmmanuel Vadot compatible = "ibm,mcmal-440ep", "ibm,mcmal-440gp", "ibm,mcmal"; 108*c66ec88fSEmmanuel Vadot dcr-reg = <0x180 0x062>; 109*c66ec88fSEmmanuel Vadot num-tx-chans = <4>; 110*c66ec88fSEmmanuel Vadot num-rx-chans = <2>; 111*c66ec88fSEmmanuel Vadot interrupt-parent = <&MAL0>; 112*c66ec88fSEmmanuel Vadot interrupts = <0 1 2 3 4>; 113*c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 114*c66ec88fSEmmanuel Vadot #address-cells = <0>; 115*c66ec88fSEmmanuel Vadot #size-cells = <0>; 116*c66ec88fSEmmanuel Vadot interrupt-map = </*TXEOB*/ 0 &UIC0 10 4 117*c66ec88fSEmmanuel Vadot /*RXEOB*/ 1 &UIC0 11 4 118*c66ec88fSEmmanuel Vadot /*SERR*/ 2 &UIC1 0 4 119*c66ec88fSEmmanuel Vadot /*TXDE*/ 3 &UIC1 1 4 120*c66ec88fSEmmanuel Vadot /*RXDE*/ 4 &UIC1 2 4>; 121*c66ec88fSEmmanuel Vadot }; 122*c66ec88fSEmmanuel Vadot 123*c66ec88fSEmmanuel Vadot POB0: opb { 124*c66ec88fSEmmanuel Vadot compatible = "ibm,opb-440ep", "ibm,opb-440gp", "ibm,opb"; 125*c66ec88fSEmmanuel Vadot #address-cells = <1>; 126*c66ec88fSEmmanuel Vadot #size-cells = <1>; 127*c66ec88fSEmmanuel Vadot /* Bamboo is oddball in the 44x world and doesn't use the ERPN 128*c66ec88fSEmmanuel Vadot * bits. 129*c66ec88fSEmmanuel Vadot */ 130*c66ec88fSEmmanuel Vadot ranges = <0x00000000 0 0x00000000 0x80000000 131*c66ec88fSEmmanuel Vadot 0x80000000 0 0x80000000 0x80000000>; 132*c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC1>; 133*c66ec88fSEmmanuel Vadot interrupts = <7 4>; 134*c66ec88fSEmmanuel Vadot clock-frequency = <0>; /* Filled in by zImage */ 135*c66ec88fSEmmanuel Vadot 136*c66ec88fSEmmanuel Vadot EBC0: ebc { 137*c66ec88fSEmmanuel Vadot compatible = "ibm,ebc-440ep", "ibm,ebc-440gp", "ibm,ebc"; 138*c66ec88fSEmmanuel Vadot dcr-reg = <0x012 2>; 139*c66ec88fSEmmanuel Vadot #address-cells = <2>; 140*c66ec88fSEmmanuel Vadot #size-cells = <1>; 141*c66ec88fSEmmanuel Vadot clock-frequency = <0>; /* Filled in by zImage */ 142*c66ec88fSEmmanuel Vadot interrupts = <5 1>; 143*c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC1>; 144*c66ec88fSEmmanuel Vadot }; 145*c66ec88fSEmmanuel Vadot 146*c66ec88fSEmmanuel Vadot UART0: serial@ef600300 { 147*c66ec88fSEmmanuel Vadot device_type = "serial"; 148*c66ec88fSEmmanuel Vadot compatible = "ns16550"; 149*c66ec88fSEmmanuel Vadot reg = <0xef600300 8>; 150*c66ec88fSEmmanuel Vadot virtual-reg = <0xef600300>; 151*c66ec88fSEmmanuel Vadot clock-frequency = <0>; /* Filled in by zImage */ 152*c66ec88fSEmmanuel Vadot current-speed = <0x1c200>; 153*c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC0>; 154*c66ec88fSEmmanuel Vadot interrupts = <0 4>; 155*c66ec88fSEmmanuel Vadot }; 156*c66ec88fSEmmanuel Vadot 157*c66ec88fSEmmanuel Vadot UART1: serial@ef600400 { 158*c66ec88fSEmmanuel Vadot device_type = "serial"; 159*c66ec88fSEmmanuel Vadot compatible = "ns16550"; 160*c66ec88fSEmmanuel Vadot reg = <0xef600400 8>; 161*c66ec88fSEmmanuel Vadot virtual-reg = <0xef600400>; 162*c66ec88fSEmmanuel Vadot clock-frequency = <0>; 163*c66ec88fSEmmanuel Vadot current-speed = <0>; 164*c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC0>; 165*c66ec88fSEmmanuel Vadot interrupts = <1 4>; 166*c66ec88fSEmmanuel Vadot }; 167*c66ec88fSEmmanuel Vadot 168*c66ec88fSEmmanuel Vadot UART2: serial@ef600500 { 169*c66ec88fSEmmanuel Vadot device_type = "serial"; 170*c66ec88fSEmmanuel Vadot compatible = "ns16550"; 171*c66ec88fSEmmanuel Vadot reg = <0xef600500 8>; 172*c66ec88fSEmmanuel Vadot virtual-reg = <0xef600500>; 173*c66ec88fSEmmanuel Vadot clock-frequency = <0>; 174*c66ec88fSEmmanuel Vadot current-speed = <0>; 175*c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC0>; 176*c66ec88fSEmmanuel Vadot interrupts = <3 4>; 177*c66ec88fSEmmanuel Vadot }; 178*c66ec88fSEmmanuel Vadot 179*c66ec88fSEmmanuel Vadot UART3: serial@ef600600 { 180*c66ec88fSEmmanuel Vadot device_type = "serial"; 181*c66ec88fSEmmanuel Vadot compatible = "ns16550"; 182*c66ec88fSEmmanuel Vadot reg = <0xef600600 8>; 183*c66ec88fSEmmanuel Vadot virtual-reg = <0xef600600>; 184*c66ec88fSEmmanuel Vadot clock-frequency = <0>; 185*c66ec88fSEmmanuel Vadot current-speed = <0>; 186*c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC0>; 187*c66ec88fSEmmanuel Vadot interrupts = <4 4>; 188*c66ec88fSEmmanuel Vadot }; 189*c66ec88fSEmmanuel Vadot 190*c66ec88fSEmmanuel Vadot IIC0: i2c@ef600700 { 191*c66ec88fSEmmanuel Vadot #address-cells = <1>; 192*c66ec88fSEmmanuel Vadot #size-cells = <0>; 193*c66ec88fSEmmanuel Vadot compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic"; 194*c66ec88fSEmmanuel Vadot index = <0>; 195*c66ec88fSEmmanuel Vadot reg = <0xef600700 0x14>; 196*c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC0>; 197*c66ec88fSEmmanuel Vadot interrupts = <2 4>; 198*c66ec88fSEmmanuel Vadot rtc@68 { 199*c66ec88fSEmmanuel Vadot compatible = "st,m41t80"; 200*c66ec88fSEmmanuel Vadot reg = <0x68>; 201*c66ec88fSEmmanuel Vadot }; 202*c66ec88fSEmmanuel Vadot }; 203*c66ec88fSEmmanuel Vadot 204*c66ec88fSEmmanuel Vadot IIC1: i2c@ef600800 { 205*c66ec88fSEmmanuel Vadot compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic"; 206*c66ec88fSEmmanuel Vadot index = <5>; 207*c66ec88fSEmmanuel Vadot reg = <0xef600800 0x14>; 208*c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC0>; 209*c66ec88fSEmmanuel Vadot interrupts = <7 4>; 210*c66ec88fSEmmanuel Vadot }; 211*c66ec88fSEmmanuel Vadot 212*c66ec88fSEmmanuel Vadot ZMII0: emac-zmii@ef600d00 { 213*c66ec88fSEmmanuel Vadot compatible = "ibm,zmii-440ep", "ibm,zmii-440gp", "ibm,zmii"; 214*c66ec88fSEmmanuel Vadot reg = <0xef600d00 0xc>; 215*c66ec88fSEmmanuel Vadot }; 216*c66ec88fSEmmanuel Vadot 217*c66ec88fSEmmanuel Vadot EMAC0: ethernet@ef600e00 { 218*c66ec88fSEmmanuel Vadot linux,network-index = <0>; 219*c66ec88fSEmmanuel Vadot device_type = "network"; 220*c66ec88fSEmmanuel Vadot compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac"; 221*c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC1>; 222*c66ec88fSEmmanuel Vadot interrupts = <0x1c 4 0x1d 4>; 223*c66ec88fSEmmanuel Vadot reg = <0xef600e00 0x70>; 224*c66ec88fSEmmanuel Vadot local-mac-address = [000000000000]; 225*c66ec88fSEmmanuel Vadot mal-device = <&MAL0>; 226*c66ec88fSEmmanuel Vadot mal-tx-channel = <0 1>; 227*c66ec88fSEmmanuel Vadot mal-rx-channel = <0>; 228*c66ec88fSEmmanuel Vadot cell-index = <0>; 229*c66ec88fSEmmanuel Vadot max-frame-size = <0x5dc>; 230*c66ec88fSEmmanuel Vadot rx-fifo-size = <0x1000>; 231*c66ec88fSEmmanuel Vadot tx-fifo-size = <0x800>; 232*c66ec88fSEmmanuel Vadot phy-mode = "rmii"; 233*c66ec88fSEmmanuel Vadot phy-map = <00000000>; 234*c66ec88fSEmmanuel Vadot zmii-device = <&ZMII0>; 235*c66ec88fSEmmanuel Vadot zmii-channel = <0>; 236*c66ec88fSEmmanuel Vadot }; 237*c66ec88fSEmmanuel Vadot 238*c66ec88fSEmmanuel Vadot EMAC1: ethernet@ef600f00 { 239*c66ec88fSEmmanuel Vadot linux,network-index = <1>; 240*c66ec88fSEmmanuel Vadot device_type = "network"; 241*c66ec88fSEmmanuel Vadot compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac"; 242*c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC1>; 243*c66ec88fSEmmanuel Vadot interrupts = <0x1e 4 0x1f 4>; 244*c66ec88fSEmmanuel Vadot reg = <0xef600f00 0x70>; 245*c66ec88fSEmmanuel Vadot local-mac-address = [000000000000]; 246*c66ec88fSEmmanuel Vadot mal-device = <&MAL0>; 247*c66ec88fSEmmanuel Vadot mal-tx-channel = <2 3>; 248*c66ec88fSEmmanuel Vadot mal-rx-channel = <1>; 249*c66ec88fSEmmanuel Vadot cell-index = <1>; 250*c66ec88fSEmmanuel Vadot max-frame-size = <0x5dc>; 251*c66ec88fSEmmanuel Vadot rx-fifo-size = <0x1000>; 252*c66ec88fSEmmanuel Vadot tx-fifo-size = <0x800>; 253*c66ec88fSEmmanuel Vadot phy-mode = "rmii"; 254*c66ec88fSEmmanuel Vadot phy-map = <00000000>; 255*c66ec88fSEmmanuel Vadot zmii-device = <&ZMII0>; 256*c66ec88fSEmmanuel Vadot zmii-channel = <1>; 257*c66ec88fSEmmanuel Vadot }; 258*c66ec88fSEmmanuel Vadot usb@ef601000 { 259*c66ec88fSEmmanuel Vadot compatible = "ohci-be"; 260*c66ec88fSEmmanuel Vadot reg = <0xef601000 0x80>; 261*c66ec88fSEmmanuel Vadot interrupts = <8 4 9 4>; 262*c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC1>; 263*c66ec88fSEmmanuel Vadot }; 264*c66ec88fSEmmanuel Vadot }; 265*c66ec88fSEmmanuel Vadot 266*c66ec88fSEmmanuel Vadot PCI0: pci@ec000000 { 267*c66ec88fSEmmanuel Vadot device_type = "pci"; 268*c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 269*c66ec88fSEmmanuel Vadot #size-cells = <2>; 270*c66ec88fSEmmanuel Vadot #address-cells = <3>; 271*c66ec88fSEmmanuel Vadot compatible = "ibm,plb440ep-pci", "ibm,plb-pci"; 272*c66ec88fSEmmanuel Vadot primary; 273*c66ec88fSEmmanuel Vadot reg = <0 0xeec00000 8 /* Config space access */ 274*c66ec88fSEmmanuel Vadot 0 0xeed00000 4 /* IACK */ 275*c66ec88fSEmmanuel Vadot 0 0xeed00000 4 /* Special cycle */ 276*c66ec88fSEmmanuel Vadot 0 0xef400000 0x40>; /* Internal registers */ 277*c66ec88fSEmmanuel Vadot 278*c66ec88fSEmmanuel Vadot /* Outbound ranges, one memory and one IO, 279*c66ec88fSEmmanuel Vadot * later cannot be changed. Chip supports a second 280*c66ec88fSEmmanuel Vadot * IO range but we don't use it for now 281*c66ec88fSEmmanuel Vadot */ 282*c66ec88fSEmmanuel Vadot ranges = <0x02000000 0 0xa0000000 0 0xa0000000 0 0x20000000 283*c66ec88fSEmmanuel Vadot 0x01000000 0 0x00000000 0 0xe8000000 0 0x00010000>; 284*c66ec88fSEmmanuel Vadot 285*c66ec88fSEmmanuel Vadot /* Inbound 2GB range starting at 0 */ 286*c66ec88fSEmmanuel Vadot dma-ranges = <0x42000000 0 0 0 0 0 0x80000000>; 287*c66ec88fSEmmanuel Vadot }; 288*c66ec88fSEmmanuel Vadot }; 289*c66ec88fSEmmanuel Vadot 290*c66ec88fSEmmanuel Vadot chosen { 291*c66ec88fSEmmanuel Vadot stdout-path = "/plb/opb/serial@ef600300"; 292*c66ec88fSEmmanuel Vadot }; 293*c66ec88fSEmmanuel Vadot}; 294