10238aa54SMarian Balakowicz/* 20238aa54SMarian Balakowicz * Motion-PRO board Device Tree Source 30238aa54SMarian Balakowicz * 40238aa54SMarian Balakowicz * Copyright (C) 2007 Semihalf 50238aa54SMarian Balakowicz * Marian Balakowicz <m8@semihalf.com> 60238aa54SMarian Balakowicz * 70238aa54SMarian Balakowicz * This program is free software; you can redistribute it and/or modify it 80238aa54SMarian Balakowicz * under the terms of the GNU General Public License as published by the 90238aa54SMarian Balakowicz * Free Software Foundation; either version 2 of the License, or (at your 100238aa54SMarian Balakowicz * option) any later version. 110238aa54SMarian Balakowicz */ 120238aa54SMarian Balakowicz 13a2884f37SGrant Likely/dts-v1/; 14a2884f37SGrant Likely 150238aa54SMarian Balakowicz/ { 160238aa54SMarian Balakowicz model = "promess,motionpro"; 170238aa54SMarian Balakowicz compatible = "promess,motionpro"; 180238aa54SMarian Balakowicz #address-cells = <1>; 190238aa54SMarian Balakowicz #size-cells = <1>; 200238aa54SMarian Balakowicz 210238aa54SMarian Balakowicz cpus { 220238aa54SMarian Balakowicz #address-cells = <1>; 230238aa54SMarian Balakowicz #size-cells = <0>; 240238aa54SMarian Balakowicz 250238aa54SMarian Balakowicz PowerPC,5200@0 { 260238aa54SMarian Balakowicz device_type = "cpu"; 270238aa54SMarian Balakowicz reg = <0>; 28a2884f37SGrant Likely d-cache-line-size = <32>; 29a2884f37SGrant Likely i-cache-line-size = <32>; 30a2884f37SGrant Likely d-cache-size = <0x4000>; // L1, 16K 31a2884f37SGrant Likely i-cache-size = <0x4000>; // L1, 16K 320238aa54SMarian Balakowicz timebase-frequency = <0>; // from bootloader 330238aa54SMarian Balakowicz bus-frequency = <0>; // from bootloader 340238aa54SMarian Balakowicz clock-frequency = <0>; // from bootloader 350238aa54SMarian Balakowicz }; 360238aa54SMarian Balakowicz }; 370238aa54SMarian Balakowicz 380238aa54SMarian Balakowicz memory { 390238aa54SMarian Balakowicz device_type = "memory"; 40a2884f37SGrant Likely reg = <0x00000000 0x04000000>; // 64MB 410238aa54SMarian Balakowicz }; 420238aa54SMarian Balakowicz 430238aa54SMarian Balakowicz soc5200@f0000000 { 4458a5be39SPaul Gortmaker #address-cells = <1>; 4558a5be39SPaul Gortmaker #size-cells = <1>; 4624ce6bc4SGrant Likely compatible = "fsl,mpc5200b-immr"; 47a2884f37SGrant Likely ranges = <0 0xf0000000 0x0000c000>; 48a2884f37SGrant Likely reg = <0xf0000000 0x00000100>; 490238aa54SMarian Balakowicz bus-frequency = <0>; // from bootloader 500238aa54SMarian Balakowicz system-frequency = <0>; // from bootloader 510238aa54SMarian Balakowicz 520238aa54SMarian Balakowicz cdm@200 { 5324ce6bc4SGrant Likely compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm"; 54a2884f37SGrant Likely reg = <0x200 0x38>; 550238aa54SMarian Balakowicz }; 560238aa54SMarian Balakowicz 5724ce6bc4SGrant Likely mpc5200_pic: interrupt-controller@500 { 580238aa54SMarian Balakowicz // 5200 interrupts are encoded into two levels; 590238aa54SMarian Balakowicz interrupt-controller; 600238aa54SMarian Balakowicz #interrupt-cells = <3>; 6124ce6bc4SGrant Likely compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic"; 62a2884f37SGrant Likely reg = <0x500 0x80>; 630238aa54SMarian Balakowicz }; 640238aa54SMarian Balakowicz 6524ce6bc4SGrant Likely timer@600 { // General Purpose Timer 660238aa54SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 67a2884f37SGrant Likely reg = <0x600 0x10>; 680238aa54SMarian Balakowicz interrupts = <1 9 0>; 690238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 700238aa54SMarian Balakowicz fsl,has-wdt; 710238aa54SMarian Balakowicz }; 720238aa54SMarian Balakowicz 7324ce6bc4SGrant Likely timer@610 { // General Purpose Timer 740238aa54SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 75a2884f37SGrant Likely reg = <0x610 0x10>; 76a2884f37SGrant Likely interrupts = <1 10 0>; 770238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 780238aa54SMarian Balakowicz }; 790238aa54SMarian Balakowicz 8024ce6bc4SGrant Likely timer@620 { // General Purpose Timer 810238aa54SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 82a2884f37SGrant Likely reg = <0x620 0x10>; 83a2884f37SGrant Likely interrupts = <1 11 0>; 840238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 850238aa54SMarian Balakowicz }; 860238aa54SMarian Balakowicz 8724ce6bc4SGrant Likely timer@630 { // General Purpose Timer 880238aa54SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 89a2884f37SGrant Likely reg = <0x630 0x10>; 90a2884f37SGrant Likely interrupts = <1 12 0>; 910238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 920238aa54SMarian Balakowicz }; 930238aa54SMarian Balakowicz 9424ce6bc4SGrant Likely timer@640 { // General Purpose Timer 950238aa54SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 96a2884f37SGrant Likely reg = <0x640 0x10>; 97a2884f37SGrant Likely interrupts = <1 13 0>; 980238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 990238aa54SMarian Balakowicz }; 1000238aa54SMarian Balakowicz 10124ce6bc4SGrant Likely timer@650 { // General Purpose Timer 1020238aa54SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 103a2884f37SGrant Likely reg = <0x650 0x10>; 104a2884f37SGrant Likely interrupts = <1 14 0>; 1050238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1060238aa54SMarian Balakowicz }; 1070238aa54SMarian Balakowicz 1080238aa54SMarian Balakowicz motionpro-led@660 { // Motion-PRO status LED 1090238aa54SMarian Balakowicz compatible = "promess,motionpro-led"; 1100238aa54SMarian Balakowicz label = "motionpro-statusled"; 111a2884f37SGrant Likely reg = <0x660 0x10>; 112a2884f37SGrant Likely interrupts = <1 15 0>; 1130238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 114a2884f37SGrant Likely blink-delay = <100>; // 100 msec 1150238aa54SMarian Balakowicz }; 1160238aa54SMarian Balakowicz 1170238aa54SMarian Balakowicz motionpro-led@670 { // Motion-PRO ready LED 1180238aa54SMarian Balakowicz compatible = "promess,motionpro-led"; 1190238aa54SMarian Balakowicz label = "motionpro-readyled"; 120a2884f37SGrant Likely reg = <0x670 0x10>; 121a2884f37SGrant Likely interrupts = <1 16 0>; 1220238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1230238aa54SMarian Balakowicz }; 1240238aa54SMarian Balakowicz 1250238aa54SMarian Balakowicz rtc@800 { // Real time clock 12624ce6bc4SGrant Likely compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc"; 127a2884f37SGrant Likely reg = <0x800 0x100>; 1280238aa54SMarian Balakowicz interrupts = <1 5 0 1 6 0>; 1290238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1300238aa54SMarian Balakowicz }; 1310238aa54SMarian Balakowicz 132a2884f37SGrant Likely can@980 { 13324ce6bc4SGrant Likely compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan"; 134a2884f37SGrant Likely interrupts = <2 18 0>; 1350238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 136a2884f37SGrant Likely reg = <0x980 0x80>; 1370238aa54SMarian Balakowicz }; 1380238aa54SMarian Balakowicz 1390238aa54SMarian Balakowicz gpio@b00 { 14024ce6bc4SGrant Likely compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio"; 141a2884f37SGrant Likely reg = <0xb00 0x40>; 1420238aa54SMarian Balakowicz interrupts = <1 7 0>; 1430238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1440238aa54SMarian Balakowicz }; 1450238aa54SMarian Balakowicz 14624ce6bc4SGrant Likely gpio@c00 { 14724ce6bc4SGrant Likely compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup"; 148a2884f37SGrant Likely reg = <0xc00 0x40>; 1490238aa54SMarian Balakowicz interrupts = <1 8 0 0 3 0>; 1500238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1510238aa54SMarian Balakowicz }; 1520238aa54SMarian Balakowicz 1530238aa54SMarian Balakowicz spi@f00 { 15424ce6bc4SGrant Likely compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi"; 155a2884f37SGrant Likely reg = <0xf00 0x20>; 156a2884f37SGrant Likely interrupts = <2 13 0 2 14 0>; 1570238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1580238aa54SMarian Balakowicz }; 1590238aa54SMarian Balakowicz 1600238aa54SMarian Balakowicz usb@1000 { 16124ce6bc4SGrant Likely compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be"; 162a2884f37SGrant Likely reg = <0x1000 0xff>; 1630238aa54SMarian Balakowicz interrupts = <2 6 0>; 1640238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1650238aa54SMarian Balakowicz }; 1660238aa54SMarian Balakowicz 1670238aa54SMarian Balakowicz dma-controller@1200 { 16824ce6bc4SGrant Likely compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm"; 169a2884f37SGrant Likely reg = <0x1200 0x80>; 1700238aa54SMarian Balakowicz interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 1710238aa54SMarian Balakowicz 3 4 0 3 5 0 3 6 0 3 7 0 172a2884f37SGrant Likely 3 8 0 3 9 0 3 10 0 3 11 0 173a2884f37SGrant Likely 3 12 0 3 13 0 3 14 0 3 15 0>; 1740238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1750238aa54SMarian Balakowicz }; 1760238aa54SMarian Balakowicz 1770238aa54SMarian Balakowicz xlb@1f00 { 17824ce6bc4SGrant Likely compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb"; 179a2884f37SGrant Likely reg = <0x1f00 0x100>; 1800238aa54SMarian Balakowicz }; 1810238aa54SMarian Balakowicz 1820238aa54SMarian Balakowicz serial@2000 { // PSC1 1830238aa54SMarian Balakowicz device_type = "serial"; 18424ce6bc4SGrant Likely compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; 1850238aa54SMarian Balakowicz port-number = <0>; // Logical port assignment 186a2884f37SGrant Likely reg = <0x2000 0x100>; 1870238aa54SMarian Balakowicz interrupts = <2 1 0>; 1880238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1890238aa54SMarian Balakowicz }; 1900238aa54SMarian Balakowicz 1910238aa54SMarian Balakowicz // PSC2 in spi master mode 1920238aa54SMarian Balakowicz spi@2200 { // PSC2 19324ce6bc4SGrant Likely compatible = "fsl,mpc5200b-psc-spi","fsl,mpc5200-psc-spi"; 1940238aa54SMarian Balakowicz cell-index = <1>; 195a2884f37SGrant Likely reg = <0x2200 0x100>; 1960238aa54SMarian Balakowicz interrupts = <2 2 0>; 1970238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 1980238aa54SMarian Balakowicz }; 1990238aa54SMarian Balakowicz 2000238aa54SMarian Balakowicz // PSC5 in uart mode 2010238aa54SMarian Balakowicz serial@2800 { // PSC5 2020238aa54SMarian Balakowicz device_type = "serial"; 20324ce6bc4SGrant Likely compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; 2040238aa54SMarian Balakowicz port-number = <4>; // Logical port assignment 205a2884f37SGrant Likely reg = <0x2800 0x100>; 206a2884f37SGrant Likely interrupts = <2 12 0>; 2070238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 2080238aa54SMarian Balakowicz }; 2090238aa54SMarian Balakowicz 2100238aa54SMarian Balakowicz ethernet@3000 { 2110238aa54SMarian Balakowicz device_type = "network"; 21224ce6bc4SGrant Likely compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec"; 213a2884f37SGrant Likely reg = <0x3000 0x400>; 21424ce6bc4SGrant Likely local-mac-address = [ 00 00 00 00 00 00 ]; 2150238aa54SMarian Balakowicz interrupts = <2 5 0>; 2160238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 217115e1adcSBartlomiej Sieka phy-handle = <&phy0>; 218115e1adcSBartlomiej Sieka }; 219115e1adcSBartlomiej Sieka 220115e1adcSBartlomiej Sieka mdio@3000 { 221115e1adcSBartlomiej Sieka #address-cells = <1>; 222115e1adcSBartlomiej Sieka #size-cells = <0>; 223115e1adcSBartlomiej Sieka compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio"; 224a2884f37SGrant Likely reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts 225115e1adcSBartlomiej Sieka interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. 226115e1adcSBartlomiej Sieka interrupt-parent = <&mpc5200_pic>; 227115e1adcSBartlomiej Sieka 228115e1adcSBartlomiej Sieka phy0: ethernet-phy@2 { 229115e1adcSBartlomiej Sieka device_type = "ethernet-phy"; 230115e1adcSBartlomiej Sieka reg = <2>; 231115e1adcSBartlomiej Sieka }; 2320238aa54SMarian Balakowicz }; 2330238aa54SMarian Balakowicz 2340238aa54SMarian Balakowicz ata@3a00 { 23524ce6bc4SGrant Likely compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata"; 236a2884f37SGrant Likely reg = <0x3a00 0x100>; 2370238aa54SMarian Balakowicz interrupts = <2 7 0>; 2380238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 2390238aa54SMarian Balakowicz }; 2400238aa54SMarian Balakowicz 2410238aa54SMarian Balakowicz i2c@3d40 { 242115e1adcSBartlomiej Sieka #address-cells = <1>; 243115e1adcSBartlomiej Sieka #size-cells = <0>; 24424ce6bc4SGrant Likely compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; 245a2884f37SGrant Likely reg = <0x3d40 0x40>; 246a2884f37SGrant Likely interrupts = <2 16 0>; 2470238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 2480238aa54SMarian Balakowicz fsl5200-clocking; 249115e1adcSBartlomiej Sieka 250115e1adcSBartlomiej Sieka rtc@68 { 251115e1adcSBartlomiej Sieka device_type = "rtc"; 252115e1adcSBartlomiej Sieka compatible = "dallas,ds1339"; 253a2884f37SGrant Likely reg = <0x68>; 254115e1adcSBartlomiej Sieka }; 2550238aa54SMarian Balakowicz }; 2560238aa54SMarian Balakowicz 2570238aa54SMarian Balakowicz sram@8000 { 25824ce6bc4SGrant Likely compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram"; 259a2884f37SGrant Likely reg = <0x8000 0x4000>; 2600238aa54SMarian Balakowicz }; 2610238aa54SMarian Balakowicz }; 2620238aa54SMarian Balakowicz 2630238aa54SMarian Balakowicz lpb { 2640238aa54SMarian Balakowicz compatible = "fsl,lpb"; 2650238aa54SMarian Balakowicz #address-cells = <2>; 2660238aa54SMarian Balakowicz #size-cells = <1>; 267a2884f37SGrant Likely ranges = <0 0 0xff000000 0x01000000 268a2884f37SGrant Likely 1 0 0x50000000 0x00010000 269a2884f37SGrant Likely 2 0 0x50010000 0x00010000 270a2884f37SGrant Likely 3 0 0x50020000 0x00010000>; 2710238aa54SMarian Balakowicz 2720238aa54SMarian Balakowicz // 8-bit DualPort SRAM on LocalPlus Bus CS1 2730238aa54SMarian Balakowicz kollmorgen@1,0 { 2740238aa54SMarian Balakowicz compatible = "promess,motionpro-kollmorgen"; 275a2884f37SGrant Likely reg = <1 0 0x10000>; 2760238aa54SMarian Balakowicz interrupts = <1 1 0>; 2770238aa54SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 2780238aa54SMarian Balakowicz }; 2790238aa54SMarian Balakowicz 2800238aa54SMarian Balakowicz // 8-bit board CPLD on LocalPlus Bus CS2 2810238aa54SMarian Balakowicz cpld@2,0 { 2820238aa54SMarian Balakowicz compatible = "promess,motionpro-cpld"; 283a2884f37SGrant Likely reg = <2 0 0x10000>; 2840238aa54SMarian Balakowicz }; 2850238aa54SMarian Balakowicz 2860238aa54SMarian Balakowicz // 8-bit custom Anybus Module on LocalPlus Bus CS3 2870238aa54SMarian Balakowicz anybus@3,0 { 2880238aa54SMarian Balakowicz compatible = "promess,motionpro-anybus"; 289a2884f37SGrant Likely reg = <3 0 0x10000>; 2900238aa54SMarian Balakowicz }; 2910238aa54SMarian Balakowicz pro_module_general@3,0 { 2920238aa54SMarian Balakowicz compatible = "promess,pro_module_general"; 2930238aa54SMarian Balakowicz reg = <3 0 3>; 2940238aa54SMarian Balakowicz }; 2950238aa54SMarian Balakowicz pro_module_dio@3,800 { 2960238aa54SMarian Balakowicz compatible = "promess,pro_module_dio"; 297a2884f37SGrant Likely reg = <3 0x800 2>; 2980238aa54SMarian Balakowicz }; 299115e1adcSBartlomiej Sieka 300115e1adcSBartlomiej Sieka // 16-bit flash device at LocalPlus Bus CS0 301115e1adcSBartlomiej Sieka flash@0,0 { 302115e1adcSBartlomiej Sieka compatible = "cfi-flash"; 303a2884f37SGrant Likely reg = <0 0 0x01000000>; 304115e1adcSBartlomiej Sieka bank-width = <2>; 305115e1adcSBartlomiej Sieka device-width = <2>; 306115e1adcSBartlomiej Sieka #size-cells = <1>; 307115e1adcSBartlomiej Sieka #address-cells = <1>; 3080238aa54SMarian Balakowicz }; 3090238aa54SMarian Balakowicz }; 3100238aa54SMarian Balakowicz}; 311