1/* 2 * Device Tree Source for AMCC Bamboo 3 * 4 * Copyright (c) 2006, 2007 IBM Corp. 5 * Josh Boyer <jwboyer@linux.vnet.ibm.com> 6 * 7 * This file is licensed under the terms of the GNU General Public 8 * License version 2. This program is licensed "as is" without 9 * any warranty of any kind, whether express or implied. 10 */ 11 12/ { 13 #address-cells = <2>; 14 #size-cells = <1>; 15 model = "amcc,bamboo"; 16 compatible = "amcc,bamboo"; 17 dcr-parent = <&/cpus/cpu@0>; 18 19 aliases { 20 serial0 = &UART0; 21 serial1 = &UART1; 22 }; 23 24 cpus { 25 #address-cells = <1>; 26 #size-cells = <0>; 27 28 cpu@0 { 29 device_type = "cpu"; 30 model = "PowerPC,440EP"; 31 reg = <0>; 32 clock-frequency = <1fca0550>; 33 timebase-frequency = <017d7840>; 34 i-cache-line-size = <20>; 35 d-cache-line-size = <20>; 36 i-cache-size = <8000>; 37 d-cache-size = <8000>; 38 dcr-controller; 39 dcr-access-method = "native"; 40 }; 41 }; 42 43 memory { 44 device_type = "memory"; 45 reg = <0 0 9000000>; 46 }; 47 48 UIC0: interrupt-controller0 { 49 compatible = "ibm,uic-440ep","ibm,uic"; 50 interrupt-controller; 51 cell-index = <0>; 52 dcr-reg = <0c0 009>; 53 #address-cells = <0>; 54 #size-cells = <0>; 55 #interrupt-cells = <2>; 56 }; 57/* 58 UIC1: interrupt-controller1 { 59 compatible = "ibm,uic-440ep","ibm,uic"; 60 interrupt-controller; 61 cell-index = <1>; 62 dcr-reg = <0d0 009>; 63 #address-cells = <0>; 64 #size-cells = <0>; 65 #interrupt-cells = <2>; 66 interrupts = <1e 4 1f 4>; 67 interrupt-parent = <&UIC0>; 68 }; 69*/ 70 71 SDR0: sdr { 72 compatible = "ibm,sdr-440ep"; 73 dcr-reg = <00e 002>; 74 }; 75 76 CPR0: cpr { 77 compatible = "ibm,cpr-440ep"; 78 dcr-reg = <00c 002>; 79 }; 80 81 plb { 82 compatible = "ibm,plb-440ep", "ibm,plb-440gp", "ibm,plb4"; 83 #address-cells = <2>; 84 #size-cells = <1>; 85 ranges; 86 clock-frequency = <07f28154>; 87 88 SDRAM0: sdram { 89 compatible = "ibm,sdram-440ep", "ibm,sdram-405gp"; 90 dcr-reg = <010 2>; 91 }; 92 93 DMA0: dma { 94 compatible = "ibm,dma-440ep", "ibm,dma-440gp"; 95 dcr-reg = <100 027>; 96 }; 97 98 POB0: opb { 99 compatible = "ibm,opb-440ep", "ibm,opb-440gp", "ibm,opb"; 100 #address-cells = <1>; 101 #size-cells = <1>; 102 /* Bamboo is oddball in the 44x world and doesn't use the ERPN 103 * bits. 104 */ 105 ranges = <00000000 0 00000000 80000000 106 80000000 0 80000000 80000000>; 107 /* interrupt-parent = <&UIC1>; */ 108 interrupts = <7 4>; 109 clock-frequency = <03f940aa>; 110 111 EBC0: ebc { 112 compatible = "ibm,ebc-440ep", "ibm,ebc-440gp", "ibm,ebc"; 113 dcr-reg = <012 2>; 114 #address-cells = <2>; 115 #size-cells = <1>; 116 clock-frequency = <03f940aa>; 117 interrupts = <5 1>; 118 /* interrupt-parent = <&UIC1>; */ 119 }; 120 121 UART0: serial@ef600300 { 122 device_type = "serial"; 123 compatible = "ns16550"; 124 reg = <ef600300 8>; 125 virtual-reg = <ef600300>; 126 clock-frequency = <00a8c000>; 127 current-speed = <1c200>; 128 interrupt-parent = <&UIC0>; 129 interrupts = <0 4>; 130 }; 131 132 UART1: serial@ef600400 { 133 device_type = "serial"; 134 compatible = "ns16550"; 135 reg = <ef600400 8>; 136 virtual-reg = <ef600400>; 137 clock-frequency = <00a8c000>; 138 current-speed = <0>; 139 interrupt-parent = <&UIC0>; 140 interrupts = <1 4>; 141 }; 142/* 143 UART2: serial@ef600500 { 144 device_type = "serial"; 145 compatible = "ns16550"; 146 reg = <ef600500 8>; 147 virtual-reg = <ef600500>; 148 clock-frequency = <0>; 149 current-speed = <0>; 150 interrupt-parent = <&UIC0>; 151 interrupts = <3 4>; 152 }; 153 154 UART3: serial@ef600600 { 155 device_type = "serial"; 156 compatible = "ns16550"; 157 reg = <ef600600 8>; 158 virtual-reg = <ef600600>; 159 clock-frequency = <0>; 160 current-speed = <0>; 161 interrupt-parent = <&UIC0>; 162 interrupts = <4 4>; 163 }; 164 165*/ 166 IIC0: i2c@ef600700 { 167 device_type = "i2c"; 168 compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic"; 169 reg = <ef600700 14>; 170 interrupt-parent = <&UIC0>; 171 interrupts = <2 4>; 172 }; 173 174 IIC1: i2c@ef600800 { 175 device_type = "i2c"; 176 compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic"; 177 reg = <ef600800 14>; 178 interrupt-parent = <&UIC0>; 179 interrupts = <7 4>; 180 }; 181 182 ZMII0: emac-zmii@ef600d00 { 183 device_type = "zmii-interface"; 184 compatible = "ibm,zmii-440ep", "ibm,zmii-440gp", "ibm,zmii"; 185 reg = <ef600d00 c>; 186 }; 187 188 }; 189 190 PCI0: pci@ec000000 { 191 device_type = "pci"; 192 #interrupt-cells = <1>; 193 #size-cells = <2>; 194 #address-cells = <3>; 195 compatible = "ibm,plb440ep-pci", "ibm,plb-pci"; 196 primary; 197 reg = <0 eec00000 8 /* Config space access */ 198 0 eed00000 4 /* IACK */ 199 0 eed00000 4 /* Special cycle */ 200 0 ef400000 40>; /* Internal registers */ 201 202 /* Outbound ranges, one memory and one IO, 203 * later cannot be changed. Chip supports a second 204 * IO range but we don't use it for now 205 */ 206 ranges = <02000000 0 a0000000 0 a0000000 0 20000000 207 01000000 0 00000000 0 e8000000 0 00010000>; 208 209 /* Inbound 2GB range starting at 0 */ 210 dma-ranges = <42000000 0 0 0 0 0 80000000>; 211 212 /* Bamboo has all 4 IRQ pins tied together per slot */ 213 interrupt-map-mask = <f800 0 0 0>; 214 interrupt-map = < 215 /* IDSEL 1 */ 216 0800 0 0 0 &UIC0 1c 8 217 218 /* IDSEL 2 */ 219 1000 0 0 0 &UIC0 1b 8 220 221 /* IDSEL 3 */ 222 1800 0 0 0 &UIC0 1a 8 223 224 /* IDSEL 4 */ 225 2000 0 0 0 &UIC0 19 8 226 >; 227 }; 228 229 }; 230 231 chosen { 232 linux,stdout-path = "/plb/opb/serial@ef600300"; 233 }; 234}; 235