1*c66ec88fSEmmanuel Vadot/* 2*c66ec88fSEmmanuel Vadot * Device Tree Source for IBM Embedded PPC 476 Platform 3*c66ec88fSEmmanuel Vadot * 4*c66ec88fSEmmanuel Vadot * Copyright 2010 Torez Smith, IBM Corporation. 5*c66ec88fSEmmanuel Vadot * 6*c66ec88fSEmmanuel Vadot * Based on earlier code: 7*c66ec88fSEmmanuel Vadot * Copyright (c) 2006, 2007 IBM Corp. 8*c66ec88fSEmmanuel Vadot * Josh Boyer <jwboyer@linux.vnet.ibm.com>, David Gibson <dwg@au1.ibm.com> 9*c66ec88fSEmmanuel Vadot * 10*c66ec88fSEmmanuel Vadot * This file is licensed under the terms of the GNU General Public 11*c66ec88fSEmmanuel Vadot * License version 2. This program is licensed "as is" without 12*c66ec88fSEmmanuel Vadot * any warranty of any kind, whether express or implied. 13*c66ec88fSEmmanuel Vadot */ 14*c66ec88fSEmmanuel Vadot 15*c66ec88fSEmmanuel Vadot/dts-v1/; 16*c66ec88fSEmmanuel Vadot 17*c66ec88fSEmmanuel Vadot/ { 18*c66ec88fSEmmanuel Vadot #address-cells = <2>; 19*c66ec88fSEmmanuel Vadot #size-cells = <1>; 20*c66ec88fSEmmanuel Vadot model = "ibm,iss-4xx"; 21*c66ec88fSEmmanuel Vadot compatible = "ibm,iss-4xx"; 22*c66ec88fSEmmanuel Vadot dcr-parent = <&{/cpus/cpu@0}>; 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel Vadot aliases { 25*c66ec88fSEmmanuel Vadot serial0 = &UART0; 26*c66ec88fSEmmanuel Vadot }; 27*c66ec88fSEmmanuel Vadot 28*c66ec88fSEmmanuel Vadot cpus { 29*c66ec88fSEmmanuel Vadot #address-cells = <1>; 30*c66ec88fSEmmanuel Vadot #size-cells = <0>; 31*c66ec88fSEmmanuel Vadot 32*c66ec88fSEmmanuel Vadot cpu@0 { 33*c66ec88fSEmmanuel Vadot device_type = "cpu"; 34*c66ec88fSEmmanuel Vadot model = "PowerPC,4xx"; // real CPU changed in sim 35*c66ec88fSEmmanuel Vadot reg = <0x00000000>; 36*c66ec88fSEmmanuel Vadot clock-frequency = <100000000>; // 100Mhz :-) 37*c66ec88fSEmmanuel Vadot timebase-frequency = <100000000>; 38*c66ec88fSEmmanuel Vadot i-cache-line-size = <32>; // may need fixup in sim 39*c66ec88fSEmmanuel Vadot d-cache-line-size = <32>; // may need fixup in sim 40*c66ec88fSEmmanuel Vadot i-cache-size = <32768>; /* may need fixup in sim */ 41*c66ec88fSEmmanuel Vadot d-cache-size = <32768>; /* may need fixup in sim */ 42*c66ec88fSEmmanuel Vadot dcr-controller; 43*c66ec88fSEmmanuel Vadot dcr-access-method = "native"; 44*c66ec88fSEmmanuel Vadot }; 45*c66ec88fSEmmanuel Vadot }; 46*c66ec88fSEmmanuel Vadot 47*c66ec88fSEmmanuel Vadot memory { 48*c66ec88fSEmmanuel Vadot device_type = "memory"; 49*c66ec88fSEmmanuel Vadot reg = <0x00000000 0x00000000 0x00000000>; // Filled in by zImage 50*c66ec88fSEmmanuel Vadot }; 51*c66ec88fSEmmanuel Vadot 52*c66ec88fSEmmanuel Vadot UIC0: interrupt-controller0 { 53*c66ec88fSEmmanuel Vadot compatible = "ibm,uic-4xx", "ibm,uic"; 54*c66ec88fSEmmanuel Vadot interrupt-controller; 55*c66ec88fSEmmanuel Vadot cell-index = <0>; 56*c66ec88fSEmmanuel Vadot dcr-reg = <0x0c0 0x009>; 57*c66ec88fSEmmanuel Vadot #address-cells = <0>; 58*c66ec88fSEmmanuel Vadot #size-cells = <0>; 59*c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 60*c66ec88fSEmmanuel Vadot 61*c66ec88fSEmmanuel Vadot }; 62*c66ec88fSEmmanuel Vadot 63*c66ec88fSEmmanuel Vadot UIC1: interrupt-controller1 { 64*c66ec88fSEmmanuel Vadot compatible = "ibm,uic-4xx", "ibm,uic"; 65*c66ec88fSEmmanuel Vadot interrupt-controller; 66*c66ec88fSEmmanuel Vadot cell-index = <1>; 67*c66ec88fSEmmanuel Vadot dcr-reg = <0x0d0 0x009>; 68*c66ec88fSEmmanuel Vadot #address-cells = <0>; 69*c66ec88fSEmmanuel Vadot #size-cells = <0>; 70*c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 71*c66ec88fSEmmanuel Vadot interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */ 72*c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC0>; 73*c66ec88fSEmmanuel Vadot }; 74*c66ec88fSEmmanuel Vadot 75*c66ec88fSEmmanuel Vadot plb { 76*c66ec88fSEmmanuel Vadot compatible = "ibm,plb-4xx", "ibm,plb4"; /* Could be PLB6, doesn't matter */ 77*c66ec88fSEmmanuel Vadot #address-cells = <2>; 78*c66ec88fSEmmanuel Vadot #size-cells = <1>; 79*c66ec88fSEmmanuel Vadot ranges; 80*c66ec88fSEmmanuel Vadot clock-frequency = <0>; // Filled in by zImage 81*c66ec88fSEmmanuel Vadot 82*c66ec88fSEmmanuel Vadot POB0: opb { 83*c66ec88fSEmmanuel Vadot compatible = "ibm,opb-4xx", "ibm,opb"; 84*c66ec88fSEmmanuel Vadot #address-cells = <1>; 85*c66ec88fSEmmanuel Vadot #size-cells = <1>; 86*c66ec88fSEmmanuel Vadot /* Wish there was a nicer way of specifying a full 32-bit 87*c66ec88fSEmmanuel Vadot range */ 88*c66ec88fSEmmanuel Vadot ranges = <0x00000000 0x00000001 0x00000000 0x80000000 89*c66ec88fSEmmanuel Vadot 0x80000000 0x00000001 0x80000000 0x80000000>; 90*c66ec88fSEmmanuel Vadot clock-frequency = <0>; // Filled in by zImage 91*c66ec88fSEmmanuel Vadot UART0: serial@40000200 { 92*c66ec88fSEmmanuel Vadot device_type = "serial"; 93*c66ec88fSEmmanuel Vadot compatible = "ns16550a"; 94*c66ec88fSEmmanuel Vadot reg = <0x40000200 0x00000008>; 95*c66ec88fSEmmanuel Vadot virtual-reg = <0xe0000200>; 96*c66ec88fSEmmanuel Vadot clock-frequency = <11059200>; 97*c66ec88fSEmmanuel Vadot current-speed = <115200>; 98*c66ec88fSEmmanuel Vadot interrupt-parent = <&UIC0>; 99*c66ec88fSEmmanuel Vadot interrupts = <0x0 0x4>; 100*c66ec88fSEmmanuel Vadot }; 101*c66ec88fSEmmanuel Vadot }; 102*c66ec88fSEmmanuel Vadot }; 103*c66ec88fSEmmanuel Vadot 104*c66ec88fSEmmanuel Vadot nvrtc { 105*c66ec88fSEmmanuel Vadot compatible = "ds1743-nvram", "ds1743", "rtc-ds1743"; 106*c66ec88fSEmmanuel Vadot reg = <0 0xEF703000 0x2000>; 107*c66ec88fSEmmanuel Vadot }; 108*c66ec88fSEmmanuel Vadot iss-block { 109*c66ec88fSEmmanuel Vadot compatible = "ibm,iss-sim-block-device"; 110*c66ec88fSEmmanuel Vadot reg = <0 0xEF701000 0x1000>; 111*c66ec88fSEmmanuel Vadot }; 112*c66ec88fSEmmanuel Vadot 113*c66ec88fSEmmanuel Vadot chosen { 114*c66ec88fSEmmanuel Vadot stdout-path = "/plb/opb/serial@40000200"; 115*c66ec88fSEmmanuel Vadot }; 116*c66ec88fSEmmanuel Vadot}; 117