1*4882a593Smuzhiyun/* 2*4882a593Smuzhiyun * Device Tree Source for IBM Embedded PPC 476 Platform 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Copyright 2010 Torez Smith, IBM Corporation. 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * Based on earlier code: 7*4882a593Smuzhiyun * Copyright (c) 2006, 2007 IBM Corp. 8*4882a593Smuzhiyun * Josh Boyer <jwboyer@linux.vnet.ibm.com>, David Gibson <dwg@au1.ibm.com> 9*4882a593Smuzhiyun * 10*4882a593Smuzhiyun * This file is licensed under the terms of the GNU General Public 11*4882a593Smuzhiyun * License version 2. This program is licensed "as is" without 12*4882a593Smuzhiyun * any warranty of any kind, whether express or implied. 13*4882a593Smuzhiyun */ 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun/dts-v1/; 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun/memreserve/ 0x01f00000 0x00100000; 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun/ { 20*4882a593Smuzhiyun #address-cells = <2>; 21*4882a593Smuzhiyun #size-cells = <1>; 22*4882a593Smuzhiyun model = "ibm,iss-4xx"; 23*4882a593Smuzhiyun compatible = "ibm,iss-4xx"; 24*4882a593Smuzhiyun dcr-parent = <&{/cpus/cpu@0}>; 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun aliases { 27*4882a593Smuzhiyun serial0 = &UART0; 28*4882a593Smuzhiyun }; 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun cpus { 31*4882a593Smuzhiyun #address-cells = <1>; 32*4882a593Smuzhiyun #size-cells = <0>; 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun cpu@0 { 35*4882a593Smuzhiyun device_type = "cpu"; 36*4882a593Smuzhiyun model = "PowerPC,4xx"; // real CPU changed in sim 37*4882a593Smuzhiyun reg = <0>; 38*4882a593Smuzhiyun clock-frequency = <100000000>; // 100Mhz :-) 39*4882a593Smuzhiyun timebase-frequency = <100000000>; 40*4882a593Smuzhiyun i-cache-line-size = <32>; 41*4882a593Smuzhiyun d-cache-line-size = <32>; 42*4882a593Smuzhiyun i-cache-size = <32768>; 43*4882a593Smuzhiyun d-cache-size = <32768>; 44*4882a593Smuzhiyun dcr-controller; 45*4882a593Smuzhiyun dcr-access-method = "native"; 46*4882a593Smuzhiyun status = "okay"; 47*4882a593Smuzhiyun }; 48*4882a593Smuzhiyun cpu@1 { 49*4882a593Smuzhiyun device_type = "cpu"; 50*4882a593Smuzhiyun model = "PowerPC,4xx"; // real CPU changed in sim 51*4882a593Smuzhiyun reg = <1>; 52*4882a593Smuzhiyun clock-frequency = <100000000>; // 100Mhz :-) 53*4882a593Smuzhiyun timebase-frequency = <100000000>; 54*4882a593Smuzhiyun i-cache-line-size = <32>; 55*4882a593Smuzhiyun d-cache-line-size = <32>; 56*4882a593Smuzhiyun i-cache-size = <32768>; 57*4882a593Smuzhiyun d-cache-size = <32768>; 58*4882a593Smuzhiyun dcr-controller; 59*4882a593Smuzhiyun dcr-access-method = "native"; 60*4882a593Smuzhiyun status = "disabled"; 61*4882a593Smuzhiyun enable-method = "spin-table"; 62*4882a593Smuzhiyun cpu-release-addr = <0 0x01f00100>; 63*4882a593Smuzhiyun }; 64*4882a593Smuzhiyun cpu@2 { 65*4882a593Smuzhiyun device_type = "cpu"; 66*4882a593Smuzhiyun model = "PowerPC,4xx"; // real CPU changed in sim 67*4882a593Smuzhiyun reg = <2>; 68*4882a593Smuzhiyun clock-frequency = <100000000>; // 100Mhz :-) 69*4882a593Smuzhiyun timebase-frequency = <100000000>; 70*4882a593Smuzhiyun i-cache-line-size = <32>; 71*4882a593Smuzhiyun d-cache-line-size = <32>; 72*4882a593Smuzhiyun i-cache-size = <32768>; 73*4882a593Smuzhiyun d-cache-size = <32768>; 74*4882a593Smuzhiyun dcr-controller; 75*4882a593Smuzhiyun dcr-access-method = "native"; 76*4882a593Smuzhiyun status = "disabled"; 77*4882a593Smuzhiyun enable-method = "spin-table"; 78*4882a593Smuzhiyun cpu-release-addr = <0 0x01f00200>; 79*4882a593Smuzhiyun }; 80*4882a593Smuzhiyun cpu@3 { 81*4882a593Smuzhiyun device_type = "cpu"; 82*4882a593Smuzhiyun model = "PowerPC,4xx"; // real CPU changed in sim 83*4882a593Smuzhiyun reg = <3>; 84*4882a593Smuzhiyun clock-frequency = <100000000>; // 100Mhz :-) 85*4882a593Smuzhiyun timebase-frequency = <100000000>; 86*4882a593Smuzhiyun i-cache-line-size = <32>; 87*4882a593Smuzhiyun d-cache-line-size = <32>; 88*4882a593Smuzhiyun i-cache-size = <32768>; 89*4882a593Smuzhiyun d-cache-size = <32768>; 90*4882a593Smuzhiyun dcr-controller; 91*4882a593Smuzhiyun dcr-access-method = "native"; 92*4882a593Smuzhiyun status = "disabled"; 93*4882a593Smuzhiyun enable-method = "spin-table"; 94*4882a593Smuzhiyun cpu-release-addr = <0 0x01f00300>; 95*4882a593Smuzhiyun }; 96*4882a593Smuzhiyun }; 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun memory { 99*4882a593Smuzhiyun device_type = "memory"; 100*4882a593Smuzhiyun reg = <0x00000000 0x00000000 0x00000000>; // Filled in by zImage 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun }; 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun MPIC: interrupt-controller { 105*4882a593Smuzhiyun compatible = "chrp,open-pic"; 106*4882a593Smuzhiyun interrupt-controller; 107*4882a593Smuzhiyun dcr-reg = <0xffc00000 0x00030000>; 108*4882a593Smuzhiyun #address-cells = <0>; 109*4882a593Smuzhiyun #size-cells = <0>; 110*4882a593Smuzhiyun #interrupt-cells = <2>; 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun }; 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun plb { 115*4882a593Smuzhiyun compatible = "ibm,plb-4xx", "ibm,plb4"; /* Could be PLB6, doesn't matter */ 116*4882a593Smuzhiyun #address-cells = <2>; 117*4882a593Smuzhiyun #size-cells = <1>; 118*4882a593Smuzhiyun ranges; 119*4882a593Smuzhiyun clock-frequency = <0>; // Filled in by zImage 120*4882a593Smuzhiyun 121*4882a593Smuzhiyun POB0: opb { 122*4882a593Smuzhiyun compatible = "ibm,opb-4xx", "ibm,opb"; 123*4882a593Smuzhiyun #address-cells = <1>; 124*4882a593Smuzhiyun #size-cells = <1>; 125*4882a593Smuzhiyun /* Wish there was a nicer way of specifying a full 32-bit 126*4882a593Smuzhiyun range */ 127*4882a593Smuzhiyun ranges = <0x00000000 0x00000001 0x00000000 0x80000000 128*4882a593Smuzhiyun 0x80000000 0x00000001 0x80000000 0x80000000>; 129*4882a593Smuzhiyun clock-frequency = <0>; // Filled in by zImage 130*4882a593Smuzhiyun UART0: serial@40000200 { 131*4882a593Smuzhiyun device_type = "serial"; 132*4882a593Smuzhiyun compatible = "ns16550a"; 133*4882a593Smuzhiyun reg = <0x40000200 0x00000008>; 134*4882a593Smuzhiyun virtual-reg = <0xe0000200>; 135*4882a593Smuzhiyun clock-frequency = <11059200>; 136*4882a593Smuzhiyun current-speed = <115200>; 137*4882a593Smuzhiyun interrupt-parent = <&MPIC>; 138*4882a593Smuzhiyun interrupts = <0x0 0x2>; 139*4882a593Smuzhiyun }; 140*4882a593Smuzhiyun }; 141*4882a593Smuzhiyun }; 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun nvrtc { 144*4882a593Smuzhiyun compatible = "ds1743-nvram", "ds1743", "rtc-ds1743"; 145*4882a593Smuzhiyun reg = <0 0xEF703000 0x2000>; 146*4882a593Smuzhiyun }; 147*4882a593Smuzhiyun iss-block { 148*4882a593Smuzhiyun compatible = "ibm,iss-sim-block-device"; 149*4882a593Smuzhiyun reg = <0 0xEF701000 0x1000>; 150*4882a593Smuzhiyun }; 151*4882a593Smuzhiyun 152*4882a593Smuzhiyun chosen { 153*4882a593Smuzhiyun stdout-path = "/plb/opb/serial@40000200"; 154*4882a593Smuzhiyun }; 155*4882a593Smuzhiyun}; 156