1c66ec88fSEmmanuel Vadot/* 2c66ec88fSEmmanuel Vadot * Device Tree Source for PIKA Warp 3c66ec88fSEmmanuel Vadot * 4c66ec88fSEmmanuel Vadot * Copyright (c) 2008-2009 PIKA Technologies 5c66ec88fSEmmanuel Vadot * Sean MacLennan <smaclennan@pikatech.com> 6c66ec88fSEmmanuel Vadot * 7c66ec88fSEmmanuel Vadot * This file is licensed under the terms of the GNU General Public 8c66ec88fSEmmanuel Vadot * License version 2. This program is licensed "as is" without 9c66ec88fSEmmanuel Vadot * any warranty of any kind, whether express or implied. 10c66ec88fSEmmanuel Vadot */ 11c66ec88fSEmmanuel Vadot 12c66ec88fSEmmanuel Vadot/dts-v1/; 13c66ec88fSEmmanuel Vadot 14c66ec88fSEmmanuel Vadot/ { 15c66ec88fSEmmanuel Vadot #address-cells = <2>; 16c66ec88fSEmmanuel Vadot #size-cells = <1>; 17c66ec88fSEmmanuel Vadot model = "pika,warp"; 18c66ec88fSEmmanuel Vadot compatible = "pika,warp"; 19c66ec88fSEmmanuel Vadot dcr-parent = <&{/cpus/cpu@0}>; 20c66ec88fSEmmanuel Vadot 21c66ec88fSEmmanuel Vadot aliases { 22c66ec88fSEmmanuel Vadot ethernet0 = &EMAC0; 23c66ec88fSEmmanuel Vadot serial0 = &UART0; 24c66ec88fSEmmanuel Vadot }; 25c66ec88fSEmmanuel Vadot 26c66ec88fSEmmanuel Vadot cpus { 27c66ec88fSEmmanuel Vadot #address-cells = <1>; 28c66ec88fSEmmanuel Vadot #size-cells = <0>; 29c66ec88fSEmmanuel Vadot 30c66ec88fSEmmanuel Vadot cpu@0 { 31c66ec88fSEmmanuel Vadot device_type = "cpu"; 32c66ec88fSEmmanuel Vadot model = "PowerPC,440EP"; 33c66ec88fSEmmanuel Vadot reg = <0x00000000>; 34c66ec88fSEmmanuel Vadot clock-frequency = <0>; /* Filled in by zImage */ 35c66ec88fSEmmanuel Vadot timebase-frequency = <0>; /* Filled in by zImage */ 36c66ec88fSEmmanuel Vadot i-cache-line-size = <32>; 37c66ec88fSEmmanuel Vadot d-cache-line-size = <32>; 38c66ec88fSEmmanuel Vadot i-cache-size = <32768>; 39c66ec88fSEmmanuel Vadot d-cache-size = <32768>; 40c66ec88fSEmmanuel Vadot dcr-controller; 41c66ec88fSEmmanuel Vadot dcr-access-method = "native"; 42c66ec88fSEmmanuel Vadot }; 43c66ec88fSEmmanuel Vadot }; 44c66ec88fSEmmanuel Vadot 45c66ec88fSEmmanuel Vadot memory { 46c66ec88fSEmmanuel Vadot device_type = "memory"; 47c66ec88fSEmmanuel Vadot reg = <0x00000000 0x00000000 0x00000000>; /* Filled in by zImage */ 48c66ec88fSEmmanuel Vadot }; 49c66ec88fSEmmanuel Vadot 50c66ec88fSEmmanuel Vadot UIC0: interrupt-controller0 { 51c66ec88fSEmmanuel Vadot compatible = "ibm,uic-440ep","ibm,uic"; 52c66ec88fSEmmanuel Vadot interrupt-controller; 53c66ec88fSEmmanuel Vadot cell-index = <0>; 54c66ec88fSEmmanuel Vadot dcr-reg = <0x0c0 0x009>; 55c66ec88fSEmmanuel Vadot #address-cells = <0>; 56c66ec88fSEmmanuel Vadot #size-cells = <0>; 57c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 58c66ec88fSEmmanuel Vadot }; 59c66ec88fSEmmanuel Vadot 60c66ec88fSEmmanuel Vadot UIC1: interrupt-controller1 { 61c66ec88fSEmmanuel Vadot compatible = "ibm,uic-440ep","ibm,uic"; 62c66ec88fSEmmanuel Vadot interrupt-controller; 63c66ec88fSEmmanuel Vadot cell-index = <1>; 64c66ec88fSEmmanuel Vadot dcr-reg = <0x0d0 0x009>; 65c66ec88fSEmmanuel Vadot #address-cells = <0>; 66c66ec88fSEmmanuel Vadot #size-cells = <0>; 67c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 68c66ec88fSEmmanuel Vadot interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */ 69c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC0>; 70c66ec88fSEmmanuel Vadot }; 71c66ec88fSEmmanuel Vadot 72c66ec88fSEmmanuel Vadot SDR0: sdr { 73c66ec88fSEmmanuel Vadot compatible = "ibm,sdr-440ep"; 74c66ec88fSEmmanuel Vadot dcr-reg = <0x00e 0x002>; 75c66ec88fSEmmanuel Vadot }; 76c66ec88fSEmmanuel Vadot 77c66ec88fSEmmanuel Vadot CPR0: cpr { 78c66ec88fSEmmanuel Vadot compatible = "ibm,cpr-440ep"; 79c66ec88fSEmmanuel Vadot dcr-reg = <0x00c 0x002>; 80c66ec88fSEmmanuel Vadot }; 81c66ec88fSEmmanuel Vadot 82c66ec88fSEmmanuel Vadot plb { 83c66ec88fSEmmanuel Vadot compatible = "ibm,plb-440ep", "ibm,plb-440gp", "ibm,plb4"; 84c66ec88fSEmmanuel Vadot #address-cells = <2>; 85c66ec88fSEmmanuel Vadot #size-cells = <1>; 86c66ec88fSEmmanuel Vadot ranges; 87c66ec88fSEmmanuel Vadot clock-frequency = <0>; /* Filled in by zImage */ 88c66ec88fSEmmanuel Vadot 89c66ec88fSEmmanuel Vadot SDRAM0: sdram { 90c66ec88fSEmmanuel Vadot compatible = "ibm,sdram-440ep", "ibm,sdram-405gp"; 91c66ec88fSEmmanuel Vadot dcr-reg = <0x010 0x002>; 92c66ec88fSEmmanuel Vadot }; 93c66ec88fSEmmanuel Vadot 94c66ec88fSEmmanuel Vadot DMA0: dma { 95c66ec88fSEmmanuel Vadot compatible = "ibm,dma-440ep", "ibm,dma-440gp"; 96c66ec88fSEmmanuel Vadot dcr-reg = <0x100 0x027>; 97c66ec88fSEmmanuel Vadot }; 98c66ec88fSEmmanuel Vadot 99c66ec88fSEmmanuel Vadot MAL0: mcmal { 100c66ec88fSEmmanuel Vadot compatible = "ibm,mcmal-440ep", "ibm,mcmal-440gp", "ibm,mcmal"; 101c66ec88fSEmmanuel Vadot dcr-reg = <0x180 0x062>; 102c66ec88fSEmmanuel Vadot num-tx-chans = <4>; 103c66ec88fSEmmanuel Vadot num-rx-chans = <2>; 104c66ec88fSEmmanuel Vadot interrupt-parent = <&MAL0>; 105c66ec88fSEmmanuel Vadot interrupts = <0x0 0x1 0x2 0x3 0x4>; 106c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 107c66ec88fSEmmanuel Vadot #address-cells = <0>; 108c66ec88fSEmmanuel Vadot #size-cells = <0>; 109c66ec88fSEmmanuel Vadot interrupt-map = </*TXEOB*/ 0x0 &UIC0 0xa 0x4 110c66ec88fSEmmanuel Vadot /*RXEOB*/ 0x1 &UIC0 0xb 0x4 111c66ec88fSEmmanuel Vadot /*SERR*/ 0x2 &UIC1 0x0 0x4 112c66ec88fSEmmanuel Vadot /*TXDE*/ 0x3 &UIC1 0x1 0x4 113c66ec88fSEmmanuel Vadot /*RXDE*/ 0x4 &UIC1 0x2 0x4>; 114c66ec88fSEmmanuel Vadot }; 115c66ec88fSEmmanuel Vadot 116c66ec88fSEmmanuel Vadot POB0: opb { 117c66ec88fSEmmanuel Vadot compatible = "ibm,opb-440ep", "ibm,opb-440gp", "ibm,opb"; 118c66ec88fSEmmanuel Vadot #address-cells = <1>; 119c66ec88fSEmmanuel Vadot #size-cells = <1>; 120c66ec88fSEmmanuel Vadot ranges = <0x00000000 0x00000000 0x00000000 0x80000000 121c66ec88fSEmmanuel Vadot 0x80000000 0x00000000 0x80000000 0x80000000>; 122c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC1>; 123c66ec88fSEmmanuel Vadot interrupts = <0x7 0x4>; 124c66ec88fSEmmanuel Vadot clock-frequency = <0>; /* Filled in by zImage */ 125c66ec88fSEmmanuel Vadot 126c66ec88fSEmmanuel Vadot EBC0: ebc { 127c66ec88fSEmmanuel Vadot compatible = "ibm,ebc-440ep", "ibm,ebc-440gp", "ibm,ebc"; 128c66ec88fSEmmanuel Vadot dcr-reg = <0x012 0x002>; 129c66ec88fSEmmanuel Vadot #address-cells = <2>; 130c66ec88fSEmmanuel Vadot #size-cells = <1>; 131c66ec88fSEmmanuel Vadot clock-frequency = <0>; /* Filled in by zImage */ 132c66ec88fSEmmanuel Vadot interrupts = <0x5 0x1>; 133c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC1>; 134c66ec88fSEmmanuel Vadot 135c66ec88fSEmmanuel Vadot fpga@2,0 { 136c66ec88fSEmmanuel Vadot compatible = "pika,fpga"; 137c66ec88fSEmmanuel Vadot reg = <0x00000002 0x00000000 0x00001000>; 138c66ec88fSEmmanuel Vadot interrupts = <0x18 0x8>; 139c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC0>; 140c66ec88fSEmmanuel Vadot }; 141c66ec88fSEmmanuel Vadot 142c66ec88fSEmmanuel Vadot fpga@2,2000 { 143c66ec88fSEmmanuel Vadot compatible = "pika,fpga-sgl"; 144c66ec88fSEmmanuel Vadot reg = <0x00000002 0x00002000 0x00000200>; 145c66ec88fSEmmanuel Vadot }; 146c66ec88fSEmmanuel Vadot 147c66ec88fSEmmanuel Vadot fpga@2,4000 { 148c66ec88fSEmmanuel Vadot compatible = "pika,fpga-sd"; 149c66ec88fSEmmanuel Vadot reg = <0x00000002 0x00004000 0x00004000>; 150c66ec88fSEmmanuel Vadot }; 151c66ec88fSEmmanuel Vadot 152c66ec88fSEmmanuel Vadot nor@0,0 { 153c66ec88fSEmmanuel Vadot compatible = "amd,s29gl032a", "cfi-flash"; 154c66ec88fSEmmanuel Vadot bank-width = <2>; 155c66ec88fSEmmanuel Vadot reg = <0x00000000 0x00000000 0x00400000>; 156c66ec88fSEmmanuel Vadot #address-cells = <1>; 157c66ec88fSEmmanuel Vadot #size-cells = <1>; 158c66ec88fSEmmanuel Vadot 159c66ec88fSEmmanuel Vadot partition@0 { 160c66ec88fSEmmanuel Vadot label = "splash"; 161c66ec88fSEmmanuel Vadot reg = <0x00000000 0x00010000>; 162c66ec88fSEmmanuel Vadot }; 163c66ec88fSEmmanuel Vadot partition@300000 { 164c66ec88fSEmmanuel Vadot label = "fpga"; 165c66ec88fSEmmanuel Vadot reg = <0x0300000 0x00040000>; 166c66ec88fSEmmanuel Vadot }; 167c66ec88fSEmmanuel Vadot partition@340000 { 168c66ec88fSEmmanuel Vadot label = "env"; 169c66ec88fSEmmanuel Vadot reg = <0x0340000 0x00040000>; 170c66ec88fSEmmanuel Vadot }; 171c66ec88fSEmmanuel Vadot partition@380000 { 172c66ec88fSEmmanuel Vadot label = "u-boot"; 173c66ec88fSEmmanuel Vadot reg = <0x0380000 0x00080000>; 174c66ec88fSEmmanuel Vadot }; 175c66ec88fSEmmanuel Vadot }; 176c66ec88fSEmmanuel Vadot 177c66ec88fSEmmanuel Vadot ndfc@1,0 { 178c66ec88fSEmmanuel Vadot compatible = "ibm,ndfc"; 179c66ec88fSEmmanuel Vadot reg = <0x00000001 0x00000000 0x00002000>; 180c66ec88fSEmmanuel Vadot ccr = <0x00001000>; 181c66ec88fSEmmanuel Vadot bank-settings = <0x80002222>; 182c66ec88fSEmmanuel Vadot #address-cells = <1>; 183c66ec88fSEmmanuel Vadot #size-cells = <1>; 184c66ec88fSEmmanuel Vadot 185c66ec88fSEmmanuel Vadot nand { 186c66ec88fSEmmanuel Vadot #address-cells = <1>; 187c66ec88fSEmmanuel Vadot #size-cells = <1>; 188c66ec88fSEmmanuel Vadot 189c66ec88fSEmmanuel Vadot partition@0 { 190c66ec88fSEmmanuel Vadot label = "kernel"; 191c66ec88fSEmmanuel Vadot reg = <0x00000000 0x00200000>; 192c66ec88fSEmmanuel Vadot }; 193c66ec88fSEmmanuel Vadot partition@200000 { 194c66ec88fSEmmanuel Vadot label = "root"; 195c66ec88fSEmmanuel Vadot reg = <0x00200000 0x03E00000>; 196c66ec88fSEmmanuel Vadot }; 197c66ec88fSEmmanuel Vadot partition@40000000 { 198c66ec88fSEmmanuel Vadot label = "persistent"; 199c66ec88fSEmmanuel Vadot reg = <0x04000000 0x04000000>; 200c66ec88fSEmmanuel Vadot }; 201c66ec88fSEmmanuel Vadot partition@80000000 { 202c66ec88fSEmmanuel Vadot label = "persistent1"; 203c66ec88fSEmmanuel Vadot reg = <0x08000000 0x04000000>; 204c66ec88fSEmmanuel Vadot }; 205c66ec88fSEmmanuel Vadot partition@C0000000 { 206c66ec88fSEmmanuel Vadot label = "persistent2"; 207c66ec88fSEmmanuel Vadot reg = <0x0C000000 0x04000000>; 208c66ec88fSEmmanuel Vadot }; 209c66ec88fSEmmanuel Vadot }; 210c66ec88fSEmmanuel Vadot }; 211c66ec88fSEmmanuel Vadot }; 212c66ec88fSEmmanuel Vadot 213c66ec88fSEmmanuel Vadot UART0: serial@ef600300 { 214c66ec88fSEmmanuel Vadot device_type = "serial"; 215c66ec88fSEmmanuel Vadot compatible = "ns16550"; 216c66ec88fSEmmanuel Vadot reg = <0xef600300 0x00000008>; 217c66ec88fSEmmanuel Vadot virtual-reg = <0xef600300>; 218c66ec88fSEmmanuel Vadot clock-frequency = <0>; /* Filled in by zImage */ 219c66ec88fSEmmanuel Vadot current-speed = <115200>; 220c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC0>; 221c66ec88fSEmmanuel Vadot interrupts = <0x0 0x4>; 222c66ec88fSEmmanuel Vadot }; 223c66ec88fSEmmanuel Vadot 224c66ec88fSEmmanuel Vadot IIC0: i2c@ef600700 { 225c66ec88fSEmmanuel Vadot compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic"; 226c66ec88fSEmmanuel Vadot reg = <0xef600700 0x00000014>; 227c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC0>; 228c66ec88fSEmmanuel Vadot interrupts = <0x2 0x4>; 229c66ec88fSEmmanuel Vadot #address-cells = <1>; 230c66ec88fSEmmanuel Vadot #size-cells = <0>; 231c66ec88fSEmmanuel Vadot 232c66ec88fSEmmanuel Vadot ad7414@4a { 233c66ec88fSEmmanuel Vadot compatible = "adi,ad7414"; 234c66ec88fSEmmanuel Vadot reg = <0x4a>; 235c66ec88fSEmmanuel Vadot interrupts = <0x19 0x8>; 236c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC0>; 237c66ec88fSEmmanuel Vadot }; 238c66ec88fSEmmanuel Vadot 239c66ec88fSEmmanuel Vadot /* This will create 52 and 53 */ 240c66ec88fSEmmanuel Vadot at24@52 { 241c66ec88fSEmmanuel Vadot compatible = "atmel,24c04"; 242c66ec88fSEmmanuel Vadot reg = <0x52>; 243c66ec88fSEmmanuel Vadot }; 244c66ec88fSEmmanuel Vadot }; 245c66ec88fSEmmanuel Vadot 246c66ec88fSEmmanuel Vadot GPIO0: gpio@ef600b00 { 247c66ec88fSEmmanuel Vadot compatible = "ibm,ppc4xx-gpio"; 248c66ec88fSEmmanuel Vadot reg = <0xef600b00 0x00000048>; 249c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 250c66ec88fSEmmanuel Vadot gpio-controller; 251c66ec88fSEmmanuel Vadot }; 252c66ec88fSEmmanuel Vadot 253c66ec88fSEmmanuel Vadot GPIO1: gpio@ef600c00 { 254c66ec88fSEmmanuel Vadot compatible = "ibm,ppc4xx-gpio"; 255c66ec88fSEmmanuel Vadot reg = <0xef600c00 0x00000048>; 256c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 257c66ec88fSEmmanuel Vadot gpio-controller; 258c66ec88fSEmmanuel Vadot }; 259c66ec88fSEmmanuel Vadot 260c66ec88fSEmmanuel Vadot power-leds { 261*8bab661aSEmmanuel Vadot compatible = "warp-power-leds"; 262c66ec88fSEmmanuel Vadot green { 263c66ec88fSEmmanuel Vadot gpios = <&GPIO1 0 0>; 264c66ec88fSEmmanuel Vadot }; 265c66ec88fSEmmanuel Vadot red { 266c66ec88fSEmmanuel Vadot gpios = <&GPIO1 1 0>; 267c66ec88fSEmmanuel Vadot }; 268c66ec88fSEmmanuel Vadot }; 269c66ec88fSEmmanuel Vadot 270c66ec88fSEmmanuel Vadot ZMII0: emac-zmii@ef600d00 { 271c66ec88fSEmmanuel Vadot compatible = "ibm,zmii-440ep", "ibm,zmii-440gp", "ibm,zmii"; 272c66ec88fSEmmanuel Vadot reg = <0xef600d00 0x0000000c>; 273c66ec88fSEmmanuel Vadot }; 274c66ec88fSEmmanuel Vadot 275c66ec88fSEmmanuel Vadot EMAC0: ethernet@ef600e00 { 276c66ec88fSEmmanuel Vadot device_type = "network"; 277c66ec88fSEmmanuel Vadot compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac"; 278c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC1>; 279c66ec88fSEmmanuel Vadot interrupts = <0x1c 0x4 0x1d 0x4>; 280c66ec88fSEmmanuel Vadot reg = <0xef600e00 0x00000070>; 281c66ec88fSEmmanuel Vadot local-mac-address = [000000000000]; 282c66ec88fSEmmanuel Vadot mal-device = <&MAL0>; 283c66ec88fSEmmanuel Vadot mal-tx-channel = <0 1>; 284c66ec88fSEmmanuel Vadot mal-rx-channel = <0>; 285c66ec88fSEmmanuel Vadot cell-index = <0>; 286c66ec88fSEmmanuel Vadot max-frame-size = <1500>; 287c66ec88fSEmmanuel Vadot rx-fifo-size = <4096>; 288c66ec88fSEmmanuel Vadot tx-fifo-size = <2048>; 289c66ec88fSEmmanuel Vadot phy-mode = "rmii"; 290c66ec88fSEmmanuel Vadot phy-map = <0x00000000>; 291c66ec88fSEmmanuel Vadot zmii-device = <&ZMII0>; 292c66ec88fSEmmanuel Vadot zmii-channel = <0>; 293c66ec88fSEmmanuel Vadot }; 294c66ec88fSEmmanuel Vadot 295c66ec88fSEmmanuel Vadot usb@ef601000 { 296c66ec88fSEmmanuel Vadot compatible = "ohci-be"; 297c66ec88fSEmmanuel Vadot reg = <0xef601000 0x00000080>; 298c66ec88fSEmmanuel Vadot interrupts = <0x8 0x1 0x9 0x1>; 299c66ec88fSEmmanuel Vadot interrupt-parent = < &UIC1 >; 300c66ec88fSEmmanuel Vadot }; 301c66ec88fSEmmanuel Vadot }; 302c66ec88fSEmmanuel Vadot }; 303c66ec88fSEmmanuel Vadot 304c66ec88fSEmmanuel Vadot chosen { 305c66ec88fSEmmanuel Vadot stdout-path = "/plb/opb/serial@ef600300"; 306c66ec88fSEmmanuel Vadot }; 307c66ec88fSEmmanuel Vadot}; 308