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 { 4858a5be39SPaul Gortmaker #address-cells = <1>; 4958a5be39SPaul Gortmaker #size-cells = <1>; 5024ce6bc4SGrant Likely compatible = "fsl,mpc5200b-immr"; 518bd3b709SMarian Balakowicz ranges = <0 f0000000 0000c000>; 528bd3b709SMarian Balakowicz reg = <f0000000 00000100>; 538bd3b709SMarian Balakowicz bus-frequency = <0>; // from bootloader 548bd3b709SMarian Balakowicz system-frequency = <0>; // from bootloader 558bd3b709SMarian Balakowicz 568bd3b709SMarian Balakowicz cdm@200 { 5724ce6bc4SGrant Likely compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm"; 588bd3b709SMarian Balakowicz reg = <200 38>; 598bd3b709SMarian Balakowicz }; 608bd3b709SMarian Balakowicz 618bd3b709SMarian Balakowicz mpc5200_pic: pic@500 { 628bd3b709SMarian Balakowicz // 5200 interrupts are encoded into two levels; 638bd3b709SMarian Balakowicz interrupt-controller; 648bd3b709SMarian Balakowicz #interrupt-cells = <3>; 6524ce6bc4SGrant Likely compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic"; 668bd3b709SMarian Balakowicz reg = <500 80>; 678bd3b709SMarian Balakowicz }; 688bd3b709SMarian Balakowicz 6924ce6bc4SGrant Likely timer@600 { // General Purpose Timer 708bd3b709SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 718bd3b709SMarian Balakowicz reg = <600 10>; 728bd3b709SMarian Balakowicz interrupts = <1 9 0>; 738bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 748bd3b709SMarian Balakowicz fsl,has-wdt; 758bd3b709SMarian Balakowicz }; 768bd3b709SMarian Balakowicz 7724ce6bc4SGrant Likely timer@610 { // General Purpose Timer 788bd3b709SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 798bd3b709SMarian Balakowicz reg = <610 10>; 808bd3b709SMarian Balakowicz interrupts = <1 a 0>; 818bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 828bd3b709SMarian Balakowicz }; 838bd3b709SMarian Balakowicz 8424ce6bc4SGrant Likely timer@620 { // General Purpose Timer 858bd3b709SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 868bd3b709SMarian Balakowicz reg = <620 10>; 878bd3b709SMarian Balakowicz interrupts = <1 b 0>; 888bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 898bd3b709SMarian Balakowicz }; 908bd3b709SMarian Balakowicz 9124ce6bc4SGrant Likely timer@630 { // General Purpose Timer 928bd3b709SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 938bd3b709SMarian Balakowicz reg = <630 10>; 948bd3b709SMarian Balakowicz interrupts = <1 c 0>; 958bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 968bd3b709SMarian Balakowicz }; 978bd3b709SMarian Balakowicz 9824ce6bc4SGrant Likely timer@640 { // General Purpose Timer 998bd3b709SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 1008bd3b709SMarian Balakowicz reg = <640 10>; 1018bd3b709SMarian Balakowicz interrupts = <1 d 0>; 1028bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1038bd3b709SMarian Balakowicz }; 1048bd3b709SMarian Balakowicz 10524ce6bc4SGrant Likely timer@650 { // General Purpose Timer 1068bd3b709SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 1078bd3b709SMarian Balakowicz reg = <650 10>; 1088bd3b709SMarian Balakowicz interrupts = <1 e 0>; 1098bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1108bd3b709SMarian Balakowicz }; 1118bd3b709SMarian Balakowicz 11224ce6bc4SGrant Likely timer@660 { // General Purpose Timer 1138bd3b709SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 1148bd3b709SMarian Balakowicz reg = <660 10>; 1158bd3b709SMarian Balakowicz interrupts = <1 f 0>; 1168bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1178bd3b709SMarian Balakowicz }; 1188bd3b709SMarian Balakowicz 11924ce6bc4SGrant Likely timer@670 { // General Purpose Timer 1208bd3b709SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 1218bd3b709SMarian Balakowicz reg = <670 10>; 1228bd3b709SMarian Balakowicz interrupts = <1 10 0>; 1238bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1248bd3b709SMarian Balakowicz }; 1258bd3b709SMarian Balakowicz 1268bd3b709SMarian Balakowicz rtc@800 { // Real time clock 12724ce6bc4SGrant Likely compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc"; 1288bd3b709SMarian Balakowicz reg = <800 100>; 1298bd3b709SMarian Balakowicz interrupts = <1 5 0 1 6 0>; 1308bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1318bd3b709SMarian Balakowicz }; 1328bd3b709SMarian Balakowicz 1338bd3b709SMarian Balakowicz gpio@b00 { 13424ce6bc4SGrant Likely compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio"; 1358bd3b709SMarian Balakowicz reg = <b00 40>; 1368bd3b709SMarian Balakowicz interrupts = <1 7 0>; 1378bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1388bd3b709SMarian Balakowicz }; 1398bd3b709SMarian Balakowicz 14024ce6bc4SGrant Likely gpio@c00 { 14124ce6bc4SGrant Likely compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup"; 1428bd3b709SMarian Balakowicz reg = <c00 40>; 1438bd3b709SMarian Balakowicz interrupts = <1 8 0 0 3 0>; 1448bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1458bd3b709SMarian Balakowicz }; 1468bd3b709SMarian Balakowicz 1478bd3b709SMarian Balakowicz spi@f00 { 14824ce6bc4SGrant Likely compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi"; 1498bd3b709SMarian Balakowicz reg = <f00 20>; 1508bd3b709SMarian Balakowicz interrupts = <2 d 0 2 e 0>; 1518bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1528bd3b709SMarian Balakowicz }; 1538bd3b709SMarian Balakowicz 1548bd3b709SMarian Balakowicz usb@1000 { 15524ce6bc4SGrant Likely compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be"; 1568bd3b709SMarian Balakowicz reg = <1000 ff>; 1578bd3b709SMarian Balakowicz interrupts = <2 6 0>; 1588bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1598bd3b709SMarian Balakowicz }; 1608bd3b709SMarian Balakowicz 1618bd3b709SMarian Balakowicz dma-controller@1200 { 16224ce6bc4SGrant Likely compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm"; 1638bd3b709SMarian Balakowicz reg = <1200 80>; 1648bd3b709SMarian Balakowicz interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 1658bd3b709SMarian Balakowicz 3 4 0 3 5 0 3 6 0 3 7 0 1668bd3b709SMarian Balakowicz 3 8 0 3 9 0 3 a 0 3 b 0 1678bd3b709SMarian Balakowicz 3 c 0 3 d 0 3 e 0 3 f 0>; 1688bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1698bd3b709SMarian Balakowicz }; 1708bd3b709SMarian Balakowicz 1718bd3b709SMarian Balakowicz xlb@1f00 { 17224ce6bc4SGrant Likely compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb"; 1738bd3b709SMarian Balakowicz reg = <1f00 100>; 1748bd3b709SMarian Balakowicz }; 1758bd3b709SMarian Balakowicz 1768bd3b709SMarian Balakowicz serial@2000 { // PSC1 1778bd3b709SMarian Balakowicz device_type = "serial"; 17824ce6bc4SGrant Likely compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; 1798bd3b709SMarian Balakowicz port-number = <0>; // Logical port assignment 1808bd3b709SMarian Balakowicz reg = <2000 100>; 1818bd3b709SMarian Balakowicz interrupts = <2 1 0>; 1828bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1838bd3b709SMarian Balakowicz }; 1848bd3b709SMarian Balakowicz 1858bd3b709SMarian Balakowicz serial@2200 { // PSC2 1868bd3b709SMarian Balakowicz device_type = "serial"; 18724ce6bc4SGrant Likely compatible = "fsl,mpc5200-psc-uart"; 1888bd3b709SMarian Balakowicz port-number = <1>; // Logical port assignment 1898bd3b709SMarian Balakowicz reg = <2200 100>; 1908bd3b709SMarian Balakowicz interrupts = <2 2 0>; 1918bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1928bd3b709SMarian Balakowicz }; 1938bd3b709SMarian Balakowicz 1948bd3b709SMarian Balakowicz serial@2400 { // PSC3 1958bd3b709SMarian Balakowicz device_type = "serial"; 19624ce6bc4SGrant Likely compatible = "fsl,mpc5200-psc-uart"; 1978bd3b709SMarian Balakowicz port-number = <2>; // Logical port assignment 1988bd3b709SMarian Balakowicz reg = <2400 100>; 1998bd3b709SMarian Balakowicz interrupts = <2 3 0>; 2008bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 2018bd3b709SMarian Balakowicz }; 2028bd3b709SMarian Balakowicz 2038bd3b709SMarian Balakowicz serial@2c00 { // PSC6 2048bd3b709SMarian Balakowicz device_type = "serial"; 20524ce6bc4SGrant Likely compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; 2068bd3b709SMarian Balakowicz port-number = <5>; // Logical port assignment 2078bd3b709SMarian Balakowicz reg = <2c00 100>; 2088bd3b709SMarian Balakowicz interrupts = <2 4 0>; 2098bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 2108bd3b709SMarian Balakowicz }; 2118bd3b709SMarian Balakowicz 2128bd3b709SMarian Balakowicz ethernet@3000 { 2138bd3b709SMarian Balakowicz device_type = "network"; 21424ce6bc4SGrant Likely compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec"; 215115e1adcSBartlomiej Sieka reg = <3000 400>; 21624ce6bc4SGrant Likely local-mac-address = [ 00 00 00 00 00 00 ]; 2178bd3b709SMarian Balakowicz interrupts = <2 5 0>; 2188bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 219115e1adcSBartlomiej Sieka phy-handle = <&phy0>; 220115e1adcSBartlomiej Sieka }; 221115e1adcSBartlomiej Sieka 222115e1adcSBartlomiej Sieka mdio@3000 { 223115e1adcSBartlomiej Sieka #address-cells = <1>; 224115e1adcSBartlomiej Sieka #size-cells = <0>; 225115e1adcSBartlomiej Sieka compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio"; 226115e1adcSBartlomiej Sieka reg = <3000 400>; // fec range, since we need to setup fec interrupts 227115e1adcSBartlomiej Sieka interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. 228115e1adcSBartlomiej Sieka interrupt-parent = <&mpc5200_pic>; 229115e1adcSBartlomiej Sieka 230115e1adcSBartlomiej Sieka phy0: ethernet-phy@0 { 231115e1adcSBartlomiej Sieka device_type = "ethernet-phy"; 232115e1adcSBartlomiej Sieka reg = <0>; 233115e1adcSBartlomiej Sieka }; 2348bd3b709SMarian Balakowicz }; 2358bd3b709SMarian Balakowicz 2368bd3b709SMarian Balakowicz i2c@3d40 { 237115e1adcSBartlomiej Sieka #address-cells = <1>; 238115e1adcSBartlomiej Sieka #size-cells = <0>; 23924ce6bc4SGrant Likely compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; 2408bd3b709SMarian Balakowicz reg = <3d40 40>; 2418bd3b709SMarian Balakowicz interrupts = <2 10 0>; 2428bd3b709SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 2438bd3b709SMarian Balakowicz fsl5200-clocking; 2448bd3b709SMarian Balakowicz }; 2458bd3b709SMarian Balakowicz 2468bd3b709SMarian Balakowicz sram@8000 { 24724ce6bc4SGrant Likely compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram"; 2488bd3b709SMarian Balakowicz reg = <8000 4000>; 2498bd3b709SMarian Balakowicz }; 2508bd3b709SMarian Balakowicz }; 251115e1adcSBartlomiej Sieka 252115e1adcSBartlomiej Sieka lpb { 253115e1adcSBartlomiej Sieka model = "fsl,lpb"; 254115e1adcSBartlomiej Sieka compatible = "fsl,lpb"; 255115e1adcSBartlomiej Sieka #address-cells = <2>; 256115e1adcSBartlomiej Sieka #size-cells = <1>; 257115e1adcSBartlomiej Sieka ranges = <0 0 fc000000 2000000>; 258115e1adcSBartlomiej Sieka 259115e1adcSBartlomiej Sieka // 16-bit flash device at LocalPlus Bus CS0 260115e1adcSBartlomiej Sieka flash@0,0 { 261115e1adcSBartlomiej Sieka compatible = "cfi-flash"; 262115e1adcSBartlomiej Sieka reg = <0 0 2000000>; 263115e1adcSBartlomiej Sieka bank-width = <2>; 264115e1adcSBartlomiej Sieka device-width = <2>; 265115e1adcSBartlomiej Sieka #size-cells = <1>; 266115e1adcSBartlomiej Sieka #address-cells = <1>; 267115e1adcSBartlomiej Sieka }; 268115e1adcSBartlomiej Sieka }; 2698bd3b709SMarian Balakowicz}; 270