12874c5fdSThomas Gleixner// SPDX-License-Identifier: GPL-2.0-or-later 263716633SHeiko Schocher/* 363716633SHeiko Schocher * Device Tree for the MGCOGE plattform from keymile 463716633SHeiko Schocher * 563716633SHeiko Schocher * Copyright 2008 DENX Software Engineering GmbH 663716633SHeiko Schocher * Heiko Schocher <hs@denx.de> 763716633SHeiko Schocher */ 863716633SHeiko Schocher 963716633SHeiko Schocher/dts-v1/; 1063716633SHeiko Schocher/ { 1163716633SHeiko Schocher model = "MGCOGE"; 12c513e7c9SHolger Brunck compatible = "keymile,km82xx"; 1363716633SHeiko Schocher #address-cells = <1>; 1463716633SHeiko Schocher #size-cells = <1>; 1563716633SHeiko Schocher 1663716633SHeiko Schocher aliases { 1763716633SHeiko Schocher ethernet0 = ð0; 1863716633SHeiko Schocher serial0 = &smc2; 1963716633SHeiko Schocher }; 2063716633SHeiko Schocher 2163716633SHeiko Schocher cpus { 2263716633SHeiko Schocher #address-cells = <1>; 2363716633SHeiko Schocher #size-cells = <0>; 2463716633SHeiko Schocher 2563716633SHeiko Schocher PowerPC,8247@0 { 2663716633SHeiko Schocher device_type = "cpu"; 2763716633SHeiko Schocher reg = <0>; 2863716633SHeiko Schocher d-cache-line-size = <32>; 2963716633SHeiko Schocher i-cache-line-size = <32>; 3063716633SHeiko Schocher d-cache-size = <16384>; 3163716633SHeiko Schocher i-cache-size = <16384>; 3263716633SHeiko Schocher timebase-frequency = <0>; /* Filled in by U-Boot */ 3363716633SHeiko Schocher clock-frequency = <0>; /* Filled in by U-Boot */ 3463716633SHeiko Schocher bus-frequency = <0>; /* Filled in by U-Boot */ 3563716633SHeiko Schocher }; 3663716633SHeiko Schocher }; 3763716633SHeiko Schocher 3863716633SHeiko Schocher localbus@f0010100 { 3963716633SHeiko Schocher compatible = "fsl,mpc8247-localbus", 4063716633SHeiko Schocher "fsl,pq2-localbus", 4163716633SHeiko Schocher "simple-bus"; 4263716633SHeiko Schocher #address-cells = <2>; 4363716633SHeiko Schocher #size-cells = <1>; 4463716633SHeiko Schocher reg = <0xf0010100 0x40>; 4563716633SHeiko Schocher 4663716633SHeiko Schocher ranges = <0 0 0xfe000000 0x00400000 47c513e7c9SHolger Brunck 1 0 0x30000000 0x00010000 48c513e7c9SHolger Brunck 2 0 0x40000000 0x00010000 49c513e7c9SHolger Brunck 5 0 0x50000000 0x04000000 50c513e7c9SHolger Brunck >; 5163716633SHeiko Schocher 5263716633SHeiko Schocher flash@0,0 { 5363716633SHeiko Schocher compatible = "cfi-flash"; 5463716633SHeiko Schocher reg = <0 0x0 0x400000>; 5563716633SHeiko Schocher #address-cells = <1>; 5663716633SHeiko Schocher #size-cells = <1>; 5763716633SHeiko Schocher bank-width = <1>; 5863716633SHeiko Schocher device-width = <1>; 5963716633SHeiko Schocher partition@0 { 6063716633SHeiko Schocher label = "u-boot"; 61c513e7c9SHolger Brunck reg = <0x00000 0xC0000>; 6263716633SHeiko Schocher }; 63c513e7c9SHolger Brunck partition@1 { 6463716633SHeiko Schocher label = "env"; 65c513e7c9SHolger Brunck reg = <0xC0000 0x20000>; 6663716633SHeiko Schocher }; 67c513e7c9SHolger Brunck partition@2 { 68c513e7c9SHolger Brunck label = "envred"; 69c513e7c9SHolger Brunck reg = <0xE0000 0x20000>; 7063716633SHeiko Schocher }; 71c513e7c9SHolger Brunck partition@3 { 72c513e7c9SHolger Brunck label = "free"; 73c513e7c9SHolger Brunck reg = <0x100000 0x300000>; 7463716633SHeiko Schocher }; 7563716633SHeiko Schocher }; 7663716633SHeiko Schocher 7763716633SHeiko Schocher flash@5,0 { 7863716633SHeiko Schocher compatible = "cfi-flash"; 79c513e7c9SHolger Brunck reg = <5 0x00000000 0x02000000 80c513e7c9SHolger Brunck 5 0x02000000 0x02000000>; 8163716633SHeiko Schocher #address-cells = <1>; 8263716633SHeiko Schocher #size-cells = <1>; 8363716633SHeiko Schocher bank-width = <2>; 84c513e7c9SHolger Brunck partition@app { /* 64 MBytes */ 85c513e7c9SHolger Brunck label = "ubi0"; 86c513e7c9SHolger Brunck reg = <0x00000000 0x04000000>; 8763716633SHeiko Schocher }; 8863716633SHeiko Schocher }; 8963716633SHeiko Schocher }; 9063716633SHeiko Schocher 9163716633SHeiko Schocher memory { 9263716633SHeiko Schocher device_type = "memory"; 9363716633SHeiko Schocher reg = <0 0>; /* Filled in by U-Boot */ 9463716633SHeiko Schocher }; 9563716633SHeiko Schocher 9663716633SHeiko Schocher soc@f0000000 { 9763716633SHeiko Schocher #address-cells = <1>; 9863716633SHeiko Schocher #size-cells = <1>; 9963716633SHeiko Schocher compatible = "fsl,mpc8247-immr", "fsl,pq2-soc", "simple-bus"; 10063716633SHeiko Schocher ranges = <0x00000000 0xf0000000 0x00053000>; 10163716633SHeiko Schocher 10263716633SHeiko Schocher // Temporary until code stops depending on it. 10363716633SHeiko Schocher device_type = "soc"; 10463716633SHeiko Schocher 10563716633SHeiko Schocher cpm@119c0 { 10663716633SHeiko Schocher #address-cells = <1>; 10763716633SHeiko Schocher #size-cells = <1>; 10863716633SHeiko Schocher #interrupt-cells = <2>; 10963716633SHeiko Schocher compatible = "fsl,mpc8247-cpm", "fsl,cpm2", 11063716633SHeiko Schocher "simple-bus"; 11163716633SHeiko Schocher reg = <0x119c0 0x30>; 11263716633SHeiko Schocher ranges; 11363716633SHeiko Schocher 11463716633SHeiko Schocher muram { 11563716633SHeiko Schocher compatible = "fsl,cpm-muram"; 11663716633SHeiko Schocher #address-cells = <1>; 11763716633SHeiko Schocher #size-cells = <1>; 11863716633SHeiko Schocher ranges = <0 0 0x10000>; 11963716633SHeiko Schocher 12063716633SHeiko Schocher data@0 { 12163716633SHeiko Schocher compatible = "fsl,cpm-muram-data"; 12263716633SHeiko Schocher reg = <0x80 0x1f80 0x9800 0x800>; 12363716633SHeiko Schocher }; 12463716633SHeiko Schocher }; 12563716633SHeiko Schocher 12663716633SHeiko Schocher brg@119f0 { 12763716633SHeiko Schocher compatible = "fsl,mpc8247-brg", 12863716633SHeiko Schocher "fsl,cpm2-brg", 12963716633SHeiko Schocher "fsl,cpm-brg"; 13063716633SHeiko Schocher reg = <0x119f0 0x10 0x115f0 0x10>; 13163716633SHeiko Schocher }; 13263716633SHeiko Schocher 13363716633SHeiko Schocher /* Monitor port/SMC2 */ 13463716633SHeiko Schocher smc2: serial@11a90 { 13563716633SHeiko Schocher device_type = "serial"; 13663716633SHeiko Schocher compatible = "fsl,mpc8247-smc-uart", 13763716633SHeiko Schocher "fsl,cpm2-smc-uart"; 13863716633SHeiko Schocher reg = <0x11a90 0x20 0x88fc 0x02>; 13963716633SHeiko Schocher interrupts = <5 8>; 14063716633SHeiko Schocher interrupt-parent = <&PIC>; 14163716633SHeiko Schocher fsl,cpm-brg = <2>; 14263716633SHeiko Schocher fsl,cpm-command = <0x21200000>; 14363716633SHeiko Schocher current-speed = <0>; /* Filled in by U-Boot */ 14463716633SHeiko Schocher }; 14563716633SHeiko Schocher 14663716633SHeiko Schocher eth0: ethernet@11a60 { 14763716633SHeiko Schocher device_type = "network"; 14863716633SHeiko Schocher compatible = "fsl,mpc8247-scc-enet", 14963716633SHeiko Schocher "fsl,cpm2-scc-enet"; 15063716633SHeiko Schocher reg = <0x11a60 0x20 0x8300 0x100 0x11390 1>; 15163716633SHeiko Schocher local-mac-address = [ 00 00 00 00 00 00 ]; /* Filled in by U-Boot */ 15263716633SHeiko Schocher interrupts = <43 8>; 15363716633SHeiko Schocher interrupt-parent = <&PIC>; 15463716633SHeiko Schocher linux,network-index = <0>; 15563716633SHeiko Schocher fsl,cpm-command = <0xce00000>; 15663716633SHeiko Schocher fixed-link = <0 0 10 0 0>; 15763716633SHeiko Schocher }; 15863716633SHeiko Schocher 1599239c89bSHeiko Schocher i2c@11860 { 1609239c89bSHeiko Schocher compatible = "fsl,mpc8272-i2c", 1619239c89bSHeiko Schocher "fsl,cpm2-i2c"; 1629239c89bSHeiko Schocher reg = <0x11860 0x20 0x8afc 0x2>; 1639239c89bSHeiko Schocher interrupts = <1 8>; 1649239c89bSHeiko Schocher interrupt-parent = <&PIC>; 1659239c89bSHeiko Schocher fsl,cpm-command = <0x29600000>; 1669239c89bSHeiko Schocher #address-cells = <1>; 1679239c89bSHeiko Schocher #size-cells = <0>; 1689239c89bSHeiko Schocher }; 1699239c89bSHeiko Schocher 1709239c89bSHeiko Schocher mdio@10d40 { 1719239c89bSHeiko Schocher compatible = "fsl,cpm2-mdio-bitbang"; 1729239c89bSHeiko Schocher reg = <0x10d00 0x14>; 1739239c89bSHeiko Schocher #address-cells = <1>; 1749239c89bSHeiko Schocher #size-cells = <0>; 1759239c89bSHeiko Schocher fsl,mdio-pin = <12>; 1769239c89bSHeiko Schocher fsl,mdc-pin = <13>; 1779239c89bSHeiko Schocher 1789239c89bSHeiko Schocher phy0: ethernet-phy@0 { 1799239c89bSHeiko Schocher reg = <0x0>; 1809239c89bSHeiko Schocher }; 1819239c89bSHeiko Schocher 1829239c89bSHeiko Schocher phy1: ethernet-phy@1 { 1839239c89bSHeiko Schocher reg = <0x1>; 1849239c89bSHeiko Schocher }; 1859239c89bSHeiko Schocher }; 1869239c89bSHeiko Schocher 1879239c89bSHeiko Schocher /* FCC1 management to switch */ 1889239c89bSHeiko Schocher ethernet@11300 { 1899239c89bSHeiko Schocher device_type = "network"; 1909239c89bSHeiko Schocher compatible = "fsl,cpm2-fcc-enet"; 1919239c89bSHeiko Schocher reg = <0x11300 0x20 0x8400 0x100 0x11390 0x1>; 1929239c89bSHeiko Schocher local-mac-address = [ 00 01 02 03 04 07 ]; 1939239c89bSHeiko Schocher interrupts = <32 8>; 1949239c89bSHeiko Schocher interrupt-parent = <&PIC>; 1959239c89bSHeiko Schocher phy-handle = <&phy0>; 1969239c89bSHeiko Schocher linux,network-index = <1>; 1979239c89bSHeiko Schocher fsl,cpm-command = <0x12000300>; 1989239c89bSHeiko Schocher }; 1999239c89bSHeiko Schocher 2009239c89bSHeiko Schocher /* FCC2 to redundant core unit over backplane */ 2019239c89bSHeiko Schocher ethernet@11320 { 2029239c89bSHeiko Schocher device_type = "network"; 2039239c89bSHeiko Schocher compatible = "fsl,cpm2-fcc-enet"; 2049239c89bSHeiko Schocher reg = <0x11320 0x20 0x8500 0x100 0x113b0 0x1>; 2059239c89bSHeiko Schocher local-mac-address = [ 00 01 02 03 04 08 ]; 2069239c89bSHeiko Schocher interrupts = <33 8>; 2079239c89bSHeiko Schocher interrupt-parent = <&PIC>; 2089239c89bSHeiko Schocher phy-handle = <&phy1>; 2099239c89bSHeiko Schocher linux,network-index = <2>; 2109239c89bSHeiko Schocher fsl,cpm-command = <0x16200300>; 2119239c89bSHeiko Schocher }; 2122a05e333SHolger Brunck 2132a05e333SHolger Brunck usb@11b60 { 2142a05e333SHolger Brunck compatible = "fsl,mpc8272-cpm-usb"; 2152a05e333SHolger Brunck mode = "peripheral"; 2162a05e333SHolger Brunck reg = <0x11b60 0x40 0x8b00 0x100>; 2172a05e333SHolger Brunck interrupts = <11 8>; 2182a05e333SHolger Brunck interrupt-parent = <&PIC>; 2192a05e333SHolger Brunck usb-clock = <5>; 2202a05e333SHolger Brunck }; 2215d1d67e3SHolger Brunck spi@11aa0 { 2225d1d67e3SHolger Brunck cell-index = <0>; 2235d1d67e3SHolger Brunck compatible = "fsl,spi", "fsl,cpm2-spi"; 2245d1d67e3SHolger Brunck reg = <0x11a80 0x40 0x89fc 0x2>; 2255d1d67e3SHolger Brunck interrupts = <2 8>; 2265d1d67e3SHolger Brunck interrupt-parent = <&PIC>; 2278c452a88SChristophe Leroy cs-gpios = < &cpm2_pio_d 19 0>; 2285d1d67e3SHolger Brunck #address-cells = <1>; 2295d1d67e3SHolger Brunck #size-cells = <0>; 2305d1d67e3SHolger Brunck ds3106@1 { 2315d1d67e3SHolger Brunck compatible = "gen,spidev"; 2325d1d67e3SHolger Brunck reg = <0>; 2335d1d67e3SHolger Brunck spi-max-frequency = <8000000>; 2345d1d67e3SHolger Brunck }; 2355d1d67e3SHolger Brunck }; 2365d1d67e3SHolger Brunck 2375d1d67e3SHolger Brunck }; 2385d1d67e3SHolger Brunck 2395d1d67e3SHolger Brunck cpm2_pio_d: gpio-controller@10d60 { 2405d1d67e3SHolger Brunck #gpio-cells = <2>; 2415d1d67e3SHolger Brunck compatible = "fsl,cpm2-pario-bank"; 2425d1d67e3SHolger Brunck reg = <0x10d60 0x14>; 2435d1d67e3SHolger Brunck gpio-controller; 24463716633SHeiko Schocher }; 24563716633SHeiko Schocher 246c513e7c9SHolger Brunck cpm2_pio_c: gpio-controller@10d40 { 247c513e7c9SHolger Brunck #gpio-cells = <2>; 248c513e7c9SHolger Brunck compatible = "fsl,cpm2-pario-bank"; 249c513e7c9SHolger Brunck reg = <0x10d40 0x14>; 250c513e7c9SHolger Brunck gpio-controller; 251c513e7c9SHolger Brunck }; 252c513e7c9SHolger Brunck 25363716633SHeiko Schocher PIC: interrupt-controller@10c00 { 25463716633SHeiko Schocher #interrupt-cells = <2>; 25563716633SHeiko Schocher interrupt-controller; 25663716633SHeiko Schocher reg = <0x10c00 0x80>; 25763716633SHeiko Schocher compatible = "fsl,mpc8247-pic", "fsl,pq2-pic"; 25863716633SHeiko Schocher }; 25963716633SHeiko Schocher }; 26063716633SHeiko Schocher}; 261