Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[POWERPC] 4xx: Add AMCC 440EP Yosemite DTS

This adds a DTS file for the AMCC 440EP Yosemite board.

Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>

+304
+304
arch/powerpc/boot/dts/yosemite.dts
··· 1 + /* 2 + * Device Tree Source for AMCC Yosemite 3 + * 4 + * Copyright 2008 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,yosemite"; 16 + compatible = "amcc,yosemite","amcc,bamboo"; 17 + dcr-parent = <&/cpus/cpu@0>; 18 + 19 + aliases { 20 + ethernet0 = &EMAC0; 21 + ethernet1 = &EMAC1; 22 + serial0 = &UART0; 23 + serial1 = &UART1; 24 + serial2 = &UART2; 25 + serial3 = &UART3; 26 + }; 27 + 28 + cpus { 29 + #address-cells = <1>; 30 + #size-cells = <0>; 31 + 32 + cpu@0 { 33 + device_type = "cpu"; 34 + model = "PowerPC,440EP"; 35 + reg = <0>; 36 + clock-frequency = <0>; /* Filled in by zImage */ 37 + timebase-frequency = <0>; /* Filled in by zImage */ 38 + i-cache-line-size = <20>; 39 + d-cache-line-size = <20>; 40 + i-cache-size = <8000>; 41 + d-cache-size = <8000>; 42 + dcr-controller; 43 + dcr-access-method = "native"; 44 + }; 45 + }; 46 + 47 + memory { 48 + device_type = "memory"; 49 + reg = <0 0 0>; /* Filled in by zImage */ 50 + }; 51 + 52 + UIC0: interrupt-controller0 { 53 + compatible = "ibm,uic-440ep","ibm,uic"; 54 + interrupt-controller; 55 + cell-index = <0>; 56 + dcr-reg = <0c0 009>; 57 + #address-cells = <0>; 58 + #size-cells = <0>; 59 + #interrupt-cells = <2>; 60 + }; 61 + 62 + UIC1: interrupt-controller1 { 63 + compatible = "ibm,uic-440ep","ibm,uic"; 64 + interrupt-controller; 65 + cell-index = <1>; 66 + dcr-reg = <0d0 009>; 67 + #address-cells = <0>; 68 + #size-cells = <0>; 69 + #interrupt-cells = <2>; 70 + interrupts = <1e 4 1f 4>; /* cascade */ 71 + interrupt-parent = <&UIC0>; 72 + }; 73 + 74 + SDR0: sdr { 75 + compatible = "ibm,sdr-440ep"; 76 + dcr-reg = <00e 002>; 77 + }; 78 + 79 + CPR0: cpr { 80 + compatible = "ibm,cpr-440ep"; 81 + dcr-reg = <00c 002>; 82 + }; 83 + 84 + plb { 85 + compatible = "ibm,plb-440ep", "ibm,plb-440gp", "ibm,plb4"; 86 + #address-cells = <2>; 87 + #size-cells = <1>; 88 + ranges; 89 + clock-frequency = <0>; /* Filled in by zImage */ 90 + 91 + SDRAM0: sdram { 92 + compatible = "ibm,sdram-440ep", "ibm,sdram-405gp"; 93 + dcr-reg = <010 2>; 94 + }; 95 + 96 + DMA0: dma { 97 + compatible = "ibm,dma-440ep", "ibm,dma-440gp"; 98 + dcr-reg = <100 027>; 99 + }; 100 + 101 + MAL0: mcmal { 102 + compatible = "ibm,mcmal-440ep", "ibm,mcmal-440gp", "ibm,mcmal"; 103 + dcr-reg = <180 62>; 104 + num-tx-chans = <4>; 105 + num-rx-chans = <2>; 106 + interrupt-parent = <&MAL0>; 107 + interrupts = <0 1 2 3 4>; 108 + #interrupt-cells = <1>; 109 + #address-cells = <0>; 110 + #size-cells = <0>; 111 + interrupt-map = </*TXEOB*/ 0 &UIC0 a 4 112 + /*RXEOB*/ 1 &UIC0 b 4 113 + /*SERR*/ 2 &UIC1 0 4 114 + /*TXDE*/ 3 &UIC1 1 4 115 + /*RXDE*/ 4 &UIC1 2 4>; 116 + }; 117 + 118 + POB0: opb { 119 + compatible = "ibm,opb-440ep", "ibm,opb-440gp", "ibm,opb"; 120 + #address-cells = <1>; 121 + #size-cells = <1>; 122 + /* Bamboo is oddball in the 44x world and doesn't use the ERPN 123 + * bits. 124 + */ 125 + ranges = <00000000 0 00000000 80000000 126 + 80000000 0 80000000 80000000>; 127 + interrupt-parent = <&UIC1>; 128 + interrupts = <7 4>; 129 + clock-frequency = <0>; /* Filled in by zImage */ 130 + 131 + EBC0: ebc { 132 + compatible = "ibm,ebc-440ep", "ibm,ebc-440gp", "ibm,ebc"; 133 + dcr-reg = <012 2>; 134 + #address-cells = <2>; 135 + #size-cells = <1>; 136 + clock-frequency = <0>; /* Filled in by zImage */ 137 + interrupts = <5 1>; 138 + interrupt-parent = <&UIC1>; 139 + }; 140 + 141 + UART0: serial@ef600300 { 142 + device_type = "serial"; 143 + compatible = "ns16550"; 144 + reg = <ef600300 8>; 145 + virtual-reg = <ef600300>; 146 + clock-frequency = <0>; /* Filled in by zImage */ 147 + current-speed = <1c200>; 148 + interrupt-parent = <&UIC0>; 149 + interrupts = <0 4>; 150 + }; 151 + 152 + UART1: serial@ef600400 { 153 + device_type = "serial"; 154 + compatible = "ns16550"; 155 + reg = <ef600400 8>; 156 + virtual-reg = <ef600400>; 157 + clock-frequency = <0>; 158 + current-speed = <0>; 159 + interrupt-parent = <&UIC0>; 160 + interrupts = <1 4>; 161 + }; 162 + 163 + UART2: serial@ef600500 { 164 + device_type = "serial"; 165 + compatible = "ns16550"; 166 + reg = <ef600500 8>; 167 + virtual-reg = <ef600500>; 168 + clock-frequency = <0>; 169 + current-speed = <0>; 170 + interrupt-parent = <&UIC0>; 171 + interrupts = <3 4>; 172 + status = "disabled"; 173 + }; 174 + 175 + UART3: serial@ef600600 { 176 + device_type = "serial"; 177 + compatible = "ns16550"; 178 + reg = <ef600600 8>; 179 + virtual-reg = <ef600600>; 180 + clock-frequency = <0>; 181 + current-speed = <0>; 182 + interrupt-parent = <&UIC0>; 183 + interrupts = <4 4>; 184 + status = "disabled"; 185 + }; 186 + 187 + IIC0: i2c@ef600700 { 188 + compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic"; 189 + reg = <ef600700 14>; 190 + interrupt-parent = <&UIC0>; 191 + interrupts = <2 4>; 192 + }; 193 + 194 + IIC1: i2c@ef600800 { 195 + compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic"; 196 + reg = <ef600800 14>; 197 + interrupt-parent = <&UIC0>; 198 + interrupts = <7 4>; 199 + }; 200 + 201 + spi@ef600900 { 202 + compatible = "amcc,spi-440ep"; 203 + reg = <ef600900 6>; 204 + interrupts = <8 4>; 205 + interrupt-parent = <&UIC0>; 206 + }; 207 + 208 + ZMII0: emac-zmii@ef600d00 { 209 + compatible = "ibm,zmii-440ep", "ibm,zmii-440gp", "ibm,zmii"; 210 + reg = <ef600d00 c>; 211 + }; 212 + 213 + EMAC0: ethernet@ef600e00 { 214 + device_type = "network"; 215 + compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac"; 216 + interrupt-parent = <&UIC1>; 217 + interrupts = <1c 4 1d 4>; 218 + reg = <ef600e00 70>; 219 + local-mac-address = [000000000000]; 220 + mal-device = <&MAL0>; 221 + mal-tx-channel = <0 1>; 222 + mal-rx-channel = <0>; 223 + cell-index = <0>; 224 + max-frame-size = <5dc>; 225 + rx-fifo-size = <1000>; 226 + tx-fifo-size = <800>; 227 + phy-mode = "rmii"; 228 + phy-map = <00000000>; 229 + zmii-device = <&ZMII0>; 230 + zmii-channel = <0>; 231 + }; 232 + 233 + EMAC1: ethernet@ef600f00 { 234 + device_type = "network"; 235 + compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac"; 236 + interrupt-parent = <&UIC1>; 237 + interrupts = <1e 4 1f 4>; 238 + reg = <ef600f00 70>; 239 + local-mac-address = [000000000000]; 240 + mal-device = <&MAL0>; 241 + mal-tx-channel = <2 3>; 242 + mal-rx-channel = <1>; 243 + cell-index = <1>; 244 + max-frame-size = <5dc>; 245 + rx-fifo-size = <1000>; 246 + tx-fifo-size = <800>; 247 + phy-mode = "rmii"; 248 + phy-map = <00000000>; 249 + zmii-device = <&ZMII0>; 250 + zmii-channel = <1>; 251 + }; 252 + 253 + usb@ef601000 { 254 + compatible = "ohci-be"; 255 + reg = <ef601000 80>; 256 + interrupts = <8 4 9 4>; 257 + interrupt-parent = < &UIC1 >; 258 + }; 259 + }; 260 + 261 + PCI0: pci@ec000000 { 262 + device_type = "pci"; 263 + #interrupt-cells = <1>; 264 + #size-cells = <2>; 265 + #address-cells = <3>; 266 + compatible = "ibm,plb440ep-pci", "ibm,plb-pci"; 267 + primary; 268 + reg = <0 eec00000 8 /* Config space access */ 269 + 0 eed00000 4 /* IACK */ 270 + 0 eed00000 4 /* Special cycle */ 271 + 0 ef400000 40>; /* Internal registers */ 272 + 273 + /* Outbound ranges, one memory and one IO, 274 + * later cannot be changed. Chip supports a second 275 + * IO range but we don't use it for now 276 + */ 277 + ranges = <02000000 0 a0000000 0 a0000000 0 20000000 278 + 01000000 0 00000000 0 e8000000 0 00010000>; 279 + 280 + /* Inbound 2GB range starting at 0 */ 281 + dma-ranges = <42000000 0 0 0 0 0 80000000>; 282 + 283 + /* Bamboo has all 4 IRQ pins tied together per slot */ 284 + interrupt-map-mask = <f800 0 0 0>; 285 + interrupt-map = < 286 + /* IDSEL 1 */ 287 + 0800 0 0 0 &UIC0 1c 8 288 + 289 + /* IDSEL 2 */ 290 + 1000 0 0 0 &UIC0 1b 8 291 + 292 + /* IDSEL 3 */ 293 + 1800 0 0 0 &UIC0 1a 8 294 + 295 + /* IDSEL 4 */ 296 + 2000 0 0 0 &UIC0 19 8 297 + >; 298 + }; 299 + }; 300 + 301 + chosen { 302 + linux,stdout-path = "/plb/opb/serial@ef600300"; 303 + }; 304 + };