163716633SHeiko Schocher/* 263716633SHeiko Schocher * Device Tree for the MGCOGE plattform from keymile 363716633SHeiko Schocher * 463716633SHeiko Schocher * Copyright 2008 DENX Software Engineering GmbH 563716633SHeiko Schocher * Heiko Schocher <hs@denx.de> 663716633SHeiko Schocher * 763716633SHeiko Schocher * This program is free software; you can redistribute it and/or modify it 863716633SHeiko Schocher * under the terms of the GNU General Public License as published by the 963716633SHeiko Schocher * Free Software Foundation; either version 2 of the License, or (at your 1063716633SHeiko Schocher * option) any later version. 1163716633SHeiko Schocher */ 1263716633SHeiko Schocher 1363716633SHeiko Schocher/dts-v1/; 1463716633SHeiko Schocher/ { 1563716633SHeiko Schocher model = "MGCOGE"; 16c513e7c9SHolger Brunck compatible = "keymile,km82xx"; 1763716633SHeiko Schocher #address-cells = <1>; 1863716633SHeiko Schocher #size-cells = <1>; 1963716633SHeiko Schocher 2063716633SHeiko Schocher aliases { 2163716633SHeiko Schocher ethernet0 = ð0; 2263716633SHeiko Schocher serial0 = &smc2; 2363716633SHeiko Schocher }; 2463716633SHeiko Schocher 2563716633SHeiko Schocher cpus { 2663716633SHeiko Schocher #address-cells = <1>; 2763716633SHeiko Schocher #size-cells = <0>; 2863716633SHeiko Schocher 2963716633SHeiko Schocher PowerPC,8247@0 { 3063716633SHeiko Schocher device_type = "cpu"; 3163716633SHeiko Schocher reg = <0>; 3263716633SHeiko Schocher d-cache-line-size = <32>; 3363716633SHeiko Schocher i-cache-line-size = <32>; 3463716633SHeiko Schocher d-cache-size = <16384>; 3563716633SHeiko Schocher i-cache-size = <16384>; 3663716633SHeiko Schocher timebase-frequency = <0>; /* Filled in by U-Boot */ 3763716633SHeiko Schocher clock-frequency = <0>; /* Filled in by U-Boot */ 3863716633SHeiko Schocher bus-frequency = <0>; /* Filled in by U-Boot */ 3963716633SHeiko Schocher }; 4063716633SHeiko Schocher }; 4163716633SHeiko Schocher 4263716633SHeiko Schocher localbus@f0010100 { 4363716633SHeiko Schocher compatible = "fsl,mpc8247-localbus", 4463716633SHeiko Schocher "fsl,pq2-localbus", 4563716633SHeiko Schocher "simple-bus"; 4663716633SHeiko Schocher #address-cells = <2>; 4763716633SHeiko Schocher #size-cells = <1>; 4863716633SHeiko Schocher reg = <0xf0010100 0x40>; 4963716633SHeiko Schocher 5063716633SHeiko Schocher ranges = <0 0 0xfe000000 0x00400000 51c513e7c9SHolger Brunck 1 0 0x30000000 0x00010000 52c513e7c9SHolger Brunck 2 0 0x40000000 0x00010000 53c513e7c9SHolger Brunck 5 0 0x50000000 0x04000000 54c513e7c9SHolger Brunck >; 5563716633SHeiko Schocher 5663716633SHeiko Schocher flash@0,0 { 5763716633SHeiko Schocher compatible = "cfi-flash"; 5863716633SHeiko Schocher reg = <0 0x0 0x400000>; 5963716633SHeiko Schocher #address-cells = <1>; 6063716633SHeiko Schocher #size-cells = <1>; 6163716633SHeiko Schocher bank-width = <1>; 6263716633SHeiko Schocher device-width = <1>; 6363716633SHeiko Schocher partition@0 { 6463716633SHeiko Schocher label = "u-boot"; 65c513e7c9SHolger Brunck reg = <0x00000 0xC0000>; 6663716633SHeiko Schocher }; 67c513e7c9SHolger Brunck partition@1 { 6863716633SHeiko Schocher label = "env"; 69c513e7c9SHolger Brunck reg = <0xC0000 0x20000>; 7063716633SHeiko Schocher }; 71c513e7c9SHolger Brunck partition@2 { 72c513e7c9SHolger Brunck label = "envred"; 73c513e7c9SHolger Brunck reg = <0xE0000 0x20000>; 7463716633SHeiko Schocher }; 75c513e7c9SHolger Brunck partition@3 { 76c513e7c9SHolger Brunck label = "free"; 77c513e7c9SHolger Brunck reg = <0x100000 0x300000>; 7863716633SHeiko Schocher }; 7963716633SHeiko Schocher }; 8063716633SHeiko Schocher 8163716633SHeiko Schocher flash@5,0 { 8263716633SHeiko Schocher compatible = "cfi-flash"; 83c513e7c9SHolger Brunck reg = <5 0x00000000 0x02000000 84c513e7c9SHolger Brunck 5 0x02000000 0x02000000>; 8563716633SHeiko Schocher #address-cells = <1>; 8663716633SHeiko Schocher #size-cells = <1>; 8763716633SHeiko Schocher bank-width = <2>; 88c513e7c9SHolger Brunck partition@app { /* 64 MBytes */ 89c513e7c9SHolger Brunck label = "ubi0"; 90c513e7c9SHolger Brunck reg = <0x00000000 0x04000000>; 9163716633SHeiko Schocher }; 9263716633SHeiko Schocher }; 9363716633SHeiko Schocher }; 9463716633SHeiko Schocher 9563716633SHeiko Schocher memory { 9663716633SHeiko Schocher device_type = "memory"; 9763716633SHeiko Schocher reg = <0 0>; /* Filled in by U-Boot */ 9863716633SHeiko Schocher }; 9963716633SHeiko Schocher 10063716633SHeiko Schocher soc@f0000000 { 10163716633SHeiko Schocher #address-cells = <1>; 10263716633SHeiko Schocher #size-cells = <1>; 10363716633SHeiko Schocher compatible = "fsl,mpc8247-immr", "fsl,pq2-soc", "simple-bus"; 10463716633SHeiko Schocher ranges = <0x00000000 0xf0000000 0x00053000>; 10563716633SHeiko Schocher 10663716633SHeiko Schocher // Temporary until code stops depending on it. 10763716633SHeiko Schocher device_type = "soc"; 10863716633SHeiko Schocher 10963716633SHeiko Schocher cpm@119c0 { 11063716633SHeiko Schocher #address-cells = <1>; 11163716633SHeiko Schocher #size-cells = <1>; 11263716633SHeiko Schocher #interrupt-cells = <2>; 11363716633SHeiko Schocher compatible = "fsl,mpc8247-cpm", "fsl,cpm2", 11463716633SHeiko Schocher "simple-bus"; 11563716633SHeiko Schocher reg = <0x119c0 0x30>; 11663716633SHeiko Schocher ranges; 11763716633SHeiko Schocher 11863716633SHeiko Schocher muram { 11963716633SHeiko Schocher compatible = "fsl,cpm-muram"; 12063716633SHeiko Schocher #address-cells = <1>; 12163716633SHeiko Schocher #size-cells = <1>; 12263716633SHeiko Schocher ranges = <0 0 0x10000>; 12363716633SHeiko Schocher 12463716633SHeiko Schocher data@0 { 12563716633SHeiko Schocher compatible = "fsl,cpm-muram-data"; 12663716633SHeiko Schocher reg = <0x80 0x1f80 0x9800 0x800>; 12763716633SHeiko Schocher }; 12863716633SHeiko Schocher }; 12963716633SHeiko Schocher 13063716633SHeiko Schocher brg@119f0 { 13163716633SHeiko Schocher compatible = "fsl,mpc8247-brg", 13263716633SHeiko Schocher "fsl,cpm2-brg", 13363716633SHeiko Schocher "fsl,cpm-brg"; 13463716633SHeiko Schocher reg = <0x119f0 0x10 0x115f0 0x10>; 13563716633SHeiko Schocher }; 13663716633SHeiko Schocher 13763716633SHeiko Schocher /* Monitor port/SMC2 */ 13863716633SHeiko Schocher smc2: serial@11a90 { 13963716633SHeiko Schocher device_type = "serial"; 14063716633SHeiko Schocher compatible = "fsl,mpc8247-smc-uart", 14163716633SHeiko Schocher "fsl,cpm2-smc-uart"; 14263716633SHeiko Schocher reg = <0x11a90 0x20 0x88fc 0x02>; 14363716633SHeiko Schocher interrupts = <5 8>; 14463716633SHeiko Schocher interrupt-parent = <&PIC>; 14563716633SHeiko Schocher fsl,cpm-brg = <2>; 14663716633SHeiko Schocher fsl,cpm-command = <0x21200000>; 14763716633SHeiko Schocher current-speed = <0>; /* Filled in by U-Boot */ 14863716633SHeiko Schocher }; 14963716633SHeiko Schocher 15063716633SHeiko Schocher eth0: ethernet@11a60 { 15163716633SHeiko Schocher device_type = "network"; 15263716633SHeiko Schocher compatible = "fsl,mpc8247-scc-enet", 15363716633SHeiko Schocher "fsl,cpm2-scc-enet"; 15463716633SHeiko Schocher reg = <0x11a60 0x20 0x8300 0x100 0x11390 1>; 15563716633SHeiko Schocher local-mac-address = [ 00 00 00 00 00 00 ]; /* Filled in by U-Boot */ 15663716633SHeiko Schocher interrupts = <43 8>; 15763716633SHeiko Schocher interrupt-parent = <&PIC>; 15863716633SHeiko Schocher linux,network-index = <0>; 15963716633SHeiko Schocher fsl,cpm-command = <0xce00000>; 16063716633SHeiko Schocher fixed-link = <0 0 10 0 0>; 16163716633SHeiko Schocher }; 16263716633SHeiko Schocher 1639239c89bSHeiko Schocher i2c@11860 { 1649239c89bSHeiko Schocher compatible = "fsl,mpc8272-i2c", 1659239c89bSHeiko Schocher "fsl,cpm2-i2c"; 1669239c89bSHeiko Schocher reg = <0x11860 0x20 0x8afc 0x2>; 1679239c89bSHeiko Schocher interrupts = <1 8>; 1689239c89bSHeiko Schocher interrupt-parent = <&PIC>; 1699239c89bSHeiko Schocher fsl,cpm-command = <0x29600000>; 1709239c89bSHeiko Schocher #address-cells = <1>; 1719239c89bSHeiko Schocher #size-cells = <0>; 1729239c89bSHeiko Schocher }; 1739239c89bSHeiko Schocher 1749239c89bSHeiko Schocher mdio@10d40 { 1759239c89bSHeiko Schocher compatible = "fsl,cpm2-mdio-bitbang"; 1769239c89bSHeiko Schocher reg = <0x10d00 0x14>; 1779239c89bSHeiko Schocher #address-cells = <1>; 1789239c89bSHeiko Schocher #size-cells = <0>; 1799239c89bSHeiko Schocher fsl,mdio-pin = <12>; 1809239c89bSHeiko Schocher fsl,mdc-pin = <13>; 1819239c89bSHeiko Schocher 1829239c89bSHeiko Schocher phy0: ethernet-phy@0 { 1839239c89bSHeiko Schocher reg = <0x0>; 1849239c89bSHeiko Schocher }; 1859239c89bSHeiko Schocher 1869239c89bSHeiko Schocher phy1: ethernet-phy@1 { 1879239c89bSHeiko Schocher reg = <0x1>; 1889239c89bSHeiko Schocher }; 1899239c89bSHeiko Schocher }; 1909239c89bSHeiko Schocher 1919239c89bSHeiko Schocher /* FCC1 management to switch */ 1929239c89bSHeiko Schocher ethernet@11300 { 1939239c89bSHeiko Schocher device_type = "network"; 1949239c89bSHeiko Schocher compatible = "fsl,cpm2-fcc-enet"; 1959239c89bSHeiko Schocher reg = <0x11300 0x20 0x8400 0x100 0x11390 0x1>; 1969239c89bSHeiko Schocher local-mac-address = [ 00 01 02 03 04 07 ]; 1979239c89bSHeiko Schocher interrupts = <32 8>; 1989239c89bSHeiko Schocher interrupt-parent = <&PIC>; 1999239c89bSHeiko Schocher phy-handle = <&phy0>; 2009239c89bSHeiko Schocher linux,network-index = <1>; 2019239c89bSHeiko Schocher fsl,cpm-command = <0x12000300>; 2029239c89bSHeiko Schocher }; 2039239c89bSHeiko Schocher 2049239c89bSHeiko Schocher /* FCC2 to redundant core unit over backplane */ 2059239c89bSHeiko Schocher ethernet@11320 { 2069239c89bSHeiko Schocher device_type = "network"; 2079239c89bSHeiko Schocher compatible = "fsl,cpm2-fcc-enet"; 2089239c89bSHeiko Schocher reg = <0x11320 0x20 0x8500 0x100 0x113b0 0x1>; 2099239c89bSHeiko Schocher local-mac-address = [ 00 01 02 03 04 08 ]; 2109239c89bSHeiko Schocher interrupts = <33 8>; 2119239c89bSHeiko Schocher interrupt-parent = <&PIC>; 2129239c89bSHeiko Schocher phy-handle = <&phy1>; 2139239c89bSHeiko Schocher linux,network-index = <2>; 2149239c89bSHeiko Schocher fsl,cpm-command = <0x16200300>; 2159239c89bSHeiko Schocher }; 2162a05e333SHolger Brunck 2172a05e333SHolger Brunck usb@11b60 { 2182a05e333SHolger Brunck compatible = "fsl,mpc8272-cpm-usb"; 2192a05e333SHolger Brunck mode = "peripheral"; 2202a05e333SHolger Brunck reg = <0x11b60 0x40 0x8b00 0x100>; 2212a05e333SHolger Brunck interrupts = <11 8>; 2222a05e333SHolger Brunck interrupt-parent = <&PIC>; 2232a05e333SHolger Brunck usb-clock = <5>; 2242a05e333SHolger Brunck }; 22563716633SHeiko Schocher }; 22663716633SHeiko Schocher 227c513e7c9SHolger Brunck cpm2_pio_c: gpio-controller@10d40 { 228c513e7c9SHolger Brunck #gpio-cells = <2>; 229c513e7c9SHolger Brunck compatible = "fsl,cpm2-pario-bank"; 230c513e7c9SHolger Brunck reg = <0x10d40 0x14>; 231c513e7c9SHolger Brunck gpio-controller; 232c513e7c9SHolger Brunck }; 233c513e7c9SHolger Brunck 23463716633SHeiko Schocher PIC: interrupt-controller@10c00 { 23563716633SHeiko Schocher #interrupt-cells = <2>; 23663716633SHeiko Schocher interrupt-controller; 23763716633SHeiko Schocher reg = <0x10c00 0x80>; 23863716633SHeiko Schocher compatible = "fsl,mpc8247-pic", "fsl,pq2-pic"; 23963716633SHeiko Schocher }; 24063716633SHeiko Schocher }; 24163716633SHeiko Schocher}; 242