Loading...
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Device Tree for Klondike (APM8018X) board.
4 *
5 * Copyright (c) 2010, Applied Micro Circuits Corporation
6 * Author: Tanmay Inamdar <tinamdar@apm.com>
7 */
8
9/dts-v1/;
10
11/ {
12 #address-cells = <1>;
13 #size-cells = <1>;
14 model = "apm,klondike";
15 compatible = "apm,klondike";
16 dcr-parent = <&{/cpus/cpu@0}>;
17
18 aliases {
19 ethernet0 = &EMAC0;
20 ethernet1 = &EMAC1;
21 };
22
23 cpus {
24 #address-cells = <1>;
25 #size-cells = <0>;
26
27 cpu@0 {
28 device_type = "cpu";
29 model = "PowerPC,apm8018x";
30 reg = <0x00000000>;
31 clock-frequency = <300000000>; /* Filled in by U-Boot */
32 timebase-frequency = <300000000>; /* Filled in by U-Boot */
33 i-cache-line-size = <32>;
34 d-cache-line-size = <32>;
35 i-cache-size = <16384>; /* 16 kB */
36 d-cache-size = <16384>; /* 16 kB */
37 dcr-controller;
38 dcr-access-method = "native";
39 };
40 };
41
42 memory {
43 device_type = "memory";
44 reg = <0x00000000 0x20000000>; /* Filled in by U-Boot */
45 };
46
47 UIC0: interrupt-controller {
48 compatible = "ibm,uic";
49 interrupt-controller;
50 cell-index = <0>;
51 dcr-reg = <0x0c0 0x010>;
52 #address-cells = <0>;
53 #size-cells = <0>;
54 #interrupt-cells = <2>;
55 };
56
57 UIC1: interrupt-controller1 {
58 compatible = "ibm,uic";
59 interrupt-controller;
60 cell-index = <1>;
61 dcr-reg = <0x0d0 0x010>;
62 #address-cells = <0>;
63 #size-cells = <0>;
64 #interrupt-cells = <2>;
65 interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */
66 interrupt-parent = <&UIC0>;
67 };
68
69 UIC2: interrupt-controller2 {
70 compatible = "ibm,uic";
71 interrupt-controller;
72 cell-index = <2>;
73 dcr-reg = <0x0e0 0x010>;
74 #address-cells = <0>;
75 #size-cells = <0>;
76 #interrupt-cells = <2>;
77 interrupts = <0x0a 0x4 0x0b 0x4>; /* cascade */
78 interrupt-parent = <&UIC0>;
79 };
80
81 UIC3: interrupt-controller3 {
82 compatible = "ibm,uic";
83 interrupt-controller;
84 cell-index = <3>;
85 dcr-reg = <0x0f0 0x010>;
86 #address-cells = <0>;
87 #size-cells = <0>;
88 #interrupt-cells = <2>;
89 interrupts = <0x10 0x4 0x11 0x4>; /* cascade */
90 interrupt-parent = <&UIC0>;
91 };
92
93 plb {
94 compatible = "ibm,plb4";
95 #address-cells = <1>;
96 #size-cells = <1>;
97 ranges;
98 clock-frequency = <0>; /* Filled in by U-Boot */
99
100 SDRAM0: memory-controller {
101 compatible = "ibm,sdram-apm8018x";
102 dcr-reg = <0x010 0x002>;
103 };
104
105 MAL0: mcmal {
106 compatible = "ibm,mcmal2";
107 dcr-reg = <0x180 0x062>;
108 num-tx-chans = <2>;
109 num-rx-chans = <16>;
110 #address-cells = <0>;
111 #size-cells = <0>;
112 interrupt-parent = <&UIC1>;
113 interrupts = </*TXEOB*/ 0x6 0x4
114 /*RXEOB*/ 0x7 0x4
115 /*SERR*/ 0x1 0x4
116 /*TXDE*/ 0x2 0x4
117 /*RXDE*/ 0x3 0x4>;
118 };
119
120 POB0: opb {
121 compatible = "ibm,opb";
122 #address-cells = <1>;
123 #size-cells = <1>;
124 ranges = <0x20000000 0x20000000 0x30000000
125 0x50000000 0x50000000 0x10000000
126 0x60000000 0x60000000 0x10000000
127 0xFE000000 0xFE000000 0x00010000>;
128 dcr-reg = <0x100 0x020>;
129 clock-frequency = <300000000>; /* Filled in by U-Boot */
130
131 RGMII0: emac-rgmii@400a2000 {
132 compatible = "ibm,rgmii";
133 reg = <0x400a2000 0x00000010>;
134 has-mdio;
135 };
136
137 TAH0: emac-tah@400a3000 {
138 compatible = "ibm,tah";
139 reg = <0x400a3000 0x100>;
140 };
141
142 TAH1: emac-tah@400a4000 {
143 compatible = "ibm,tah";
144 reg = <0x400a4000 0x100>;
145 };
146
147 EMAC0: ethernet@400a0000 {
148 compatible = "ibm,emac4", "ibm-emac4sync";
149 interrupt-parent = <&EMAC0>;
150 interrupts = <0x0>;
151 #interrupt-cells = <1>;
152 #address-cells = <0>;
153 #size-cells = <0>;
154 interrupt-map = </*Status*/ 0x0 &UIC0 0x13 0x4>;
155 reg = <0x400a0000 0x00000100>;
156 local-mac-address = [000000000000]; /* Filled in by U-Boot */
157 mal-device = <&MAL0>;
158 mal-tx-channel = <0x0>;
159 mal-rx-channel = <0x0>;
160 cell-index = <0>;
161 max-frame-size = <9000>;
162 rx-fifo-size = <4096>;
163 tx-fifo-size = <2048>;
164 phy-mode = "rgmii";
165 phy-address = <0x2>;
166 turbo = "no";
167 phy-map = <0x00000000>;
168 rgmii-device = <&RGMII0>;
169 rgmii-channel = <0>;
170 tah-device = <&TAH0>;
171 tah-channel = <0>;
172 has-inverted-stacr-oc;
173 has-new-stacr-staopc;
174 };
175
176 EMAC1: ethernet@400a1000 {
177 compatible = "ibm,emac4", "ibm-emac4sync";
178 status = "disabled";
179 interrupt-parent = <&EMAC1>;
180 interrupts = <0x0>;
181 #interrupt-cells = <1>;
182 #address-cells = <0>;
183 #size-cells = <0>;
184 interrupt-map = </*Status*/ 0x0 &UIC0 0x14 0x4>;
185 reg = <0x400a1000 0x00000100>;
186 local-mac-address = [000000000000]; /* Filled in by U-Boot */
187 mal-device = <&MAL0>;
188 mal-tx-channel = <1>;
189 mal-rx-channel = <8>;
190 cell-index = <1>;
191 max-frame-size = <9000>;
192 rx-fifo-size = <4096>;
193 tx-fifo-size = <2048>;
194 phy-mode = "rgmii";
195 phy-address = <0x3>;
196 turbo = "no";
197 phy-map = <0x00000000>;
198 rgmii-device = <&RGMII0>;
199 rgmii-channel = <1>;
200 tah-device = <&TAH1>;
201 tah-channel = <0>;
202 has-inverted-stacr-oc;
203 has-new-stacr-staopc;
204 mdio-device = <&EMAC0>;
205 };
206 };
207 };
208
209 chosen {
210 stdout-path = "/plb/opb/serial@50001000";
211 };
212};
1/*
2 * Device Tree for Klondike (APM8018X) board.
3 *
4 * Copyright (c) 2010, Applied Micro Circuits Corporation
5 * Author: Tanmay Inamdar <tinamdar@apm.com>
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License as
9 * published by the Free Software Foundation; either version 2 of
10 * the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20 * MA 02111-1307 USA
21 *
22 */
23
24/dts-v1/;
25
26/ {
27 #address-cells = <1>;
28 #size-cells = <1>;
29 model = "apm,klondike";
30 compatible = "apm,klondike";
31 dcr-parent = <&{/cpus/cpu@0}>;
32
33 aliases {
34 ethernet0 = &EMAC0;
35 ethernet1 = &EMAC1;
36 };
37
38 cpus {
39 #address-cells = <1>;
40 #size-cells = <0>;
41
42 cpu@0 {
43 device_type = "cpu";
44 model = "PowerPC,apm8018x";
45 reg = <0x00000000>;
46 clock-frequency = <300000000>; /* Filled in by U-Boot */
47 timebase-frequency = <300000000>; /* Filled in by U-Boot */
48 i-cache-line-size = <32>;
49 d-cache-line-size = <32>;
50 i-cache-size = <16384>; /* 16 kB */
51 d-cache-size = <16384>; /* 16 kB */
52 dcr-controller;
53 dcr-access-method = "native";
54 };
55 };
56
57 memory {
58 device_type = "memory";
59 reg = <0x00000000 0x20000000>; /* Filled in by U-Boot */
60 };
61
62 UIC0: interrupt-controller {
63 compatible = "ibm,uic";
64 interrupt-controller;
65 cell-index = <0>;
66 dcr-reg = <0x0c0 0x010>;
67 #address-cells = <0>;
68 #size-cells = <0>;
69 #interrupt-cells = <2>;
70 };
71
72 UIC1: interrupt-controller1 {
73 compatible = "ibm,uic";
74 interrupt-controller;
75 cell-index = <1>;
76 dcr-reg = <0x0d0 0x010>;
77 #address-cells = <0>;
78 #size-cells = <0>;
79 #interrupt-cells = <2>;
80 interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */
81 interrupt-parent = <&UIC0>;
82 };
83
84 UIC2: interrupt-controller2 {
85 compatible = "ibm,uic";
86 interrupt-controller;
87 cell-index = <2>;
88 dcr-reg = <0x0e0 0x010>;
89 #address-cells = <0>;
90 #size-cells = <0>;
91 #interrupt-cells = <2>;
92 interrupts = <0x0a 0x4 0x0b 0x4>; /* cascade */
93 interrupt-parent = <&UIC0>;
94 };
95
96 UIC3: interrupt-controller3 {
97 compatible = "ibm,uic";
98 interrupt-controller;
99 cell-index = <3>;
100 dcr-reg = <0x0f0 0x010>;
101 #address-cells = <0>;
102 #size-cells = <0>;
103 #interrupt-cells = <2>;
104 interrupts = <0x10 0x4 0x11 0x4>; /* cascade */
105 interrupt-parent = <&UIC0>;
106 };
107
108 plb {
109 compatible = "ibm,plb4";
110 #address-cells = <1>;
111 #size-cells = <1>;
112 ranges;
113 clock-frequency = <0>; /* Filled in by U-Boot */
114
115 SDRAM0: memory-controller {
116 compatible = "ibm,sdram-apm8018x";
117 dcr-reg = <0x010 0x002>;
118 };
119
120 MAL0: mcmal {
121 compatible = "ibm,mcmal2";
122 dcr-reg = <0x180 0x062>;
123 num-tx-chans = <2>;
124 num-rx-chans = <16>;
125 #address-cells = <0>;
126 #size-cells = <0>;
127 interrupt-parent = <&UIC1>;
128 interrupts = </*TXEOB*/ 0x6 0x4
129 /*RXEOB*/ 0x7 0x4
130 /*SERR*/ 0x1 0x4
131 /*TXDE*/ 0x2 0x4
132 /*RXDE*/ 0x3 0x4>;
133 };
134
135 POB0: opb {
136 compatible = "ibm,opb";
137 #address-cells = <1>;
138 #size-cells = <1>;
139 ranges = <0x20000000 0x20000000 0x30000000
140 0x50000000 0x50000000 0x10000000
141 0x60000000 0x60000000 0x10000000
142 0xFE000000 0xFE000000 0x00010000>;
143 dcr-reg = <0x100 0x020>;
144 clock-frequency = <300000000>; /* Filled in by U-Boot */
145
146 RGMII0: emac-rgmii@400a2000 {
147 compatible = "ibm,rgmii";
148 reg = <0x400a2000 0x00000010>;
149 has-mdio;
150 };
151
152 TAH0: emac-tah@400a3000 {
153 compatible = "ibm,tah";
154 reg = <0x400a3000 0x100>;
155 };
156
157 TAH1: emac-tah@400a4000 {
158 compatible = "ibm,tah";
159 reg = <0x400a4000 0x100>;
160 };
161
162 EMAC0: ethernet@400a0000 {
163 compatible = "ibm,emac4", "ibm-emac4sync";
164 interrupt-parent = <&EMAC0>;
165 interrupts = <0x0>;
166 #interrupt-cells = <1>;
167 #address-cells = <0>;
168 #size-cells = <0>;
169 interrupt-map = </*Status*/ 0x0 &UIC0 0x13 0x4>;
170 reg = <0x400a0000 0x00000100>;
171 local-mac-address = [000000000000]; /* Filled in by U-Boot */
172 mal-device = <&MAL0>;
173 mal-tx-channel = <0x0>;
174 mal-rx-channel = <0x0>;
175 cell-index = <0>;
176 max-frame-size = <9000>;
177 rx-fifo-size = <4096>;
178 tx-fifo-size = <2048>;
179 phy-mode = "rgmii";
180 phy-address = <0x2>;
181 turbo = "no";
182 phy-map = <0x00000000>;
183 rgmii-device = <&RGMII0>;
184 rgmii-channel = <0>;
185 tah-device = <&TAH0>;
186 tah-channel = <0>;
187 has-inverted-stacr-oc;
188 has-new-stacr-staopc;
189 };
190
191 EMAC1: ethernet@400a1000 {
192 compatible = "ibm,emac4", "ibm-emac4sync";
193 status = "disabled";
194 interrupt-parent = <&EMAC1>;
195 interrupts = <0x0>;
196 #interrupt-cells = <1>;
197 #address-cells = <0>;
198 #size-cells = <0>;
199 interrupt-map = </*Status*/ 0x0 &UIC0 0x14 0x4>;
200 reg = <0x400a1000 0x00000100>;
201 local-mac-address = [000000000000]; /* Filled in by U-Boot */
202 mal-device = <&MAL0>;
203 mal-tx-channel = <1>;
204 mal-rx-channel = <8>;
205 cell-index = <1>;
206 max-frame-size = <9000>;
207 rx-fifo-size = <4096>;
208 tx-fifo-size = <2048>;
209 phy-mode = "rgmii";
210 phy-address = <0x3>;
211 turbo = "no";
212 phy-map = <0x00000000>;
213 rgmii-device = <&RGMII0>;
214 rgmii-channel = <1>;
215 tah-device = <&TAH1>;
216 tah-channel = <0>;
217 has-inverted-stacr-oc;
218 has-new-stacr-staopc;
219 mdio-device = <&EMAC0>;
220 };
221 };
222 };
223
224 chosen {
225 linux,stdout-path = "/plb/opb/serial@50001000";
226 };
227};