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>; 20b8842451SGrant Likely interrupt-parent = <&mpc5200_pic>; 210238aa54SMarian Balakowicz 220238aa54SMarian Balakowicz cpus { 230238aa54SMarian Balakowicz #address-cells = <1>; 240238aa54SMarian Balakowicz #size-cells = <0>; 250238aa54SMarian Balakowicz 260238aa54SMarian Balakowicz PowerPC,5200@0 { 270238aa54SMarian Balakowicz device_type = "cpu"; 280238aa54SMarian Balakowicz reg = <0>; 29a2884f37SGrant Likely d-cache-line-size = <32>; 30a2884f37SGrant Likely i-cache-line-size = <32>; 31a2884f37SGrant Likely d-cache-size = <0x4000>; // L1, 16K 32a2884f37SGrant Likely i-cache-size = <0x4000>; // L1, 16K 330238aa54SMarian Balakowicz timebase-frequency = <0>; // from bootloader 340238aa54SMarian Balakowicz bus-frequency = <0>; // from bootloader 350238aa54SMarian Balakowicz clock-frequency = <0>; // from bootloader 360238aa54SMarian Balakowicz }; 370238aa54SMarian Balakowicz }; 380238aa54SMarian Balakowicz 390238aa54SMarian Balakowicz memory { 400238aa54SMarian Balakowicz device_type = "memory"; 41a2884f37SGrant Likely reg = <0x00000000 0x04000000>; // 64MB 420238aa54SMarian Balakowicz }; 430238aa54SMarian Balakowicz 440238aa54SMarian Balakowicz soc5200@f0000000 { 4558a5be39SPaul Gortmaker #address-cells = <1>; 4658a5be39SPaul Gortmaker #size-cells = <1>; 4724ce6bc4SGrant Likely compatible = "fsl,mpc5200b-immr"; 48a2884f37SGrant Likely ranges = <0 0xf0000000 0x0000c000>; 49a2884f37SGrant Likely reg = <0xf0000000 0x00000100>; 500238aa54SMarian Balakowicz bus-frequency = <0>; // from bootloader 510238aa54SMarian Balakowicz system-frequency = <0>; // from bootloader 520238aa54SMarian Balakowicz 530238aa54SMarian Balakowicz cdm@200 { 5424ce6bc4SGrant Likely compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm"; 55a2884f37SGrant Likely reg = <0x200 0x38>; 560238aa54SMarian Balakowicz }; 570238aa54SMarian Balakowicz 5824ce6bc4SGrant Likely mpc5200_pic: interrupt-controller@500 { 590238aa54SMarian Balakowicz // 5200 interrupts are encoded into two levels; 600238aa54SMarian Balakowicz interrupt-controller; 610238aa54SMarian Balakowicz #interrupt-cells = <3>; 6224ce6bc4SGrant Likely compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic"; 63a2884f37SGrant Likely reg = <0x500 0x80>; 640238aa54SMarian Balakowicz }; 650238aa54SMarian Balakowicz 6624ce6bc4SGrant Likely timer@600 { // General Purpose Timer 670238aa54SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 68a2884f37SGrant Likely reg = <0x600 0x10>; 690238aa54SMarian Balakowicz interrupts = <1 9 0>; 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 }; 780238aa54SMarian Balakowicz 7924ce6bc4SGrant Likely timer@620 { // General Purpose Timer 800238aa54SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 81a2884f37SGrant Likely reg = <0x620 0x10>; 82a2884f37SGrant Likely interrupts = <1 11 0>; 830238aa54SMarian Balakowicz }; 840238aa54SMarian Balakowicz 8524ce6bc4SGrant Likely timer@630 { // General Purpose Timer 860238aa54SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 87a2884f37SGrant Likely reg = <0x630 0x10>; 88a2884f37SGrant Likely interrupts = <1 12 0>; 890238aa54SMarian Balakowicz }; 900238aa54SMarian Balakowicz 9124ce6bc4SGrant Likely timer@640 { // General Purpose Timer 920238aa54SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 93a2884f37SGrant Likely reg = <0x640 0x10>; 94a2884f37SGrant Likely interrupts = <1 13 0>; 950238aa54SMarian Balakowicz }; 960238aa54SMarian Balakowicz 9724ce6bc4SGrant Likely timer@650 { // General Purpose Timer 980238aa54SMarian Balakowicz compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 99a2884f37SGrant Likely reg = <0x650 0x10>; 100a2884f37SGrant Likely interrupts = <1 14 0>; 1010238aa54SMarian Balakowicz }; 1020238aa54SMarian Balakowicz 1030238aa54SMarian Balakowicz motionpro-led@660 { // Motion-PRO status LED 1040238aa54SMarian Balakowicz compatible = "promess,motionpro-led"; 1050238aa54SMarian Balakowicz label = "motionpro-statusled"; 106a2884f37SGrant Likely reg = <0x660 0x10>; 107a2884f37SGrant Likely interrupts = <1 15 0>; 108a2884f37SGrant Likely blink-delay = <100>; // 100 msec 1090238aa54SMarian Balakowicz }; 1100238aa54SMarian Balakowicz 1110238aa54SMarian Balakowicz motionpro-led@670 { // Motion-PRO ready LED 1120238aa54SMarian Balakowicz compatible = "promess,motionpro-led"; 1130238aa54SMarian Balakowicz label = "motionpro-readyled"; 114a2884f37SGrant Likely reg = <0x670 0x10>; 115a2884f37SGrant Likely interrupts = <1 16 0>; 1160238aa54SMarian Balakowicz }; 1170238aa54SMarian Balakowicz 1180238aa54SMarian Balakowicz rtc@800 { // Real time clock 11924ce6bc4SGrant Likely compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc"; 120a2884f37SGrant Likely reg = <0x800 0x100>; 1210238aa54SMarian Balakowicz interrupts = <1 5 0 1 6 0>; 1220238aa54SMarian Balakowicz }; 1230238aa54SMarian Balakowicz 124a2884f37SGrant Likely can@980 { 12524ce6bc4SGrant Likely compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan"; 126a2884f37SGrant Likely interrupts = <2 18 0>; 127a2884f37SGrant Likely reg = <0x980 0x80>; 1280238aa54SMarian Balakowicz }; 1290238aa54SMarian Balakowicz 130b8842451SGrant Likely gpio_simple: gpio@b00 { 13124ce6bc4SGrant Likely compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio"; 132a2884f37SGrant Likely reg = <0xb00 0x40>; 1330238aa54SMarian Balakowicz interrupts = <1 7 0>; 134b8842451SGrant Likely gpio-controller; 135b8842451SGrant Likely #gpio-cells = <2>; 1360238aa54SMarian Balakowicz }; 1370238aa54SMarian Balakowicz 138b8842451SGrant Likely gpio_wkup: gpio@c00 { 13924ce6bc4SGrant Likely compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup"; 140a2884f37SGrant Likely reg = <0xc00 0x40>; 1410238aa54SMarian Balakowicz interrupts = <1 8 0 0 3 0>; 142b8842451SGrant Likely gpio-controller; 143b8842451SGrant Likely #gpio-cells = <2>; 1440238aa54SMarian Balakowicz }; 1450238aa54SMarian Balakowicz 1460238aa54SMarian Balakowicz spi@f00 { 14724ce6bc4SGrant Likely compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi"; 148a2884f37SGrant Likely reg = <0xf00 0x20>; 149a2884f37SGrant Likely interrupts = <2 13 0 2 14 0>; 1500238aa54SMarian Balakowicz }; 1510238aa54SMarian Balakowicz 1520238aa54SMarian Balakowicz usb@1000 { 15324ce6bc4SGrant Likely compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be"; 154a2884f37SGrant Likely reg = <0x1000 0xff>; 1550238aa54SMarian Balakowicz interrupts = <2 6 0>; 1560238aa54SMarian Balakowicz }; 1570238aa54SMarian Balakowicz 1580238aa54SMarian Balakowicz dma-controller@1200 { 15924ce6bc4SGrant Likely compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm"; 160a2884f37SGrant Likely reg = <0x1200 0x80>; 1610238aa54SMarian Balakowicz interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 1620238aa54SMarian Balakowicz 3 4 0 3 5 0 3 6 0 3 7 0 163a2884f37SGrant Likely 3 8 0 3 9 0 3 10 0 3 11 0 164a2884f37SGrant Likely 3 12 0 3 13 0 3 14 0 3 15 0>; 1650238aa54SMarian Balakowicz }; 1660238aa54SMarian Balakowicz 1670238aa54SMarian Balakowicz xlb@1f00 { 16824ce6bc4SGrant Likely compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb"; 169a2884f37SGrant Likely reg = <0x1f00 0x100>; 1700238aa54SMarian Balakowicz }; 1710238aa54SMarian Balakowicz 1720238aa54SMarian Balakowicz serial@2000 { // PSC1 17324ce6bc4SGrant Likely compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; 174a2884f37SGrant Likely reg = <0x2000 0x100>; 1750238aa54SMarian Balakowicz interrupts = <2 1 0>; 1760238aa54SMarian Balakowicz }; 1770238aa54SMarian Balakowicz 1780238aa54SMarian Balakowicz // PSC2 in spi master mode 1790238aa54SMarian Balakowicz spi@2200 { // PSC2 18024ce6bc4SGrant Likely compatible = "fsl,mpc5200b-psc-spi","fsl,mpc5200-psc-spi"; 1810238aa54SMarian Balakowicz cell-index = <1>; 182a2884f37SGrant Likely reg = <0x2200 0x100>; 1830238aa54SMarian Balakowicz interrupts = <2 2 0>; 1840238aa54SMarian Balakowicz }; 1850238aa54SMarian Balakowicz 1860238aa54SMarian Balakowicz // PSC5 in uart mode 1870238aa54SMarian Balakowicz serial@2800 { // PSC5 18824ce6bc4SGrant Likely compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; 189a2884f37SGrant Likely reg = <0x2800 0x100>; 190a2884f37SGrant Likely interrupts = <2 12 0>; 1910238aa54SMarian Balakowicz }; 1920238aa54SMarian Balakowicz 1930238aa54SMarian Balakowicz ethernet@3000 { 19424ce6bc4SGrant Likely compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec"; 195a2884f37SGrant Likely reg = <0x3000 0x400>; 19624ce6bc4SGrant Likely local-mac-address = [ 00 00 00 00 00 00 ]; 1970238aa54SMarian Balakowicz interrupts = <2 5 0>; 198115e1adcSBartlomiej Sieka phy-handle = <&phy0>; 199115e1adcSBartlomiej Sieka }; 200115e1adcSBartlomiej Sieka 201115e1adcSBartlomiej Sieka mdio@3000 { 202115e1adcSBartlomiej Sieka #address-cells = <1>; 203115e1adcSBartlomiej Sieka #size-cells = <0>; 204115e1adcSBartlomiej Sieka compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio"; 205a2884f37SGrant Likely reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts 206115e1adcSBartlomiej Sieka interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. 207115e1adcSBartlomiej Sieka 208115e1adcSBartlomiej Sieka phy0: ethernet-phy@2 { 209115e1adcSBartlomiej Sieka reg = <2>; 210115e1adcSBartlomiej Sieka }; 2110238aa54SMarian Balakowicz }; 2120238aa54SMarian Balakowicz 2130238aa54SMarian Balakowicz ata@3a00 { 21424ce6bc4SGrant Likely compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata"; 215a2884f37SGrant Likely reg = <0x3a00 0x100>; 2160238aa54SMarian Balakowicz interrupts = <2 7 0>; 2170238aa54SMarian Balakowicz }; 2180238aa54SMarian Balakowicz 2190238aa54SMarian Balakowicz i2c@3d40 { 220115e1adcSBartlomiej Sieka #address-cells = <1>; 221115e1adcSBartlomiej Sieka #size-cells = <0>; 22224ce6bc4SGrant Likely compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; 223a2884f37SGrant Likely reg = <0x3d40 0x40>; 224a2884f37SGrant Likely interrupts = <2 16 0>; 2250238aa54SMarian Balakowicz fsl5200-clocking; 226115e1adcSBartlomiej Sieka 227115e1adcSBartlomiej Sieka rtc@68 { 228115e1adcSBartlomiej Sieka compatible = "dallas,ds1339"; 229a2884f37SGrant Likely reg = <0x68>; 230115e1adcSBartlomiej Sieka }; 2310238aa54SMarian Balakowicz }; 2320238aa54SMarian Balakowicz 2330238aa54SMarian Balakowicz sram@8000 { 23424ce6bc4SGrant Likely compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram"; 235a2884f37SGrant Likely reg = <0x8000 0x4000>; 2360238aa54SMarian Balakowicz }; 2370238aa54SMarian Balakowicz }; 2380238aa54SMarian Balakowicz 239b8842451SGrant Likely localbus { 240b8842451SGrant Likely compatible = "fsl,mpc5200b-lpb","simple-bus"; 2410238aa54SMarian Balakowicz #address-cells = <2>; 2420238aa54SMarian Balakowicz #size-cells = <1>; 243a2884f37SGrant Likely ranges = <0 0 0xff000000 0x01000000 244a2884f37SGrant Likely 1 0 0x50000000 0x00010000 245a2884f37SGrant Likely 2 0 0x50010000 0x00010000 246a2884f37SGrant Likely 3 0 0x50020000 0x00010000>; 2470238aa54SMarian Balakowicz 2480238aa54SMarian Balakowicz // 8-bit DualPort SRAM on LocalPlus Bus CS1 2490238aa54SMarian Balakowicz kollmorgen@1,0 { 2500238aa54SMarian Balakowicz compatible = "promess,motionpro-kollmorgen"; 251a2884f37SGrant Likely reg = <1 0 0x10000>; 2520238aa54SMarian Balakowicz interrupts = <1 1 0>; 2530238aa54SMarian Balakowicz }; 2540238aa54SMarian Balakowicz 2550238aa54SMarian Balakowicz // 8-bit board CPLD on LocalPlus Bus CS2 2560238aa54SMarian Balakowicz cpld@2,0 { 2570238aa54SMarian Balakowicz compatible = "promess,motionpro-cpld"; 258a2884f37SGrant Likely reg = <2 0 0x10000>; 2590238aa54SMarian Balakowicz }; 2600238aa54SMarian Balakowicz 2610238aa54SMarian Balakowicz // 8-bit custom Anybus Module on LocalPlus Bus CS3 2620238aa54SMarian Balakowicz anybus@3,0 { 2630238aa54SMarian Balakowicz compatible = "promess,motionpro-anybus"; 264a2884f37SGrant Likely reg = <3 0 0x10000>; 2650238aa54SMarian Balakowicz }; 2660238aa54SMarian Balakowicz pro_module_general@3,0 { 2670238aa54SMarian Balakowicz compatible = "promess,pro_module_general"; 2680238aa54SMarian Balakowicz reg = <3 0 3>; 2690238aa54SMarian Balakowicz }; 2700238aa54SMarian Balakowicz pro_module_dio@3,800 { 2710238aa54SMarian Balakowicz compatible = "promess,pro_module_dio"; 272a2884f37SGrant Likely reg = <3 0x800 2>; 2730238aa54SMarian Balakowicz }; 274115e1adcSBartlomiej Sieka 275115e1adcSBartlomiej Sieka // 16-bit flash device at LocalPlus Bus CS0 276115e1adcSBartlomiej Sieka flash@0,0 { 277115e1adcSBartlomiej Sieka compatible = "cfi-flash"; 278a2884f37SGrant Likely reg = <0 0 0x01000000>; 279115e1adcSBartlomiej Sieka bank-width = <2>; 280115e1adcSBartlomiej Sieka device-width = <2>; 281115e1adcSBartlomiej Sieka #size-cells = <1>; 282115e1adcSBartlomiej Sieka #address-cells = <1>; 2830238aa54SMarian Balakowicz }; 2840238aa54SMarian Balakowicz }; 2850238aa54SMarian Balakowicz}; 286