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