0001 /*
0002 * Device Tree Source for AMCC Acadia (405EZ)
0003 *
0004 * Copyright IBM Corp. 2008
0005 *
0006 * This file is licensed under the terms of the GNU General Public License
0007 * version 2. This program is licensed "as is" without any warranty of any
0008 * kind, whether express or implied.
0009 */
0010
0011 /dts-v1/;
0012
0013 / {
0014 #address-cells = <1>;
0015 #size-cells = <1>;
0016 model = "amcc,acadia";
0017 compatible = "amcc,acadia";
0018 dcr-parent = <&{/cpus/cpu@0}>;
0019
0020 aliases {
0021 ethernet0 = &EMAC0;
0022 serial0 = &UART0;
0023 serial1 = &UART1;
0024 };
0025
0026 cpus {
0027 #address-cells = <1>;
0028 #size-cells = <0>;
0029
0030 cpu@0 {
0031 device_type = "cpu";
0032 model = "PowerPC,405EZ";
0033 reg = <0x0>;
0034 clock-frequency = <0>; /* Filled in by wrapper */
0035 timebase-frequency = <0>; /* Filled in by wrapper */
0036 i-cache-line-size = <32>;
0037 d-cache-line-size = <32>;
0038 i-cache-size = <16384>;
0039 d-cache-size = <16384>;
0040 dcr-controller;
0041 dcr-access-method = "native";
0042 };
0043 };
0044
0045 memory {
0046 device_type = "memory";
0047 reg = <0x0 0x0>; /* Filled in by wrapper */
0048 };
0049
0050 UIC0: interrupt-controller {
0051 compatible = "ibm,uic-405ez", "ibm,uic";
0052 interrupt-controller;
0053 dcr-reg = <0x0c0 0x009>;
0054 cell-index = <0>;
0055 #address-cells = <0>;
0056 #size-cells = <0>;
0057 #interrupt-cells = <2>;
0058 };
0059
0060 plb {
0061 compatible = "ibm,plb-405ez", "ibm,plb3";
0062 #address-cells = <1>;
0063 #size-cells = <1>;
0064 ranges;
0065 clock-frequency = <0>; /* Filled in by wrapper */
0066
0067 MAL0: mcmal {
0068 compatible = "ibm,mcmal-405ez", "ibm,mcmal";
0069 dcr-reg = <0x380 0x62>;
0070 num-tx-chans = <1>;
0071 num-rx-chans = <1>;
0072 interrupt-parent = <&UIC0>;
0073 /* 405EZ has only 3 interrupts to the UIC, as
0074 * SERR, TXDE, and RXDE are or'd together into
0075 * one UIC bit
0076 */
0077 interrupts = <
0078 0x13 0x4 /* TXEOB */
0079 0x15 0x4 /* RXEOB */
0080 0x12 0x4 /* SERR, TXDE, RXDE */>;
0081 };
0082
0083 POB0: opb {
0084 compatible = "ibm,opb-405ez", "ibm,opb";
0085 #address-cells = <1>;
0086 #size-cells = <1>;
0087 ranges;
0088 dcr-reg = <0x0a 0x05>;
0089 clock-frequency = <0>; /* Filled in by wrapper */
0090
0091 UART0: serial@ef600300 {
0092 device_type = "serial";
0093 compatible = "ns16550";
0094 reg = <0xef600300 0x8>;
0095 virtual-reg = <0xef600300>;
0096 clock-frequency = <0>; /* Filled in by wrapper */
0097 current-speed = <115200>;
0098 interrupt-parent = <&UIC0>;
0099 interrupts = <0x5 0x4>;
0100 };
0101
0102 UART1: serial@ef600400 {
0103 device_type = "serial";
0104 compatible = "ns16550";
0105 reg = <0xef600400 0x8>;
0106 clock-frequency = <0>; /* Filled in by wrapper */
0107 current-speed = <115200>;
0108 interrupt-parent = <&UIC0>;
0109 interrupts = <0x6 0x4>;
0110 };
0111
0112 IIC: i2c@ef600500 {
0113 compatible = "ibm,iic-405ez", "ibm,iic";
0114 reg = <0xef600500 0x11>;
0115 interrupt-parent = <&UIC0>;
0116 interrupts = <0xa 0x4>;
0117 };
0118
0119 GPIO0: gpio@ef600700 {
0120 compatible = "ibm,gpio-405ez";
0121 reg = <0xef600700 0x20>;
0122 };
0123
0124 GPIO1: gpio@ef600800 {
0125 compatible = "ibm,gpio-405ez";
0126 reg = <0xef600800 0x20>;
0127 };
0128
0129 EMAC0: ethernet@ef600900 {
0130 device_type = "network";
0131 compatible = "ibm,emac-405ez", "ibm,emac";
0132 interrupt-parent = <&UIC0>;
0133 interrupts = <
0134 0x10 0x4 /* Ethernet */
0135 0x11 0x4 /* Ethernet Wake up */>;
0136 local-mac-address = [000000000000]; /* Filled in by wrapper */
0137 reg = <0xef600900 0x70>;
0138 mal-device = <&MAL0>;
0139 mal-tx-channel = <0>;
0140 mal-rx-channel = <0>;
0141 cell-index = <0>;
0142 max-frame-size = <1500>;
0143 rx-fifo-size = <4096>;
0144 tx-fifo-size = <2048>;
0145 phy-mode = "mii";
0146 phy-map = <0x0>;
0147 };
0148
0149 CAN0: can@ef601000 {
0150 compatible = "amcc,can-405ez";
0151 reg = <0xef601000 0x620>;
0152 interrupt-parent = <&UIC0>;
0153 interrupts = <0x7 0x4>;
0154 };
0155
0156 CAN1: can@ef601800 {
0157 compatible = "amcc,can-405ez";
0158 reg = <0xef601800 0x620>;
0159 interrupt-parent = <&UIC0>;
0160 interrupts = <0x8 0x4>;
0161 };
0162
0163 cameleon@ef602000 {
0164 compatible = "amcc,cameleon-405ez";
0165 reg = <0xef602000 0x800>;
0166 interrupt-parent = <&UIC0>;
0167 interrupts = <0xb 0x4 0xc 0x4>;
0168 };
0169
0170 ieee1588@ef602800 {
0171 compatible = "amcc,ieee1588-405ez";
0172 reg = <0xef602800 0x60>;
0173 interrupt-parent = <&UIC0>;
0174 interrupts = <0x4 0x4>;
0175 /* This thing is a bit weird. It has it's own UIC
0176 * that it uses to generate snapshot triggers. We
0177 * don't really support this device yet, and it needs
0178 * work to figure this out.
0179 */
0180 dcr-reg = <0xe0 0x9>;
0181 };
0182
0183 usb@ef603000 {
0184 compatible = "ohci-be";
0185 reg = <0xef603000 0x80>;
0186 interrupt-parent = <&UIC0>;
0187 interrupts = <0xd 0x4 0xe 0x4>;
0188 };
0189
0190 dac@ef603300 {
0191 compatible = "amcc,dac-405ez";
0192 reg = <0xef603300 0x40>;
0193 interrupt-parent = <&UIC0>;
0194 interrupts = <0x18 0x4>;
0195 };
0196
0197 adc@ef603400 {
0198 compatible = "amcc,adc-405ez";
0199 reg = <0xef603400 0x40>;
0200 interrupt-parent = <&UIC0>;
0201 interrupts = <0x17 0x4>;
0202 };
0203
0204 spi@ef603500 {
0205 compatible = "amcc,spi-405ez";
0206 reg = <0xef603500 0x100>;
0207 interrupt-parent = <&UIC0>;
0208 interrupts = <0x9 0x4>;
0209 };
0210 };
0211
0212 EBC0: ebc {
0213 compatible = "ibm,ebc-405ez", "ibm,ebc";
0214 dcr-reg = <0x12 0x2>;
0215 #address-cells = <2>;
0216 #size-cells = <1>;
0217 clock-frequency = <0>; /* Filled in by wrapper */
0218 };
0219 };
0220
0221 chosen {
0222 stdout-path = "/plb/opb/serial@ef600300";
0223 };
0224 };