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 { 1200cdf50a7SSolomon Peachy compatible = "ibm,iic-405ep", "ibm,iic"; 1210cdf50a7SSolomon Peachy reg = <0xef600500 0x00000011>; 1220cdf50a7SSolomon Peachy interrupt-parent = <&UIC0>; 1230cdf50a7SSolomon Peachy interrupts = <0x2 0x4>; 1240cdf50a7SSolomon Peachy 1250cdf50a7SSolomon Peachy rtc@68 { 1260cdf50a7SSolomon Peachy /* Actually a DS1339 */ 1270cdf50a7SSolomon Peachy compatible = "dallas,ds1307"; 1280cdf50a7SSolomon Peachy reg = <0x68>; 1290cdf50a7SSolomon Peachy }; 1300cdf50a7SSolomon Peachy 1310cdf50a7SSolomon Peachy temp@4a { 1320cdf50a7SSolomon Peachy /* Not present on all boards */ 1330cdf50a7SSolomon Peachy compatible = "national,lm75"; 1340cdf50a7SSolomon Peachy reg = <0x4a>; 1350cdf50a7SSolomon Peachy }; 1360cdf50a7SSolomon Peachy }; 1370cdf50a7SSolomon Peachy 1380cdf50a7SSolomon Peachy GPIO: gpio@ef600700 { 1390cdf50a7SSolomon Peachy #gpio-cells = <2>; 1400cdf50a7SSolomon Peachy compatible = "ibm,ppc4xx-gpio"; 1410cdf50a7SSolomon Peachy reg = <0xef600700 0x00000020>; 1420cdf50a7SSolomon Peachy gpio-controller; 1430cdf50a7SSolomon Peachy }; 1440cdf50a7SSolomon Peachy 1450cdf50a7SSolomon Peachy gpio-leds { 1460cdf50a7SSolomon Peachy compatible = "gpio-leds"; 1470cdf50a7SSolomon Peachy status { 1480cdf50a7SSolomon Peachy label = "Status"; 1490cdf50a7SSolomon Peachy gpios = <&GPIO 1 0>; 1500cdf50a7SSolomon Peachy }; 1510cdf50a7SSolomon Peachy radiorx { 1520cdf50a7SSolomon Peachy label = "Rx"; 1530cdf50a7SSolomon Peachy gpios = <&GPIO 0xe 0>; 1540cdf50a7SSolomon Peachy }; 1550cdf50a7SSolomon Peachy }; 1560cdf50a7SSolomon Peachy 1570cdf50a7SSolomon Peachy EMAC0: ethernet@ef600800 { 1580cdf50a7SSolomon Peachy linux,network-index = <0x0>; 1590cdf50a7SSolomon Peachy device_type = "network"; 1600cdf50a7SSolomon Peachy compatible = "ibm,emac-405ep", "ibm,emac"; 1610cdf50a7SSolomon Peachy interrupt-parent = <&UIC0>; 1620cdf50a7SSolomon Peachy interrupts = < 1630cdf50a7SSolomon Peachy 0xf 0x4 /* Ethernet */ 1640cdf50a7SSolomon Peachy 0x9 0x4 /* Ethernet Wake Up */>; 1650cdf50a7SSolomon Peachy local-mac-address = [000000000000]; /* Filled in by zImage */ 1660cdf50a7SSolomon Peachy reg = <0xef600800 0x00000070>; 1670cdf50a7SSolomon Peachy mal-device = <&MAL>; 1680cdf50a7SSolomon Peachy mal-tx-channel = <0>; 1690cdf50a7SSolomon Peachy mal-rx-channel = <0>; 1700cdf50a7SSolomon Peachy cell-index = <0>; 1710cdf50a7SSolomon Peachy max-frame-size = <0x5dc>; 1720cdf50a7SSolomon Peachy rx-fifo-size = <0x1000>; 1730cdf50a7SSolomon Peachy tx-fifo-size = <0x800>; 1740cdf50a7SSolomon Peachy phy-mode = "mii"; 1750cdf50a7SSolomon Peachy phy-map = <0x00000000>; 1760cdf50a7SSolomon Peachy }; 1770cdf50a7SSolomon Peachy 1780cdf50a7SSolomon Peachy EMAC1: ethernet@ef600900 { 1790cdf50a7SSolomon Peachy linux,network-index = <0x1>; 1800cdf50a7SSolomon Peachy device_type = "network"; 1810cdf50a7SSolomon Peachy compatible = "ibm,emac-405ep", "ibm,emac"; 1820cdf50a7SSolomon Peachy interrupt-parent = <&UIC0>; 1830cdf50a7SSolomon Peachy interrupts = < 1840cdf50a7SSolomon Peachy 0x11 0x4 /* Ethernet */ 1850cdf50a7SSolomon Peachy 0x9 0x4 /* Ethernet Wake Up */>; 1860cdf50a7SSolomon Peachy local-mac-address = [000000000000]; /* Filled in by zImage */ 1870cdf50a7SSolomon Peachy reg = <0xef600900 0x00000070>; 1880cdf50a7SSolomon Peachy mal-device = <&MAL>; 1890cdf50a7SSolomon Peachy mal-tx-channel = <2>; 1900cdf50a7SSolomon Peachy mal-rx-channel = <1>; 1910cdf50a7SSolomon Peachy cell-index = <1>; 1920cdf50a7SSolomon Peachy max-frame-size = <0x5dc>; 1930cdf50a7SSolomon Peachy rx-fifo-size = <0x1000>; 1940cdf50a7SSolomon Peachy tx-fifo-size = <0x800>; 1950cdf50a7SSolomon Peachy mdio-device = <&EMAC0>; 1960cdf50a7SSolomon Peachy phy-mode = "mii"; 1970cdf50a7SSolomon Peachy phy-map = <0x0000001>; 1980cdf50a7SSolomon Peachy }; 1990cdf50a7SSolomon Peachy }; 2000cdf50a7SSolomon Peachy 2010cdf50a7SSolomon Peachy EBC0: ebc { 2020cdf50a7SSolomon Peachy compatible = "ibm,ebc-405ep", "ibm,ebc"; 2030cdf50a7SSolomon Peachy dcr-reg = <0x012 0x002>; 2040cdf50a7SSolomon Peachy #address-cells = <2>; 2050cdf50a7SSolomon Peachy #size-cells = <1>; 2060cdf50a7SSolomon Peachy 2070cdf50a7SSolomon Peachy /* The ranges property is supplied by the bootwrapper 2080cdf50a7SSolomon Peachy * and is based on the firmware's configuration of the 2090cdf50a7SSolomon Peachy * EBC bridge 2100cdf50a7SSolomon Peachy */ 2110cdf50a7SSolomon Peachy clock-frequency = <0>; /* Filled in by zImage */ 2120cdf50a7SSolomon Peachy 2130cdf50a7SSolomon Peachy nor_flash@0 { 2140cdf50a7SSolomon Peachy compatible = "cfi-flash"; 2150cdf50a7SSolomon Peachy bank-width = <2>; 2160cdf50a7SSolomon Peachy reg = <0x0 0xff800000 0x00800000>; 2170cdf50a7SSolomon Peachy #address-cells = <1>; 2180cdf50a7SSolomon Peachy #size-cells = <1>; 2190cdf50a7SSolomon Peachy 2200cdf50a7SSolomon Peachy /* This mapping is for the 8M flash 2210cdf50a7SSolomon Peachy 4M flash has all ofssets -= 4M, 2220cdf50a7SSolomon Peachy and FeatFS partition is not present */ 2230cdf50a7SSolomon Peachy partition@0 { 2240cdf50a7SSolomon Peachy label = "Bootloader"; 2250cdf50a7SSolomon Peachy reg = <0x7c0000 0x40000>; 2260cdf50a7SSolomon Peachy /* read-only; */ 2270cdf50a7SSolomon Peachy }; 2280cdf50a7SSolomon Peachy partition@1 { 2290cdf50a7SSolomon Peachy label = "Env_and_Config_Primary"; 2300cdf50a7SSolomon Peachy reg = <0x400000 0x10000>; 2310cdf50a7SSolomon Peachy }; 2320cdf50a7SSolomon Peachy partition@2 { 2330cdf50a7SSolomon Peachy label = "Kernel"; 2340cdf50a7SSolomon Peachy reg = <0x420000 0x100000>; 2350cdf50a7SSolomon Peachy }; 2360cdf50a7SSolomon Peachy partition@3 { 2370cdf50a7SSolomon Peachy label = "Filesystem"; 2380cdf50a7SSolomon Peachy reg = <0x520000 0x2a0000>; 2390cdf50a7SSolomon Peachy }; 2400cdf50a7SSolomon Peachy partition@4 { 2410cdf50a7SSolomon Peachy label = "Env_and_Config_Secondary"; 2420cdf50a7SSolomon Peachy reg = <0x410000 0x10000>; 2430cdf50a7SSolomon Peachy }; 2440cdf50a7SSolomon Peachy partition@5 { 2450cdf50a7SSolomon Peachy label = "FeatFS"; 2460cdf50a7SSolomon Peachy reg = <0x000000 0x400000>; 2470cdf50a7SSolomon Peachy }; 2480cdf50a7SSolomon Peachy partition@6 { 2490cdf50a7SSolomon Peachy label = "Bootloader_Env"; 2500cdf50a7SSolomon Peachy reg = <0x7d0000 0x10000>; 2510cdf50a7SSolomon Peachy }; 2520cdf50a7SSolomon Peachy }; 2530cdf50a7SSolomon Peachy }; 2540cdf50a7SSolomon Peachy 2550cdf50a7SSolomon Peachy PCI0: pci@ec000000 { 2560cdf50a7SSolomon Peachy device_type = "pci"; 2570cdf50a7SSolomon Peachy #interrupt-cells = <1>; 2580cdf50a7SSolomon Peachy #size-cells = <2>; 2590cdf50a7SSolomon Peachy #address-cells = <3>; 2600cdf50a7SSolomon Peachy compatible = "ibm,plb405ep-pci", "ibm,plb-pci"; 2610cdf50a7SSolomon Peachy primary; 2620cdf50a7SSolomon Peachy reg = <0xeec00000 0x00000008 /* Config space access */ 2630cdf50a7SSolomon Peachy 0xeed80000 0x00000004 /* IACK */ 2640cdf50a7SSolomon Peachy 0xeed80000 0x00000004 /* Special cycle */ 2650cdf50a7SSolomon Peachy 0xef480000 0x00000040>; /* Internal registers */ 2660cdf50a7SSolomon Peachy 2670cdf50a7SSolomon Peachy /* Outbound ranges, one memory and one IO, 2680cdf50a7SSolomon Peachy * later cannot be changed. Chip supports a second 2690cdf50a7SSolomon Peachy * IO range but we don't use it for now 2700cdf50a7SSolomon Peachy */ 2710cdf50a7SSolomon Peachy ranges = <0x02000000 0x00000000 0x80000000 0x80000000 0x00000000 0x20000000 2720cdf50a7SSolomon Peachy 0x01000000 0x00000000 0x00000000 0xe8000000 0x00000000 0x00010000>; 2730cdf50a7SSolomon Peachy 2740cdf50a7SSolomon Peachy /* Inbound 2GB range starting at 0 */ 2750cdf50a7SSolomon Peachy dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x80000000>; 2760cdf50a7SSolomon Peachy 2770cdf50a7SSolomon Peachy interrupt-parent = <&UIC0>; 2780cdf50a7SSolomon Peachy interrupt-map-mask = <0xf800 0x0 0x0 0x7>; 2790cdf50a7SSolomon Peachy interrupt-map = < 2800cdf50a7SSolomon Peachy /* IDSEL 3 -- slot1 (optional) 27/29 A/B IRQ2/4 */ 2810cdf50a7SSolomon Peachy 0x1800 0x0 0x0 0x1 &UIC0 0x1b 0x8 2820cdf50a7SSolomon Peachy 0x1800 0x0 0x0 0x2 &UIC0 0x1d 0x8 2830cdf50a7SSolomon Peachy 2840cdf50a7SSolomon Peachy /* IDSEL 4 -- slot0, 26/28 A/B IRQ1/3 */ 2850cdf50a7SSolomon Peachy 0x2000 0x0 0x0 0x1 &UIC0 0x1a 0x8 2860cdf50a7SSolomon Peachy 0x2000 0x0 0x0 0x2 &UIC0 0x1c 0x8 2870cdf50a7SSolomon Peachy >; 2880cdf50a7SSolomon Peachy }; 2890cdf50a7SSolomon Peachy }; 2900cdf50a7SSolomon Peachy 2910cdf50a7SSolomon Peachy chosen { 2920cdf50a7SSolomon Peachy linux,stdout-path = &UART0; 2930cdf50a7SSolomon Peachy }; 2940cdf50a7SSolomon Peachy}; 295