0001 /*
0002 * Device Tree Source for IBM Embedded PPC 476 Platform
0003 *
0004 * Copyright 2010 Torez Smith, IBM Corporation.
0005 *
0006 * Based on earlier code:
0007 * Copyright (c) 2006, 2007 IBM Corp.
0008 * Josh Boyer <jwboyer@linux.vnet.ibm.com>, David Gibson <dwg@au1.ibm.com>
0009 *
0010 * This file is licensed under the terms of the GNU General Public
0011 * License version 2. This program is licensed "as is" without
0012 * any warranty of any kind, whether express or implied.
0013 */
0014
0015 /dts-v1/;
0016
0017 / {
0018 #address-cells = <2>;
0019 #size-cells = <1>;
0020 model = "ibm,iss-4xx";
0021 compatible = "ibm,iss-4xx";
0022 dcr-parent = <&{/cpus/cpu@0}>;
0023
0024 aliases {
0025 serial0 = &UART0;
0026 };
0027
0028 cpus {
0029 #address-cells = <1>;
0030 #size-cells = <0>;
0031
0032 cpu@0 {
0033 device_type = "cpu";
0034 model = "PowerPC,4xx"; // real CPU changed in sim
0035 reg = <0x00000000>;
0036 clock-frequency = <100000000>; // 100Mhz :-)
0037 timebase-frequency = <100000000>;
0038 i-cache-line-size = <32>; // may need fixup in sim
0039 d-cache-line-size = <32>; // may need fixup in sim
0040 i-cache-size = <32768>; /* may need fixup in sim */
0041 d-cache-size = <32768>; /* may need fixup in sim */
0042 dcr-controller;
0043 dcr-access-method = "native";
0044 };
0045 };
0046
0047 memory {
0048 device_type = "memory";
0049 reg = <0x00000000 0x00000000 0x00000000>; // Filled in by zImage
0050 };
0051
0052 UIC0: interrupt-controller0 {
0053 compatible = "ibm,uic-4xx", "ibm,uic";
0054 interrupt-controller;
0055 cell-index = <0>;
0056 dcr-reg = <0x0c0 0x009>;
0057 #address-cells = <0>;
0058 #size-cells = <0>;
0059 #interrupt-cells = <2>;
0060
0061 };
0062
0063 UIC1: interrupt-controller1 {
0064 compatible = "ibm,uic-4xx", "ibm,uic";
0065 interrupt-controller;
0066 cell-index = <1>;
0067 dcr-reg = <0x0d0 0x009>;
0068 #address-cells = <0>;
0069 #size-cells = <0>;
0070 #interrupt-cells = <2>;
0071 interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */
0072 interrupt-parent = <&UIC0>;
0073 };
0074
0075 plb {
0076 compatible = "ibm,plb-4xx", "ibm,plb4"; /* Could be PLB6, doesn't matter */
0077 #address-cells = <2>;
0078 #size-cells = <1>;
0079 ranges;
0080 clock-frequency = <0>; // Filled in by zImage
0081
0082 POB0: opb {
0083 compatible = "ibm,opb-4xx", "ibm,opb";
0084 #address-cells = <1>;
0085 #size-cells = <1>;
0086 /* Wish there was a nicer way of specifying a full 32-bit
0087 range */
0088 ranges = <0x00000000 0x00000001 0x00000000 0x80000000
0089 0x80000000 0x00000001 0x80000000 0x80000000>;
0090 clock-frequency = <0>; // Filled in by zImage
0091 UART0: serial@40000200 {
0092 device_type = "serial";
0093 compatible = "ns16550a";
0094 reg = <0x40000200 0x00000008>;
0095 virtual-reg = <0xe0000200>;
0096 clock-frequency = <11059200>;
0097 current-speed = <115200>;
0098 interrupt-parent = <&UIC0>;
0099 interrupts = <0x0 0x4>;
0100 };
0101 };
0102 };
0103
0104 nvrtc {
0105 compatible = "ds1743-nvram", "ds1743", "rtc-ds1743";
0106 reg = <0 0xEF703000 0x2000>;
0107 };
0108 iss-block {
0109 compatible = "ibm,iss-sim-block-device";
0110 reg = <0 0xEF701000 0x1000>;
0111 };
0112
0113 chosen {
0114 stdout-path = "/plb/opb/serial@40000200";
0115 };
0116 };