|
|
1.1 root 1: /*
2: * Device Tree Source for AMCC Bamboo
3: *
4: * Copyright (c) 2006, 2007 IBM Corp.
5: * Josh Boyer <[email protected]>
6: *
7: * This file is licensed under the terms of the GNU General Public
8: * License version 2. This program is licensed "as is" without
9: * any warranty of any kind, whether express or implied.
10: */
11:
12: / {
13: #address-cells = <2>;
14: #size-cells = <1>;
15: model = "amcc,bamboo";
16: compatible = "amcc,bamboo";
17: dcr-parent = <&/cpus/cpu@0>;
18:
19: aliases {
20: serial0 = &UART0;
21: serial1 = &UART1;
22: };
23:
24: cpus {
25: #address-cells = <1>;
26: #size-cells = <0>;
27:
28: cpu@0 {
29: device_type = "cpu";
30: model = "PowerPC,440EP";
31: reg = <0>;
32: clock-frequency = <1fca0550>;
33: timebase-frequency = <017d7840>;
34: i-cache-line-size = <20>;
35: d-cache-line-size = <20>;
36: i-cache-size = <8000>;
37: d-cache-size = <8000>;
38: dcr-controller;
39: dcr-access-method = "native";
40: };
41: };
42:
43: memory {
44: device_type = "memory";
45: reg = <0 0 9000000>;
46: };
47:
48: UIC0: interrupt-controller0 {
49: compatible = "ibm,uic-440ep","ibm,uic";
50: interrupt-controller;
51: cell-index = <0>;
52: dcr-reg = <0c0 009>;
53: #address-cells = <0>;
54: #size-cells = <0>;
55: #interrupt-cells = <2>;
56: };
57: /*
58: UIC1: interrupt-controller1 {
59: compatible = "ibm,uic-440ep","ibm,uic";
60: interrupt-controller;
61: cell-index = <1>;
62: dcr-reg = <0d0 009>;
63: #address-cells = <0>;
64: #size-cells = <0>;
65: #interrupt-cells = <2>;
66: interrupts = <1e 4 1f 4>;
67: interrupt-parent = <&UIC0>;
68: };
69: */
70:
71: SDR0: sdr {
72: compatible = "ibm,sdr-440ep";
73: dcr-reg = <00e 002>;
74: };
75:
76: CPR0: cpr {
77: compatible = "ibm,cpr-440ep";
78: dcr-reg = <00c 002>;
79: };
80:
81: plb {
82: compatible = "ibm,plb-440ep", "ibm,plb-440gp", "ibm,plb4";
83: #address-cells = <2>;
84: #size-cells = <1>;
85: ranges;
86: clock-frequency = <07f28154>;
87:
88: SDRAM0: sdram {
89: compatible = "ibm,sdram-440ep", "ibm,sdram-405gp";
90: dcr-reg = <010 2>;
91: };
92:
93: DMA0: dma {
94: compatible = "ibm,dma-440ep", "ibm,dma-440gp";
95: dcr-reg = <100 027>;
96: };
97:
98: POB0: opb {
99: compatible = "ibm,opb-440ep", "ibm,opb-440gp", "ibm,opb";
100: #address-cells = <1>;
101: #size-cells = <1>;
102: /* Bamboo is oddball in the 44x world and doesn't use the ERPN
103: * bits.
104: */
105: ranges = <00000000 0 00000000 80000000
106: 80000000 0 80000000 80000000>;
107: /* interrupt-parent = <&UIC1>; */
108: interrupts = <7 4>;
109: clock-frequency = <03f940aa>;
110:
111: EBC0: ebc {
112: compatible = "ibm,ebc-440ep", "ibm,ebc-440gp", "ibm,ebc";
113: dcr-reg = <012 2>;
114: #address-cells = <2>;
115: #size-cells = <1>;
116: clock-frequency = <03f940aa>;
117: interrupts = <5 1>;
118: /* interrupt-parent = <&UIC1>; */
119: };
120:
121: UART0: serial@ef600300 {
122: device_type = "serial";
123: compatible = "ns16550";
124: reg = <ef600300 8>;
125: virtual-reg = <ef600300>;
126: clock-frequency = <00a8c000>;
127: current-speed = <1c200>;
128: interrupt-parent = <&UIC0>;
129: interrupts = <0 4>;
130: };
131:
132: UART1: serial@ef600400 {
133: device_type = "serial";
134: compatible = "ns16550";
135: reg = <ef600400 8>;
136: virtual-reg = <ef600400>;
137: clock-frequency = <00a8c000>;
138: current-speed = <0>;
139: interrupt-parent = <&UIC0>;
140: interrupts = <1 4>;
141: };
142: /*
143: UART2: serial@ef600500 {
144: device_type = "serial";
145: compatible = "ns16550";
146: reg = <ef600500 8>;
147: virtual-reg = <ef600500>;
148: clock-frequency = <0>;
149: current-speed = <0>;
150: interrupt-parent = <&UIC0>;
151: interrupts = <3 4>;
152: };
153:
154: UART3: serial@ef600600 {
155: device_type = "serial";
156: compatible = "ns16550";
157: reg = <ef600600 8>;
158: virtual-reg = <ef600600>;
159: clock-frequency = <0>;
160: current-speed = <0>;
161: interrupt-parent = <&UIC0>;
162: interrupts = <4 4>;
163: };
164:
165: */
166: IIC0: i2c@ef600700 {
167: device_type = "i2c";
168: compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic";
169: reg = <ef600700 14>;
170: interrupt-parent = <&UIC0>;
171: interrupts = <2 4>;
172: };
173:
174: IIC1: i2c@ef600800 {
175: device_type = "i2c";
176: compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic";
177: reg = <ef600800 14>;
178: interrupt-parent = <&UIC0>;
179: interrupts = <7 4>;
180: };
181:
182: ZMII0: emac-zmii@ef600d00 {
183: device_type = "zmii-interface";
184: compatible = "ibm,zmii-440ep", "ibm,zmii-440gp", "ibm,zmii";
185: reg = <ef600d00 c>;
186: };
187:
188: };
189:
190: PCI0: pci@ec000000 {
191: device_type = "pci";
192: #interrupt-cells = <1>;
193: #size-cells = <2>;
194: #address-cells = <3>;
195: compatible = "ibm,plb440ep-pci", "ibm,plb-pci";
196: primary;
197: reg = <0 eec00000 8 /* Config space access */
198: 0 eed00000 4 /* IACK */
199: 0 eed00000 4 /* Special cycle */
200: 0 ef400000 40>; /* Internal registers */
201:
202: /* Outbound ranges, one memory and one IO,
203: * later cannot be changed. Chip supports a second
204: * IO range but we don't use it for now
205: */
206: ranges = <02000000 0 a0000000 0 a0000000 0 20000000
207: 01000000 0 00000000 0 e8000000 0 00010000>;
208:
209: /* Inbound 2GB range starting at 0 */
210: dma-ranges = <42000000 0 0 0 0 0 80000000>;
211:
212: /* Bamboo has all 4 IRQ pins tied together per slot */
213: interrupt-map-mask = <f800 0 0 0>;
214: interrupt-map = <
215: /* IDSEL 1 */
216: 0800 0 0 0 &UIC0 1c 8
217:
218: /* IDSEL 2 */
219: 1000 0 0 0 &UIC0 1b 8
220:
221: /* IDSEL 3 */
222: 1800 0 0 0 &UIC0 1a 8
223:
224: /* IDSEL 4 */
225: 2000 0 0 0 &UIC0 19 8
226: >;
227: };
228:
229: };
230:
231: chosen {
232: linux,stdout-path = "/plb/opb/serial@ef600300";
233: };
234: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.