18bd3b709SMarian Balakowicz/* 28bd3b709SMarian Balakowicz * CM5200 board Device Tree Source 38bd3b709SMarian Balakowicz * 48bd3b709SMarian Balakowicz * Copyright (C) 2007 Semihalf 58bd3b709SMarian Balakowicz * Marian Balakowicz <m8@semihalf.com> 68bd3b709SMarian Balakowicz * 78bd3b709SMarian Balakowicz * This program is free software; you can redistribute it and/or modify it 88bd3b709SMarian Balakowicz * under the terms of the GNU General Public License as published by the 98bd3b709SMarian Balakowicz * Free Software Foundation; either version 2 of the License, or (at your 108bd3b709SMarian Balakowicz * option) any later version. 118bd3b709SMarian Balakowicz */ 128bd3b709SMarian Balakowicz 138bd3b709SMarian Balakowicz/* 148bd3b709SMarian Balakowicz * WARNING: Do not depend on this tree layout remaining static just yet. 158bd3b709SMarian Balakowicz * The MPC5200 device tree conventions are still in flux 168bd3b709SMarian Balakowicz * Keep an eye on the linuxppc-dev mailing list for more details 178bd3b709SMarian Balakowicz */ 188bd3b709SMarian Balakowicz 198bd3b709SMarian Balakowicz/ { 208bd3b709SMarian Balakowicz model = "schindler,cm5200"; 218bd3b709SMarian Balakowicz compatible = "schindler,cm5200"; 228bd3b709SMarian Balakowicz #address-cells = <1>; 238bd3b709SMarian Balakowicz #size-cells = <1>; 248bd3b709SMarian Balakowicz 258bd3b709SMarian Balakowicz cpus { 268bd3b709SMarian Balakowicz #address-cells = <1>; 278bd3b709SMarian Balakowicz #size-cells = <0>; 288bd3b709SMarian Balakowicz 298bd3b709SMarian Balakowicz PowerPC,5200@0 { 308bd3b709SMarian Balakowicz device_type = "cpu"; 318bd3b709SMarian Balakowicz reg = <0>; 328bd3b709SMarian Balakowicz d-cache-line-size = <20>; 338bd3b709SMarian Balakowicz i-cache-line-size = <20>; 348bd3b709SMarian Balakowicz d-cache-size = <4000>; // L1, 16K 358bd3b709SMarian Balakowicz i-cache-size = <4000>; // L1, 16K 368bd3b709SMarian Balakowicz timebase-frequency = <0>; // from bootloader 378bd3b709SMarian Balakowicz bus-frequency = <0>; // from bootloader 388bd3b709SMarian Balakowicz clock-frequency = <0>; // from bootloader 398bd3b709SMarian Balakowicz }; 408bd3b709SMarian Balakowicz }; 418bd3b709SMarian Balakowicz 428bd3b709SMarian Balakowicz memory { 438bd3b709SMarian Balakowicz device_type = "memory"; 448bd3b709SMarian Balakowicz reg = <00000000 04000000>; // 64MB 458bd3b709SMarian Balakowicz }; 468bd3b709SMarian Balakowicz 478bd3b709SMarian Balakowicz soc5200@f0000000 { 488bd3b709SMarian Balakowicz model = "fsl,mpc5200b"; 498bd3b709SMarian Balakowicz compatible = "fsl,mpc5200b"; 508bd3b709SMarian Balakowicz revision = ""; // from bootloader 518bd3b709SMarian Balakowicz device_type = "soc"; 528bd3b709SMarian Balakowicz ranges = <0 f0000000 0000c000>; 538bd3b709SMarian Balakowicz reg = <f0000000 00000100>; 548bd3b709SMarian Balakowicz bus-frequency = <0>; // from bootloader 558bd3b709SMarian Balakowicz system-frequency = <0>; // from bootloader 568bd3b709SMarian Balakowicz 578bd3b709SMarian Balakowicz cdm@200 { 588bd3b709SMarian Balakowicz compatible = "mpc5200b-cdm","mpc5200-cdm"; 598bd3b709SMarian Balakowicz reg = <200 38>; 608bd3b709SMarian Balakowicz }; 618bd3b709SMarian Balakowicz 628bd3b709SMarian Balakowicz mpc5200_pic: pic@500 { 638bd3b709SMarian Balakowicz // 5200 interrupts are encoded into two levels; 648bd3b709SMarian Balakowicz interrupt-controller; 658bd3b709SMarian Balakowicz #interrupt-cells = <3>; 668bd3b709SMarian Balakowicz compatible = "mpc5200b-pic","mpc5200-pic"; 678bd3b709SMarian Balakowicz reg = <500 80>; 688bd3b709SMarian Balakowicz }; 698bd3b709SMarian Balakowicz 708bd3b709SMarian Balakowicz gpt@600 { // General Purpose Timer 718bd3b709SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 728bd3b709SMarian Balakowicz reg = <600 10>; 738bd3b709SMarian Balakowicz interrupts = <1 9 0>; 748bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 758bd3b709SMarian Balakowicz fsl,has-wdt; 768bd3b709SMarian Balakowicz }; 778bd3b709SMarian Balakowicz 788bd3b709SMarian Balakowicz gpt@610 { // General Purpose Timer 798bd3b709SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 808bd3b709SMarian Balakowicz reg = <610 10>; 818bd3b709SMarian Balakowicz interrupts = <1 a 0>; 828bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 838bd3b709SMarian Balakowicz }; 848bd3b709SMarian Balakowicz 858bd3b709SMarian Balakowicz gpt@620 { // General Purpose Timer 868bd3b709SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 878bd3b709SMarian Balakowicz reg = <620 10>; 888bd3b709SMarian Balakowicz interrupts = <1 b 0>; 898bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 908bd3b709SMarian Balakowicz }; 918bd3b709SMarian Balakowicz 928bd3b709SMarian Balakowicz gpt@630 { // General Purpose Timer 938bd3b709SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 948bd3b709SMarian Balakowicz reg = <630 10>; 958bd3b709SMarian Balakowicz interrupts = <1 c 0>; 968bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 978bd3b709SMarian Balakowicz }; 988bd3b709SMarian Balakowicz 998bd3b709SMarian Balakowicz gpt@640 { // General Purpose Timer 1008bd3b709SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 1018bd3b709SMarian Balakowicz reg = <640 10>; 1028bd3b709SMarian Balakowicz interrupts = <1 d 0>; 1038bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1048bd3b709SMarian Balakowicz }; 1058bd3b709SMarian Balakowicz 1068bd3b709SMarian Balakowicz gpt@650 { // General Purpose Timer 1078bd3b709SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 1088bd3b709SMarian Balakowicz reg = <650 10>; 1098bd3b709SMarian Balakowicz interrupts = <1 e 0>; 1108bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1118bd3b709SMarian Balakowicz }; 1128bd3b709SMarian Balakowicz 1138bd3b709SMarian Balakowicz gpt@660 { // General Purpose Timer 1148bd3b709SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 1158bd3b709SMarian Balakowicz reg = <660 10>; 1168bd3b709SMarian Balakowicz interrupts = <1 f 0>; 1178bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1188bd3b709SMarian Balakowicz }; 1198bd3b709SMarian Balakowicz 1208bd3b709SMarian Balakowicz gpt@670 { // General Purpose Timer 1218bd3b709SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 1228bd3b709SMarian Balakowicz reg = <670 10>; 1238bd3b709SMarian Balakowicz interrupts = <1 10 0>; 1248bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1258bd3b709SMarian Balakowicz }; 1268bd3b709SMarian Balakowicz 1278bd3b709SMarian Balakowicz rtc@800 { // Real time clock 1288bd3b709SMarian Balakowicz compatible = "mpc5200b-rtc","mpc5200-rtc"; 1298bd3b709SMarian Balakowicz reg = <800 100>; 1308bd3b709SMarian Balakowicz interrupts = <1 5 0 1 6 0>; 1318bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1328bd3b709SMarian Balakowicz }; 1338bd3b709SMarian Balakowicz 1348bd3b709SMarian Balakowicz gpio@b00 { 1358bd3b709SMarian Balakowicz compatible = "mpc5200b-gpio","mpc5200-gpio"; 1368bd3b709SMarian Balakowicz reg = <b00 40>; 1378bd3b709SMarian Balakowicz interrupts = <1 7 0>; 1388bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1398bd3b709SMarian Balakowicz }; 1408bd3b709SMarian Balakowicz 1418bd3b709SMarian Balakowicz gpio-wkup@c00 { 1428bd3b709SMarian Balakowicz compatible = "mpc5200b-gpio-wkup","mpc5200-gpio-wkup"; 1438bd3b709SMarian Balakowicz reg = <c00 40>; 1448bd3b709SMarian Balakowicz interrupts = <1 8 0 0 3 0>; 1458bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1468bd3b709SMarian Balakowicz }; 1478bd3b709SMarian Balakowicz 1488bd3b709SMarian Balakowicz spi@f00 { 1498bd3b709SMarian Balakowicz compatible = "mpc5200b-spi","mpc5200-spi"; 1508bd3b709SMarian Balakowicz reg = <f00 20>; 1518bd3b709SMarian Balakowicz interrupts = <2 d 0 2 e 0>; 1528bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1538bd3b709SMarian Balakowicz }; 1548bd3b709SMarian Balakowicz 1558bd3b709SMarian Balakowicz usb@1000 { 1568bd3b709SMarian Balakowicz device_type = "usb-ohci-be"; 1578bd3b709SMarian Balakowicz compatible = "mpc5200b-ohci","mpc5200-ohci","ohci-be"; 1588bd3b709SMarian Balakowicz reg = <1000 ff>; 1598bd3b709SMarian Balakowicz interrupts = <2 6 0>; 1608bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1618bd3b709SMarian Balakowicz }; 1628bd3b709SMarian Balakowicz 1638bd3b709SMarian Balakowicz dma-controller@1200 { 1648bd3b709SMarian Balakowicz compatible = "mpc5200b-bestcomm","mpc5200-bestcomm"; 1658bd3b709SMarian Balakowicz reg = <1200 80>; 1668bd3b709SMarian Balakowicz interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 1678bd3b709SMarian Balakowicz 3 4 0 3 5 0 3 6 0 3 7 0 1688bd3b709SMarian Balakowicz 3 8 0 3 9 0 3 a 0 3 b 0 1698bd3b709SMarian Balakowicz 3 c 0 3 d 0 3 e 0 3 f 0>; 1708bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1718bd3b709SMarian Balakowicz }; 1728bd3b709SMarian Balakowicz 1738bd3b709SMarian Balakowicz xlb@1f00 { 1748bd3b709SMarian Balakowicz compatible = "mpc5200b-xlb","mpc5200-xlb"; 1758bd3b709SMarian Balakowicz reg = <1f00 100>; 1768bd3b709SMarian Balakowicz }; 1778bd3b709SMarian Balakowicz 1788bd3b709SMarian Balakowicz serial@2000 { // PSC1 1798bd3b709SMarian Balakowicz device_type = "serial"; 1808bd3b709SMarian Balakowicz compatible = "mpc5200b-psc-uart","mpc5200-psc-uart"; 1818bd3b709SMarian Balakowicz port-number = <0>; // Logical port assignment 1828bd3b709SMarian Balakowicz reg = <2000 100>; 1838bd3b709SMarian Balakowicz interrupts = <2 1 0>; 1848bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1858bd3b709SMarian Balakowicz }; 1868bd3b709SMarian Balakowicz 1878bd3b709SMarian Balakowicz serial@2200 { // PSC2 1888bd3b709SMarian Balakowicz device_type = "serial"; 1898bd3b709SMarian Balakowicz compatible = "mpc5200-psc-uart"; 1908bd3b709SMarian Balakowicz port-number = <1>; // Logical port assignment 1918bd3b709SMarian Balakowicz reg = <2200 100>; 1928bd3b709SMarian Balakowicz interrupts = <2 2 0>; 1938bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1948bd3b709SMarian Balakowicz }; 1958bd3b709SMarian Balakowicz 1968bd3b709SMarian Balakowicz serial@2400 { // PSC3 1978bd3b709SMarian Balakowicz device_type = "serial"; 1988bd3b709SMarian Balakowicz compatible = "mpc5200-psc-uart"; 1998bd3b709SMarian Balakowicz port-number = <2>; // Logical port assignment 2008bd3b709SMarian Balakowicz reg = <2400 100>; 2018bd3b709SMarian Balakowicz interrupts = <2 3 0>; 2028bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 2038bd3b709SMarian Balakowicz }; 2048bd3b709SMarian Balakowicz 2058bd3b709SMarian Balakowicz serial@2c00 { // PSC6 2068bd3b709SMarian Balakowicz device_type = "serial"; 2078bd3b709SMarian Balakowicz compatible = "mpc5200b-psc-uart","mpc5200-psc-uart"; 2088bd3b709SMarian Balakowicz port-number = <5>; // Logical port assignment 2098bd3b709SMarian Balakowicz reg = <2c00 100>; 2108bd3b709SMarian Balakowicz interrupts = <2 4 0>; 2118bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 2128bd3b709SMarian Balakowicz }; 2138bd3b709SMarian Balakowicz 2148bd3b709SMarian Balakowicz ethernet@3000 { 2158bd3b709SMarian Balakowicz device_type = "network"; 2168bd3b709SMarian Balakowicz compatible = "mpc5200b-fec","mpc5200-fec"; 2178bd3b709SMarian Balakowicz reg = <3000 800>; 2188bd3b709SMarian Balakowicz local-mac-address = [ 00 00 00 00 00 00 ]; /* Filled in by U-Boot */ 2198bd3b709SMarian Balakowicz interrupts = <2 5 0>; 2208bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 2218bd3b709SMarian Balakowicz }; 2228bd3b709SMarian Balakowicz 2238bd3b709SMarian Balakowicz i2c@3d40 { 2248bd3b709SMarian Balakowicz compatible = "mpc5200b-i2c","mpc5200-i2c","fsl-i2c"; 2258bd3b709SMarian Balakowicz reg = <3d40 40>; 2268bd3b709SMarian Balakowicz interrupts = <2 10 0>; 2278bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 2288bd3b709SMarian Balakowicz fsl5200-clocking; 2298bd3b709SMarian Balakowicz }; 2308bd3b709SMarian Balakowicz 2318bd3b709SMarian Balakowicz sram@8000 { 2328bd3b709SMarian Balakowicz compatible = "mpc5200b-sram","mpc5200-sram"; 2338bd3b709SMarian Balakowicz reg = <8000 4000>; 2348bd3b709SMarian Balakowicz }; 2358bd3b709SMarian Balakowicz }; 2368bd3b709SMarian Balakowicz}; 237