10cdf50a7SSolomon Peachy/* 20cdf50a7SSolomon Peachy * Device Tree Source for ESTeem 195E Hotfoot 30cdf50a7SSolomon Peachy * 40cdf50a7SSolomon Peachy * Copyright 2009 AbsoluteValue Systems <solomon@linux-wlan.com> 50cdf50a7SSolomon Peachy * 60cdf50a7SSolomon Peachy * This file is licensed under the terms of the GNU General Public 70cdf50a7SSolomon Peachy * License version 2. This program is licensed "as is" without 80cdf50a7SSolomon Peachy * any warranty of any kind, whether express or implied. 90cdf50a7SSolomon Peachy */ 100cdf50a7SSolomon Peachy 110cdf50a7SSolomon Peachy/dts-v1/; 120cdf50a7SSolomon Peachy 130cdf50a7SSolomon Peachy/ { 140cdf50a7SSolomon Peachy #address-cells = <1>; 150cdf50a7SSolomon Peachy #size-cells = <1>; 160cdf50a7SSolomon Peachy model = "est,hotfoot"; 170cdf50a7SSolomon Peachy compatible = "est,hotfoot"; 180cdf50a7SSolomon Peachy dcr-parent = <&{/cpus/cpu@0}>; 190cdf50a7SSolomon Peachy 200cdf50a7SSolomon Peachy aliases { 210cdf50a7SSolomon Peachy ethernet0 = &EMAC0; 220cdf50a7SSolomon Peachy ethernet1 = &EMAC1; 230cdf50a7SSolomon Peachy serial0 = &UART0; 240cdf50a7SSolomon Peachy serial1 = &UART1; 250cdf50a7SSolomon Peachy }; 260cdf50a7SSolomon Peachy 270cdf50a7SSolomon Peachy cpus { 280cdf50a7SSolomon Peachy #address-cells = <1>; 290cdf50a7SSolomon Peachy #size-cells = <0>; 300cdf50a7SSolomon Peachy 310cdf50a7SSolomon Peachy cpu@0 { 320cdf50a7SSolomon Peachy device_type = "cpu"; 330cdf50a7SSolomon Peachy model = "PowerPC,405EP"; 340cdf50a7SSolomon Peachy reg = <0x00000000>; 350cdf50a7SSolomon Peachy clock-frequency = <0>; /* Filled in by zImage */ 360cdf50a7SSolomon Peachy timebase-frequency = <0>; /* Filled in by zImage */ 370cdf50a7SSolomon Peachy i-cache-line-size = <0x20>; 380cdf50a7SSolomon Peachy d-cache-line-size = <0x20>; 390cdf50a7SSolomon Peachy i-cache-size = <0x4000>; 400cdf50a7SSolomon Peachy d-cache-size = <0x4000>; 410cdf50a7SSolomon Peachy dcr-controller; 420cdf50a7SSolomon Peachy dcr-access-method = "native"; 430cdf50a7SSolomon Peachy }; 440cdf50a7SSolomon Peachy }; 450cdf50a7SSolomon Peachy 460cdf50a7SSolomon Peachy memory { 470cdf50a7SSolomon Peachy device_type = "memory"; 480cdf50a7SSolomon Peachy reg = <0x00000000 0x00000000>; /* Filled in by zImage */ 490cdf50a7SSolomon Peachy }; 500cdf50a7SSolomon Peachy 510cdf50a7SSolomon Peachy UIC0: interrupt-controller { 520cdf50a7SSolomon Peachy compatible = "ibm,uic"; 530cdf50a7SSolomon Peachy interrupt-controller; 540cdf50a7SSolomon Peachy cell-index = <0>; 550cdf50a7SSolomon Peachy dcr-reg = <0x0c0 0x009>; 560cdf50a7SSolomon Peachy #address-cells = <0>; 570cdf50a7SSolomon Peachy #size-cells = <0>; 580cdf50a7SSolomon Peachy #interrupt-cells = <2>; 590cdf50a7SSolomon Peachy }; 600cdf50a7SSolomon Peachy 610cdf50a7SSolomon Peachy plb { 620cdf50a7SSolomon Peachy compatible = "ibm,plb3"; 630cdf50a7SSolomon Peachy #address-cells = <1>; 640cdf50a7SSolomon Peachy #size-cells = <1>; 650cdf50a7SSolomon Peachy ranges; 660cdf50a7SSolomon Peachy clock-frequency = <0>; /* Filled in by zImage */ 670cdf50a7SSolomon Peachy 680cdf50a7SSolomon Peachy SDRAM0: memory-controller { 690cdf50a7SSolomon Peachy compatible = "ibm,sdram-405ep"; 700cdf50a7SSolomon Peachy dcr-reg = <0x010 0x002>; 710cdf50a7SSolomon Peachy }; 720cdf50a7SSolomon Peachy 730cdf50a7SSolomon Peachy MAL: mcmal { 740cdf50a7SSolomon Peachy compatible = "ibm,mcmal-405ep", "ibm,mcmal"; 750cdf50a7SSolomon Peachy dcr-reg = <0x180 0x062>; 760cdf50a7SSolomon Peachy num-tx-chans = <4>; 770cdf50a7SSolomon Peachy num-rx-chans = <2>; 780cdf50a7SSolomon Peachy interrupt-parent = <&UIC0>; 790cdf50a7SSolomon Peachy interrupts = < 800cdf50a7SSolomon Peachy 0xb 0x4 /* TXEOB */ 810cdf50a7SSolomon Peachy 0xc 0x4 /* RXEOB */ 820cdf50a7SSolomon Peachy 0xa 0x4 /* SERR */ 830cdf50a7SSolomon Peachy 0xd 0x4 /* TXDE */ 840cdf50a7SSolomon Peachy 0xe 0x4 /* RXDE */>; 850cdf50a7SSolomon Peachy }; 860cdf50a7SSolomon Peachy 870cdf50a7SSolomon Peachy POB0: opb { 880cdf50a7SSolomon Peachy compatible = "ibm,opb-405ep", "ibm,opb"; 890cdf50a7SSolomon Peachy #address-cells = <1>; 900cdf50a7SSolomon Peachy #size-cells = <1>; 910cdf50a7SSolomon Peachy ranges = <0xef600000 0xef600000 0x00a00000>; 920cdf50a7SSolomon Peachy dcr-reg = <0x0a0 0x005>; 930cdf50a7SSolomon Peachy clock-frequency = <0>; /* Filled in by zImage */ 940cdf50a7SSolomon Peachy 950cdf50a7SSolomon Peachy /* Hotfoot has UART0/UART1 swapped */ 960cdf50a7SSolomon Peachy 970cdf50a7SSolomon Peachy UART0: serial@ef600400 { 980cdf50a7SSolomon Peachy device_type = "serial"; 990cdf50a7SSolomon Peachy compatible = "ns16550"; 1000cdf50a7SSolomon Peachy reg = <0xef600400 0x00000008>; 1010cdf50a7SSolomon Peachy virtual-reg = <0xef600400>; 1020cdf50a7SSolomon Peachy clock-frequency = <0>; /* Filled in by zImage */ 1030cdf50a7SSolomon Peachy current-speed = <0x9600>; 1040cdf50a7SSolomon Peachy interrupt-parent = <&UIC0>; 1050cdf50a7SSolomon Peachy interrupts = <0x1 0x4>; 1060cdf50a7SSolomon Peachy }; 1070cdf50a7SSolomon Peachy 1080cdf50a7SSolomon Peachy UART1: serial@ef600300 { 1090cdf50a7SSolomon Peachy device_type = "serial"; 1100cdf50a7SSolomon Peachy compatible = "ns16550"; 1110cdf50a7SSolomon Peachy reg = <0xef600300 0x00000008>; 1120cdf50a7SSolomon Peachy virtual-reg = <0xef600300>; 1130cdf50a7SSolomon Peachy clock-frequency = <0>; /* Filled in by zImage */ 1140cdf50a7SSolomon Peachy current-speed = <0x9600>; 1150cdf50a7SSolomon Peachy interrupt-parent = <&UIC0>; 1160cdf50a7SSolomon Peachy interrupts = <0x0 0x4>; 1170cdf50a7SSolomon Peachy }; 1180cdf50a7SSolomon Peachy 1190cdf50a7SSolomon Peachy IIC: i2c@ef600500 { 120301a3da3SGrant Likely #address-cells = <1>; 121301a3da3SGrant Likely #size-cells = <0>; 1220cdf50a7SSolomon Peachy compatible = "ibm,iic-405ep", "ibm,iic"; 1230cdf50a7SSolomon Peachy reg = <0xef600500 0x00000011>; 1240cdf50a7SSolomon Peachy interrupt-parent = <&UIC0>; 1250cdf50a7SSolomon Peachy interrupts = <0x2 0x4>; 1260cdf50a7SSolomon Peachy 1270cdf50a7SSolomon Peachy rtc@68 { 1280cdf50a7SSolomon Peachy /* Actually a DS1339 */ 1290cdf50a7SSolomon Peachy compatible = "dallas,ds1307"; 1300cdf50a7SSolomon Peachy reg = <0x68>; 1310cdf50a7SSolomon Peachy }; 1320cdf50a7SSolomon Peachy 1330cdf50a7SSolomon Peachy temp@4a { 1340cdf50a7SSolomon Peachy /* Not present on all boards */ 1350cdf50a7SSolomon Peachy compatible = "national,lm75"; 1360cdf50a7SSolomon Peachy reg = <0x4a>; 1370cdf50a7SSolomon Peachy }; 1380cdf50a7SSolomon Peachy }; 1390cdf50a7SSolomon Peachy 1400cdf50a7SSolomon Peachy GPIO: gpio@ef600700 { 1410cdf50a7SSolomon Peachy #gpio-cells = <2>; 1420cdf50a7SSolomon Peachy compatible = "ibm,ppc4xx-gpio"; 1430cdf50a7SSolomon Peachy reg = <0xef600700 0x00000020>; 1440cdf50a7SSolomon Peachy gpio-controller; 1450cdf50a7SSolomon Peachy }; 1460cdf50a7SSolomon Peachy 1470cdf50a7SSolomon Peachy gpio-leds { 1480cdf50a7SSolomon Peachy compatible = "gpio-leds"; 1490cdf50a7SSolomon Peachy status { 1500cdf50a7SSolomon Peachy label = "Status"; 1510cdf50a7SSolomon Peachy gpios = <&GPIO 1 0>; 1520cdf50a7SSolomon Peachy }; 1530cdf50a7SSolomon Peachy radiorx { 1540cdf50a7SSolomon Peachy label = "Rx"; 1550cdf50a7SSolomon Peachy gpios = <&GPIO 0xe 0>; 1560cdf50a7SSolomon Peachy }; 1570cdf50a7SSolomon Peachy }; 1580cdf50a7SSolomon Peachy 1590cdf50a7SSolomon Peachy EMAC0: ethernet@ef600800 { 1600cdf50a7SSolomon Peachy linux,network-index = <0x0>; 1610cdf50a7SSolomon Peachy device_type = "network"; 1620cdf50a7SSolomon Peachy compatible = "ibm,emac-405ep", "ibm,emac"; 1630cdf50a7SSolomon Peachy interrupt-parent = <&UIC0>; 1640cdf50a7SSolomon Peachy interrupts = < 1650cdf50a7SSolomon Peachy 0xf 0x4 /* Ethernet */ 1660cdf50a7SSolomon Peachy 0x9 0x4 /* Ethernet Wake Up */>; 1670cdf50a7SSolomon Peachy local-mac-address = [000000000000]; /* Filled in by zImage */ 1680cdf50a7SSolomon Peachy reg = <0xef600800 0x00000070>; 1690cdf50a7SSolomon Peachy mal-device = <&MAL>; 1700cdf50a7SSolomon Peachy mal-tx-channel = <0>; 1710cdf50a7SSolomon Peachy mal-rx-channel = <0>; 1720cdf50a7SSolomon Peachy cell-index = <0>; 1730cdf50a7SSolomon Peachy max-frame-size = <0x5dc>; 1740cdf50a7SSolomon Peachy rx-fifo-size = <0x1000>; 1750cdf50a7SSolomon Peachy tx-fifo-size = <0x800>; 1760cdf50a7SSolomon Peachy phy-mode = "mii"; 1770cdf50a7SSolomon Peachy phy-map = <0x00000000>; 1780cdf50a7SSolomon Peachy }; 1790cdf50a7SSolomon Peachy 1800cdf50a7SSolomon Peachy EMAC1: ethernet@ef600900 { 1810cdf50a7SSolomon Peachy linux,network-index = <0x1>; 1820cdf50a7SSolomon Peachy device_type = "network"; 1830cdf50a7SSolomon Peachy compatible = "ibm,emac-405ep", "ibm,emac"; 1840cdf50a7SSolomon Peachy interrupt-parent = <&UIC0>; 1850cdf50a7SSolomon Peachy interrupts = < 1860cdf50a7SSolomon Peachy 0x11 0x4 /* Ethernet */ 1870cdf50a7SSolomon Peachy 0x9 0x4 /* Ethernet Wake Up */>; 1880cdf50a7SSolomon Peachy local-mac-address = [000000000000]; /* Filled in by zImage */ 1890cdf50a7SSolomon Peachy reg = <0xef600900 0x00000070>; 1900cdf50a7SSolomon Peachy mal-device = <&MAL>; 1910cdf50a7SSolomon Peachy mal-tx-channel = <2>; 1920cdf50a7SSolomon Peachy mal-rx-channel = <1>; 1930cdf50a7SSolomon Peachy cell-index = <1>; 1940cdf50a7SSolomon Peachy max-frame-size = <0x5dc>; 1950cdf50a7SSolomon Peachy rx-fifo-size = <0x1000>; 1960cdf50a7SSolomon Peachy tx-fifo-size = <0x800>; 1970cdf50a7SSolomon Peachy mdio-device = <&EMAC0>; 1980cdf50a7SSolomon Peachy phy-mode = "mii"; 1990cdf50a7SSolomon Peachy phy-map = <0x0000001>; 2000cdf50a7SSolomon Peachy }; 2010cdf50a7SSolomon Peachy }; 2020cdf50a7SSolomon Peachy 2030cdf50a7SSolomon Peachy EBC0: ebc { 2040cdf50a7SSolomon Peachy compatible = "ibm,ebc-405ep", "ibm,ebc"; 2050cdf50a7SSolomon Peachy dcr-reg = <0x012 0x002>; 2060cdf50a7SSolomon Peachy #address-cells = <2>; 2070cdf50a7SSolomon Peachy #size-cells = <1>; 2080cdf50a7SSolomon Peachy 2090cdf50a7SSolomon Peachy /* The ranges property is supplied by the bootwrapper 2100cdf50a7SSolomon Peachy * and is based on the firmware's configuration of the 2110cdf50a7SSolomon Peachy * EBC bridge 2120cdf50a7SSolomon Peachy */ 2130cdf50a7SSolomon Peachy clock-frequency = <0>; /* Filled in by zImage */ 2140cdf50a7SSolomon Peachy 2150cdf50a7SSolomon Peachy nor_flash@0 { 2160cdf50a7SSolomon Peachy compatible = "cfi-flash"; 2170cdf50a7SSolomon Peachy bank-width = <2>; 2180cdf50a7SSolomon Peachy reg = <0x0 0xff800000 0x00800000>; 2190cdf50a7SSolomon Peachy #address-cells = <1>; 2200cdf50a7SSolomon Peachy #size-cells = <1>; 2210cdf50a7SSolomon Peachy 2220cdf50a7SSolomon Peachy /* This mapping is for the 8M flash 2230cdf50a7SSolomon Peachy 4M flash has all ofssets -= 4M, 2240cdf50a7SSolomon Peachy and FeatFS partition is not present */ 2250cdf50a7SSolomon Peachy partition@0 { 2260cdf50a7SSolomon Peachy label = "Bootloader"; 2270cdf50a7SSolomon Peachy reg = <0x7c0000 0x40000>; 2280cdf50a7SSolomon Peachy /* read-only; */ 2290cdf50a7SSolomon Peachy }; 2300cdf50a7SSolomon Peachy partition@1 { 2310cdf50a7SSolomon Peachy label = "Env_and_Config_Primary"; 2320cdf50a7SSolomon Peachy reg = <0x400000 0x10000>; 2330cdf50a7SSolomon Peachy }; 2340cdf50a7SSolomon Peachy partition@2 { 2350cdf50a7SSolomon Peachy label = "Kernel"; 2360cdf50a7SSolomon Peachy reg = <0x420000 0x100000>; 2370cdf50a7SSolomon Peachy }; 2380cdf50a7SSolomon Peachy partition@3 { 2390cdf50a7SSolomon Peachy label = "Filesystem"; 2400cdf50a7SSolomon Peachy reg = <0x520000 0x2a0000>; 2410cdf50a7SSolomon Peachy }; 2420cdf50a7SSolomon Peachy partition@4 { 2430cdf50a7SSolomon Peachy label = "Env_and_Config_Secondary"; 2440cdf50a7SSolomon Peachy reg = <0x410000 0x10000>; 2450cdf50a7SSolomon Peachy }; 2460cdf50a7SSolomon Peachy partition@5 { 2470cdf50a7SSolomon Peachy label = "FeatFS"; 2480cdf50a7SSolomon Peachy reg = <0x000000 0x400000>; 2490cdf50a7SSolomon Peachy }; 2500cdf50a7SSolomon Peachy partition@6 { 2510cdf50a7SSolomon Peachy label = "Bootloader_Env"; 2520cdf50a7SSolomon Peachy reg = <0x7d0000 0x10000>; 2530cdf50a7SSolomon Peachy }; 2540cdf50a7SSolomon Peachy }; 2550cdf50a7SSolomon Peachy }; 2560cdf50a7SSolomon Peachy 2570cdf50a7SSolomon Peachy PCI0: pci@ec000000 { 2580cdf50a7SSolomon Peachy device_type = "pci"; 2590cdf50a7SSolomon Peachy #interrupt-cells = <1>; 2600cdf50a7SSolomon Peachy #size-cells = <2>; 2610cdf50a7SSolomon Peachy #address-cells = <3>; 2620cdf50a7SSolomon Peachy compatible = "ibm,plb405ep-pci", "ibm,plb-pci"; 2630cdf50a7SSolomon Peachy primary; 2640cdf50a7SSolomon Peachy reg = <0xeec00000 0x00000008 /* Config space access */ 2650cdf50a7SSolomon Peachy 0xeed80000 0x00000004 /* IACK */ 2660cdf50a7SSolomon Peachy 0xeed80000 0x00000004 /* Special cycle */ 2670cdf50a7SSolomon Peachy 0xef480000 0x00000040>; /* Internal registers */ 2680cdf50a7SSolomon Peachy 2690cdf50a7SSolomon Peachy /* Outbound ranges, one memory and one IO, 2700cdf50a7SSolomon Peachy * later cannot be changed. Chip supports a second 2710cdf50a7SSolomon Peachy * IO range but we don't use it for now 2720cdf50a7SSolomon Peachy */ 2730cdf50a7SSolomon Peachy ranges = <0x02000000 0x00000000 0x80000000 0x80000000 0x00000000 0x20000000 2740cdf50a7SSolomon Peachy 0x01000000 0x00000000 0x00000000 0xe8000000 0x00000000 0x00010000>; 2750cdf50a7SSolomon Peachy 2760cdf50a7SSolomon Peachy /* Inbound 2GB range starting at 0 */ 2770cdf50a7SSolomon Peachy dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x80000000>; 2780cdf50a7SSolomon Peachy 2790cdf50a7SSolomon Peachy interrupt-parent = <&UIC0>; 2800cdf50a7SSolomon Peachy interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 2810cdf50a7SSolomon Peachy interrupt-map = < 2820cdf50a7SSolomon Peachy /* IDSEL 3 -- slot1 (optional) 27/29 A/B IRQ2/4 */ 2830cdf50a7SSolomon Peachy 0x1800 0x0 0x0 0x1 &UIC0 0x1b 0x8 2840cdf50a7SSolomon Peachy 0x1800 0x0 0x0 0x2 &UIC0 0x1d 0x8 2850cdf50a7SSolomon Peachy 2860cdf50a7SSolomon Peachy /* IDSEL 4 -- slot0, 26/28 A/B IRQ1/3 */ 2870cdf50a7SSolomon Peachy 0x2000 0x0 0x0 0x1 &UIC0 0x1a 0x8 2880cdf50a7SSolomon Peachy 0x2000 0x0 0x0 0x2 &UIC0 0x1c 0x8 2890cdf50a7SSolomon Peachy >; 2900cdf50a7SSolomon Peachy }; 2910cdf50a7SSolomon Peachy }; 2920cdf50a7SSolomon Peachy 2930cdf50a7SSolomon Peachy chosen { 29478e5dfeaSRob Herring stdout-path = &UART0; 2950cdf50a7SSolomon Peachy }; 2960cdf50a7SSolomon Peachy}; 297