1*30d992e3SMarian Balakowicz/* 2*30d992e3SMarian Balakowicz * TQM5200 board Device Tree Source 3*30d992e3SMarian Balakowicz * 4*30d992e3SMarian Balakowicz * Copyright (C) 2007 Semihalf 5*30d992e3SMarian Balakowicz * Marian Balakowicz <m8@semihalf.com> 6*30d992e3SMarian Balakowicz * 7*30d992e3SMarian Balakowicz * This program is free software; you can redistribute it and/or modify it 8*30d992e3SMarian Balakowicz * under the terms of the GNU General Public License as published by the 9*30d992e3SMarian Balakowicz * Free Software Foundation; either version 2 of the License, or (at your 10*30d992e3SMarian Balakowicz * option) any later version. 11*30d992e3SMarian Balakowicz */ 12*30d992e3SMarian Balakowicz 13*30d992e3SMarian Balakowicz/* 14*30d992e3SMarian Balakowicz * WARNING: Do not depend on this tree layout remaining static just yet. 15*30d992e3SMarian Balakowicz * The MPC5200 device tree conventions are still in flux 16*30d992e3SMarian Balakowicz * Keep an eye on the linuxppc-dev mailing list for more details 17*30d992e3SMarian Balakowicz */ 18*30d992e3SMarian Balakowicz 19*30d992e3SMarian Balakowicz/ { 20*30d992e3SMarian Balakowicz model = "tqc,tqm5200"; 21*30d992e3SMarian Balakowicz compatible = "tqc,tqm5200"; 22*30d992e3SMarian Balakowicz #address-cells = <1>; 23*30d992e3SMarian Balakowicz #size-cells = <1>; 24*30d992e3SMarian Balakowicz 25*30d992e3SMarian Balakowicz cpus { 26*30d992e3SMarian Balakowicz #address-cells = <1>; 27*30d992e3SMarian Balakowicz #size-cells = <0>; 28*30d992e3SMarian Balakowicz 29*30d992e3SMarian Balakowicz PowerPC,5200@0 { 30*30d992e3SMarian Balakowicz device_type = "cpu"; 31*30d992e3SMarian Balakowicz reg = <0>; 32*30d992e3SMarian Balakowicz d-cache-line-size = <20>; 33*30d992e3SMarian Balakowicz i-cache-line-size = <20>; 34*30d992e3SMarian Balakowicz d-cache-size = <4000>; // L1, 16K 35*30d992e3SMarian Balakowicz i-cache-size = <4000>; // L1, 16K 36*30d992e3SMarian Balakowicz timebase-frequency = <0>; // from bootloader 37*30d992e3SMarian Balakowicz bus-frequency = <0>; // from bootloader 38*30d992e3SMarian Balakowicz clock-frequency = <0>; // from bootloader 39*30d992e3SMarian Balakowicz }; 40*30d992e3SMarian Balakowicz }; 41*30d992e3SMarian Balakowicz 42*30d992e3SMarian Balakowicz memory { 43*30d992e3SMarian Balakowicz device_type = "memory"; 44*30d992e3SMarian Balakowicz reg = <00000000 04000000>; // 64MB 45*30d992e3SMarian Balakowicz }; 46*30d992e3SMarian Balakowicz 47*30d992e3SMarian Balakowicz soc5200@f0000000 { 48*30d992e3SMarian Balakowicz model = "fsl,mpc5200"; 49*30d992e3SMarian Balakowicz compatible = "fsl,mpc5200"; 50*30d992e3SMarian Balakowicz revision = ""; // from bootloader 51*30d992e3SMarian Balakowicz device_type = "soc"; 52*30d992e3SMarian Balakowicz ranges = <0 f0000000 0000c000>; 53*30d992e3SMarian Balakowicz reg = <f0000000 00000100>; 54*30d992e3SMarian Balakowicz bus-frequency = <0>; // from bootloader 55*30d992e3SMarian Balakowicz system-frequency = <0>; // from bootloader 56*30d992e3SMarian Balakowicz 57*30d992e3SMarian Balakowicz cdm@200 { 58*30d992e3SMarian Balakowicz compatible = "mpc5200-cdm"; 59*30d992e3SMarian Balakowicz reg = <200 38>; 60*30d992e3SMarian Balakowicz }; 61*30d992e3SMarian Balakowicz 62*30d992e3SMarian Balakowicz mpc5200_pic: pic@500 { 63*30d992e3SMarian Balakowicz // 5200 interrupts are encoded into two levels; 64*30d992e3SMarian Balakowicz interrupt-controller; 65*30d992e3SMarian Balakowicz #interrupt-cells = <3>; 66*30d992e3SMarian Balakowicz compatible = "mpc5200-pic"; 67*30d992e3SMarian Balakowicz reg = <500 80>; 68*30d992e3SMarian Balakowicz }; 69*30d992e3SMarian Balakowicz 70*30d992e3SMarian Balakowicz gpt@600 { // General Purpose Timer 71*30d992e3SMarian Balakowicz compatible = "fsl,mpc5200-gpt"; 72*30d992e3SMarian Balakowicz reg = <600 10>; 73*30d992e3SMarian Balakowicz interrupts = <1 9 0>; 74*30d992e3SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 75*30d992e3SMarian Balakowicz fsl,has-wdt; 76*30d992e3SMarian Balakowicz }; 77*30d992e3SMarian Balakowicz 78*30d992e3SMarian Balakowicz gpio@b00 { 79*30d992e3SMarian Balakowicz compatible = "mpc5200-gpio"; 80*30d992e3SMarian Balakowicz reg = <b00 40>; 81*30d992e3SMarian Balakowicz interrupts = <1 7 0>; 82*30d992e3SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 83*30d992e3SMarian Balakowicz }; 84*30d992e3SMarian Balakowicz 85*30d992e3SMarian Balakowicz usb@1000 { 86*30d992e3SMarian Balakowicz compatible = "mpc5200-ohci","ohci-be"; 87*30d992e3SMarian Balakowicz reg = <1000 ff>; 88*30d992e3SMarian Balakowicz interrupts = <2 6 0>; 89*30d992e3SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 90*30d992e3SMarian Balakowicz }; 91*30d992e3SMarian Balakowicz 92*30d992e3SMarian Balakowicz dma-controller@1200 { 93*30d992e3SMarian Balakowicz compatible = "mpc5200-bestcomm"; 94*30d992e3SMarian Balakowicz reg = <1200 80>; 95*30d992e3SMarian Balakowicz interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 96*30d992e3SMarian Balakowicz 3 4 0 3 5 0 3 6 0 3 7 0 97*30d992e3SMarian Balakowicz 3 8 0 3 9 0 3 a 0 3 b 0 98*30d992e3SMarian Balakowicz 3 c 0 3 d 0 3 e 0 3 f 0>; 99*30d992e3SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 100*30d992e3SMarian Balakowicz }; 101*30d992e3SMarian Balakowicz 102*30d992e3SMarian Balakowicz xlb@1f00 { 103*30d992e3SMarian Balakowicz compatible = "mpc5200-xlb"; 104*30d992e3SMarian Balakowicz reg = <1f00 100>; 105*30d992e3SMarian Balakowicz }; 106*30d992e3SMarian Balakowicz 107*30d992e3SMarian Balakowicz serial@2000 { // PSC1 108*30d992e3SMarian Balakowicz device_type = "serial"; 109*30d992e3SMarian Balakowicz compatible = "mpc5200-psc-uart"; 110*30d992e3SMarian Balakowicz port-number = <0>; // Logical port assignment 111*30d992e3SMarian Balakowicz reg = <2000 100>; 112*30d992e3SMarian Balakowicz interrupts = <2 1 0>; 113*30d992e3SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 114*30d992e3SMarian Balakowicz }; 115*30d992e3SMarian Balakowicz 116*30d992e3SMarian Balakowicz serial@2200 { // PSC2 117*30d992e3SMarian Balakowicz device_type = "serial"; 118*30d992e3SMarian Balakowicz compatible = "mpc5200-psc-uart"; 119*30d992e3SMarian Balakowicz port-number = <1>; // Logical port assignment 120*30d992e3SMarian Balakowicz reg = <2200 100>; 121*30d992e3SMarian Balakowicz interrupts = <2 2 0>; 122*30d992e3SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 123*30d992e3SMarian Balakowicz }; 124*30d992e3SMarian Balakowicz 125*30d992e3SMarian Balakowicz serial@2400 { // PSC3 126*30d992e3SMarian Balakowicz device_type = "serial"; 127*30d992e3SMarian Balakowicz compatible = "mpc5200-psc-uart"; 128*30d992e3SMarian Balakowicz port-number = <2>; // Logical port assignment 129*30d992e3SMarian Balakowicz reg = <2400 100>; 130*30d992e3SMarian Balakowicz interrupts = <2 3 0>; 131*30d992e3SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 132*30d992e3SMarian Balakowicz }; 133*30d992e3SMarian Balakowicz 134*30d992e3SMarian Balakowicz ethernet@3000 { 135*30d992e3SMarian Balakowicz device_type = "network"; 136*30d992e3SMarian Balakowicz compatible = "mpc5200-fec"; 137*30d992e3SMarian Balakowicz reg = <3000 800>; 138*30d992e3SMarian Balakowicz local-mac-address = [ 00 00 00 00 00 00 ]; /* Filled in by U-Boot */ 139*30d992e3SMarian Balakowicz interrupts = <2 5 0>; 140*30d992e3SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 141*30d992e3SMarian Balakowicz }; 142*30d992e3SMarian Balakowicz 143*30d992e3SMarian Balakowicz ata@3a00 { 144*30d992e3SMarian Balakowicz compatible = "mpc5200-ata"; 145*30d992e3SMarian Balakowicz reg = <3a00 100>; 146*30d992e3SMarian Balakowicz interrupts = <2 7 0>; 147*30d992e3SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 148*30d992e3SMarian Balakowicz }; 149*30d992e3SMarian Balakowicz 150*30d992e3SMarian Balakowicz i2c@3d40 { 151*30d992e3SMarian Balakowicz compatible = "mpc5200-i2c","fsl-i2c"; 152*30d992e3SMarian Balakowicz reg = <3d40 40>; 153*30d992e3SMarian Balakowicz interrupts = <2 10 0>; 154*30d992e3SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 155*30d992e3SMarian Balakowicz fsl5200-clocking; 156*30d992e3SMarian Balakowicz }; 157*30d992e3SMarian Balakowicz 158*30d992e3SMarian Balakowicz sram@8000 { 159*30d992e3SMarian Balakowicz compatible = "mpc5200-sram"; 160*30d992e3SMarian Balakowicz reg = <8000 4000>; 161*30d992e3SMarian Balakowicz }; 162*30d992e3SMarian Balakowicz }; 163*30d992e3SMarian Balakowicz 164*30d992e3SMarian Balakowicz pci@f0000d00 { 165*30d992e3SMarian Balakowicz #interrupt-cells = <1>; 166*30d992e3SMarian Balakowicz #size-cells = <2>; 167*30d992e3SMarian Balakowicz #address-cells = <3>; 168*30d992e3SMarian Balakowicz device_type = "pci"; 169*30d992e3SMarian Balakowicz compatible = "fsl,mpc5200-pci"; 170*30d992e3SMarian Balakowicz reg = <f0000d00 100>; 171*30d992e3SMarian Balakowicz interrupt-map-mask = <f800 0 0 7>; 172*30d992e3SMarian Balakowicz interrupt-map = <c000 0 0 1 &mpc5200_pic 0 0 3 173*30d992e3SMarian Balakowicz c000 0 0 2 &mpc5200_pic 0 0 3 174*30d992e3SMarian Balakowicz c000 0 0 3 &mpc5200_pic 0 0 3 175*30d992e3SMarian Balakowicz c000 0 0 4 &mpc5200_pic 0 0 3>; 176*30d992e3SMarian Balakowicz clock-frequency = <0>; // From boot loader 177*30d992e3SMarian Balakowicz interrupts = <2 8 0 2 9 0 2 a 0>; 178*30d992e3SMarian Balakowicz interrupt-parent = <&mpc5200_pic>; 179*30d992e3SMarian Balakowicz bus-range = <0 0>; 180*30d992e3SMarian Balakowicz ranges = <42000000 0 80000000 80000000 0 10000000 181*30d992e3SMarian Balakowicz 02000000 0 90000000 90000000 0 10000000 182*30d992e3SMarian Balakowicz 01000000 0 00000000 a0000000 0 01000000>; 183*30d992e3SMarian Balakowicz }; 184*30d992e3SMarian Balakowicz}; 185