diff options
author | Grant Likely <grant.likely@secretlab.ca> | 2007-02-12 15:36:54 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-02-12 23:35:53 -0500 |
commit | 05cbbc692f513c0e62372abeab01b04b07096582 (patch) | |
tree | 882223fb48ddbaa5d8f92d7c1e48020e7539a668 /arch/powerpc/boot/dts/lite5200b.dts | |
parent | e3aba81d154c53a82e2a7e0ff5e7f1162a53cf27 (diff) |
[POWERPC] mpc5200 device tree bindings refinement
Much needed refinement of mpc5200 device tree binding specifications.
Short list:
- drop mpc52xx designator; only two supported chips exist, 5200 and 5200b.
It's premature to refer to them as '52xx'.
- Specify optional 'model' and 'revision' properties in the soc5200 node
- Specify reqiured 'cell-index' property to identify between multiple SOC
devices of the same type. (Useful for arbitrating shared register access)
- Specify optional 'port-number' property for adjusting the logical serial
port assignments.
- Specify optional 'has-wdt' property for gpt0 node.
- Add system-frequency property to soc5200 node
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/boot/dts/lite5200b.dts')
-rw-r--r-- | arch/powerpc/boot/dts/lite5200b.dts | 135 |
1 files changed, 79 insertions, 56 deletions
diff --git a/arch/powerpc/boot/dts/lite5200b.dts b/arch/powerpc/boot/dts/lite5200b.dts index 5bb2760d7c30..3875ca9a9a62 100644 --- a/arch/powerpc/boot/dts/lite5200b.dts +++ b/arch/powerpc/boot/dts/lite5200b.dts | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Lite5200B board Device Tree Source | 2 | * Lite5200B board Device Tree Source |
3 | * | 3 | * |
4 | * Copyright 2006 Secret Lab Technologies Ltd. | 4 | * Copyright 2006-2007 Secret Lab Technologies Ltd. |
5 | * Grant Likely <grant.likely@secretlab.ca> | 5 | * Grant Likely <grant.likely@secretlab.ca> |
6 | * | 6 | * |
7 | * This program is free software; you can redistribute it and/or modify it | 7 | * This program is free software; you can redistribute it and/or modify it |
@@ -17,8 +17,9 @@ | |||
17 | */ | 17 | */ |
18 | 18 | ||
19 | / { | 19 | / { |
20 | model = "Lite5200b"; | 20 | model = "fsl,lite5200b"; |
21 | compatible = "lite5200b\0lite52xx\0mpc5200b\0mpc52xx"; | 21 | // revision = "1.0"; |
22 | compatible = "fsl,lite5200b\0generic-mpc5200"; | ||
22 | #address-cells = <1>; | 23 | #address-cells = <1>; |
23 | #size-cells = <1>; | 24 | #size-cells = <1>; |
24 | 25 | ||
@@ -47,14 +48,17 @@ | |||
47 | }; | 48 | }; |
48 | 49 | ||
49 | soc5200@f0000000 { | 50 | soc5200@f0000000 { |
51 | model = "fsl,mpc5200b"; | ||
52 | revision = ""; // from bootloader | ||
50 | #interrupt-cells = <3>; | 53 | #interrupt-cells = <3>; |
51 | device_type = "soc"; | 54 | device_type = "soc"; |
52 | ranges = <0 f0000000 f0010000>; | 55 | ranges = <0 f0000000 f0010000>; |
53 | reg = <f0000000 00010000>; | 56 | reg = <f0000000 00010000>; |
54 | bus-frequency = <0>; // from bootloader | 57 | bus-frequency = <0>; // from bootloader |
58 | system-frequency = <0>; // from bootloader | ||
55 | 59 | ||
56 | cdm@200 { | 60 | cdm@200 { |
57 | compatible = "mpc5200b-cdm\0mpc52xx-cdm"; | 61 | compatible = "mpc5200b-cdm\0mpc5200-cdm"; |
58 | reg = <200 38>; | 62 | reg = <200 38>; |
59 | }; | 63 | }; |
60 | 64 | ||
@@ -64,77 +68,86 @@ | |||
64 | interrupt-controller; | 68 | interrupt-controller; |
65 | #interrupt-cells = <3>; | 69 | #interrupt-cells = <3>; |
66 | device_type = "interrupt-controller"; | 70 | device_type = "interrupt-controller"; |
67 | compatible = "mpc5200b-pic\0mpc52xx-pic"; | 71 | compatible = "mpc5200b-pic\0mpc5200-pic"; |
68 | reg = <500 80>; | 72 | reg = <500 80>; |
69 | built-in; | 73 | built-in; |
70 | }; | 74 | }; |
71 | 75 | ||
72 | gpt@600 { // General Purpose Timer | 76 | gpt@600 { // General Purpose Timer |
73 | compatible = "mpc5200b-gpt\0mpc52xx-gpt"; | 77 | compatible = "mpc5200b-gpt\0mpc5200-gpt"; |
74 | device_type = "gpt"; | 78 | device_type = "gpt"; |
79 | cell-index = <0>; | ||
75 | reg = <600 10>; | 80 | reg = <600 10>; |
76 | interrupts = <1 9 0>; | 81 | interrupts = <1 9 0>; |
77 | interrupt-parent = <500>; | 82 | interrupt-parent = <500>; |
83 | has-wdt; | ||
78 | }; | 84 | }; |
79 | 85 | ||
80 | gpt@610 { // General Purpose Timer | 86 | gpt@610 { // General Purpose Timer |
81 | compatible = "mpc5200b-gpt\0mpc52xx-gpt"; | 87 | compatible = "mpc5200b-gpt\0mpc5200-gpt"; |
82 | device_type = "gpt"; | 88 | device_type = "gpt"; |
89 | cell-index = <1>; | ||
83 | reg = <610 10>; | 90 | reg = <610 10>; |
84 | interrupts = <1 a 0>; | 91 | interrupts = <1 a 0>; |
85 | interrupt-parent = <500>; | 92 | interrupt-parent = <500>; |
86 | }; | 93 | }; |
87 | 94 | ||
88 | gpt@620 { // General Purpose Timer | 95 | gpt@620 { // General Purpose Timer |
89 | compatible = "mpc5200b-gpt\0mpc52xx-gpt"; | 96 | compatible = "mpc5200b-gpt\0mpc5200-gpt"; |
90 | device_type = "gpt"; | 97 | device_type = "gpt"; |
98 | cell-index = <2>; | ||
91 | reg = <620 10>; | 99 | reg = <620 10>; |
92 | interrupts = <1 b 0>; | 100 | interrupts = <1 b 0>; |
93 | interrupt-parent = <500>; | 101 | interrupt-parent = <500>; |
94 | }; | 102 | }; |
95 | 103 | ||
96 | gpt@630 { // General Purpose Timer | 104 | gpt@630 { // General Purpose Timer |
97 | compatible = "mpc5200b-gpt\0mpc52xx-gpt"; | 105 | compatible = "mpc5200b-gpt\0mpc5200-gpt"; |
98 | device_type = "gpt"; | 106 | device_type = "gpt"; |
107 | cell-index = <3>; | ||
99 | reg = <630 10>; | 108 | reg = <630 10>; |
100 | interrupts = <1 c 0>; | 109 | interrupts = <1 c 0>; |
101 | interrupt-parent = <500>; | 110 | interrupt-parent = <500>; |
102 | }; | 111 | }; |
103 | 112 | ||
104 | gpt@640 { // General Purpose Timer | 113 | gpt@640 { // General Purpose Timer |
105 | compatible = "mpc5200b-gpt\0mpc52xx-gpt"; | 114 | compatible = "mpc5200b-gpt\0mpc5200-gpt"; |
106 | device_type = "gpt"; | 115 | device_type = "gpt"; |
116 | cell-index = <4>; | ||
107 | reg = <640 10>; | 117 | reg = <640 10>; |
108 | interrupts = <1 d 0>; | 118 | interrupts = <1 d 0>; |
109 | interrupt-parent = <500>; | 119 | interrupt-parent = <500>; |
110 | }; | 120 | }; |
111 | 121 | ||
112 | gpt@650 { // General Purpose Timer | 122 | gpt@650 { // General Purpose Timer |
113 | compatible = "mpc5200b-gpt\0mpc52xx-gpt"; | 123 | compatible = "mpc5200b-gpt\0mpc5200-gpt"; |
114 | device_type = "gpt"; | 124 | device_type = "gpt"; |
125 | cell-index = <5>; | ||
115 | reg = <650 10>; | 126 | reg = <650 10>; |
116 | interrupts = <1 e 0>; | 127 | interrupts = <1 e 0>; |
117 | interrupt-parent = <500>; | 128 | interrupt-parent = <500>; |
118 | }; | 129 | }; |
119 | 130 | ||
120 | gpt@660 { // General Purpose Timer | 131 | gpt@660 { // General Purpose Timer |
121 | compatible = "mpc5200b-gpt\0mpc52xx-gpt"; | 132 | compatible = "mpc5200b-gpt\0mpc5200-gpt"; |
122 | device_type = "gpt"; | 133 | device_type = "gpt"; |
134 | cell-index = <6>; | ||
123 | reg = <660 10>; | 135 | reg = <660 10>; |
124 | interrupts = <1 f 0>; | 136 | interrupts = <1 f 0>; |
125 | interrupt-parent = <500>; | 137 | interrupt-parent = <500>; |
126 | }; | 138 | }; |
127 | 139 | ||
128 | gpt@670 { // General Purpose Timer | 140 | gpt@670 { // General Purpose Timer |
129 | compatible = "mpc5200b-gpt\0mpc52xx-gpt"; | 141 | compatible = "mpc5200b-gpt\0mpc5200-gpt"; |
130 | device_type = "gpt"; | 142 | device_type = "gpt"; |
143 | cell-index = <7>; | ||
131 | reg = <670 10>; | 144 | reg = <670 10>; |
132 | interrupts = <1 10 0>; | 145 | interrupts = <1 10 0>; |
133 | interrupt-parent = <500>; | 146 | interrupt-parent = <500>; |
134 | }; | 147 | }; |
135 | 148 | ||
136 | rtc@800 { // Real time clock | 149 | rtc@800 { // Real time clock |
137 | compatible = "mpc5200b-rtc\0mpc52xx-rtc"; | 150 | compatible = "mpc5200b-rtc\0mpc5200-rtc"; |
138 | device_type = "rtc"; | 151 | device_type = "rtc"; |
139 | reg = <800 100>; | 152 | reg = <800 100>; |
140 | interrupts = <1 5 0 1 6 0>; | 153 | interrupts = <1 5 0 1 6 0>; |
@@ -143,7 +156,8 @@ | |||
143 | 156 | ||
144 | mscan@900 { | 157 | mscan@900 { |
145 | device_type = "mscan"; | 158 | device_type = "mscan"; |
146 | compatible = "mpc5200b-mscan\0mpc52xx-mscan"; | 159 | compatible = "mpc5200b-mscan\0mpc5200-mscan"; |
160 | cell-index = <0>; | ||
147 | interrupts = <2 11 0>; | 161 | interrupts = <2 11 0>; |
148 | interrupt-parent = <500>; | 162 | interrupt-parent = <500>; |
149 | reg = <900 80>; | 163 | reg = <900 80>; |
@@ -151,21 +165,22 @@ | |||
151 | 165 | ||
152 | mscan@980 { | 166 | mscan@980 { |
153 | device_type = "mscan"; | 167 | device_type = "mscan"; |
154 | compatible = "mpc5200b-mscan\0mpc52xx-mscan"; | 168 | compatible = "mpc5200b-mscan\0mpc5200-mscan"; |
169 | cell-index = <1>; | ||
155 | interrupts = <1 12 0>; | 170 | interrupts = <1 12 0>; |
156 | interrupt-parent = <500>; | 171 | interrupt-parent = <500>; |
157 | reg = <980 80>; | 172 | reg = <980 80>; |
158 | }; | 173 | }; |
159 | 174 | ||
160 | gpio@b00 { | 175 | gpio@b00 { |
161 | compatible = "mpc5200b-gpio\0mpc52xx-gpio"; | 176 | compatible = "mpc5200b-gpio\0mpc5200-gpio"; |
162 | reg = <b00 40>; | 177 | reg = <b00 40>; |
163 | interrupts = <1 7 0>; | 178 | interrupts = <1 7 0>; |
164 | interrupt-parent = <500>; | 179 | interrupt-parent = <500>; |
165 | }; | 180 | }; |
166 | 181 | ||
167 | gpio-wkup@b00 { | 182 | gpio-wkup@b00 { |
168 | compatible = "mpc5200b-gpio-wkup\0mpc52xx-gpio-wkup"; | 183 | compatible = "mpc5200b-gpio-wkup\0mpc5200-gpio-wkup"; |
169 | reg = <c00 40>; | 184 | reg = <c00 40>; |
170 | interrupts = <1 8 0 0 3 0>; | 185 | interrupts = <1 8 0 0 3 0>; |
171 | interrupt-parent = <500>; | 186 | interrupt-parent = <500>; |
@@ -176,7 +191,7 @@ | |||
176 | #size-cells = <2>; | 191 | #size-cells = <2>; |
177 | #address-cells = <3>; | 192 | #address-cells = <3>; |
178 | device_type = "pci"; | 193 | device_type = "pci"; |
179 | compatible = "mpc5200b-pci\0mpc52xx-pci"; | 194 | compatible = "mpc5200b-pci\0mpc5200-pci"; |
180 | reg = <d00 100>; | 195 | reg = <d00 100>; |
181 | interrupt-map-mask = <f800 0 0 7>; | 196 | interrupt-map-mask = <f800 0 0 7>; |
182 | interrupt-map = <c000 0 0 1 500 0 0 3 // 1st slot | 197 | interrupt-map = <c000 0 0 1 500 0 0 3 // 1st slot |
@@ -199,7 +214,7 @@ | |||
199 | 214 | ||
200 | spi@f00 { | 215 | spi@f00 { |
201 | device_type = "spi"; | 216 | device_type = "spi"; |
202 | compatible = "mpc5200b-spi\0mpc52xx-spi"; | 217 | compatible = "mpc5200b-spi\0mpc5200-spi"; |
203 | reg = <f00 20>; | 218 | reg = <f00 20>; |
204 | interrupts = <2 d 0 2 e 0>; | 219 | interrupts = <2 d 0 2 e 0>; |
205 | interrupt-parent = <500>; | 220 | interrupt-parent = <500>; |
@@ -207,7 +222,7 @@ | |||
207 | 222 | ||
208 | usb@1000 { | 223 | usb@1000 { |
209 | device_type = "usb-ohci-be"; | 224 | device_type = "usb-ohci-be"; |
210 | compatible = "mpc5200b-ohci\0mpc52xx-ohci\0ohci-be"; | 225 | compatible = "mpc5200b-ohci\0mpc5200-ohci\0ohci-be"; |
211 | reg = <1000 ff>; | 226 | reg = <1000 ff>; |
212 | interrupts = <2 6 0>; | 227 | interrupts = <2 6 0>; |
213 | interrupt-parent = <500>; | 228 | interrupt-parent = <500>; |
@@ -215,7 +230,7 @@ | |||
215 | 230 | ||
216 | bestcomm@1200 { | 231 | bestcomm@1200 { |
217 | device_type = "dma-controller"; | 232 | device_type = "dma-controller"; |
218 | compatible = "mpc5200b-bestcomm\0mpc52xx-bestcomm"; | 233 | compatible = "mpc5200b-bestcomm\0mpc5200-bestcomm"; |
219 | reg = <1200 80>; | 234 | reg = <1200 80>; |
220 | interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 | 235 | interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 |
221 | 3 4 0 3 5 0 3 6 0 3 7 0 | 236 | 3 4 0 3 5 0 3 6 0 3 7 0 |
@@ -225,67 +240,73 @@ | |||
225 | }; | 240 | }; |
226 | 241 | ||
227 | xlb@1f00 { | 242 | xlb@1f00 { |
228 | compatible = "mpc5200b-xlb\0mpc52xx-xlb"; | 243 | compatible = "mpc5200b-xlb\0mpc5200-xlb"; |
229 | reg = <1f00 100>; | 244 | reg = <1f00 100>; |
230 | }; | 245 | }; |
231 | 246 | ||
232 | serial@2000 { // PSC1 | 247 | serial@2000 { // PSC1 |
233 | device_type = "serial"; | 248 | device_type = "serial"; |
234 | compatible = "mpc5200b-psc-uart\0mpc52xx-psc-uart"; | 249 | compatible = "mpc5200b-psc-uart\0mpc5200-psc-uart"; |
235 | port-number = <0>; // Logical port assignment | 250 | port-number = <0>; // Logical port assignment |
251 | cell-index = <0>; | ||
236 | reg = <2000 100>; | 252 | reg = <2000 100>; |
237 | interrupts = <2 1 0>; | 253 | interrupts = <2 1 0>; |
238 | interrupt-parent = <500>; | 254 | interrupt-parent = <500>; |
239 | }; | 255 | }; |
240 | 256 | ||
241 | // PSC2 in spi mode example | 257 | // PSC2 in ac97 mode example |
242 | spi@2200 { // PSC2 | 258 | //ac97@2200 { // PSC2 |
243 | device_type = "spi"; | 259 | // device_type = "sound"; |
244 | compatible = "mpc5200b-psc-spi\0mpc52xx-psc-spi"; | 260 | // compatible = "mpc5200b-psc-ac97\0mpc5200-psc-ac97"; |
245 | reg = <2200 100>; | 261 | // cell-index = <1>; |
246 | interrupts = <2 2 0>; | 262 | // reg = <2200 100>; |
247 | interrupt-parent = <500>; | 263 | // interrupts = <2 2 0>; |
248 | }; | 264 | // interrupt-parent = <500>; |
265 | //}; | ||
249 | 266 | ||
250 | // PSC3 in CODEC mode example | 267 | // PSC3 in CODEC mode example |
251 | i2s@2400 { // PSC3 | 268 | //i2s@2400 { // PSC3 |
252 | device_type = "sound"; | 269 | // device_type = "sound"; |
253 | compatible = "mpc5200b-psc-i2s\0mpc52xx-psc-i2s"; | 270 | // compatible = "mpc5200b-psc-i2s"; //not 5200 compatible |
254 | reg = <2400 100>; | 271 | // cell-index = <2>; |
255 | interrupts = <2 3 0>; | 272 | // reg = <2400 100>; |
256 | interrupt-parent = <500>; | 273 | // interrupts = <2 3 0>; |
257 | }; | 274 | // interrupt-parent = <500>; |
275 | //}; | ||
258 | 276 | ||
259 | // PSC4 unconfigured | 277 | // PSC4 in uart mode example |
260 | //serial@2600 { // PSC4 | 278 | //serial@2600 { // PSC4 |
261 | // device_type = "serial"; | 279 | // device_type = "serial"; |
262 | // compatible = "mpc5200b-psc-uart\0mpc52xx-psc-uart"; | 280 | // compatible = "mpc5200b-psc-uart\0mpc5200-psc-uart"; |
281 | // cell-index = <3>; | ||
263 | // reg = <2600 100>; | 282 | // reg = <2600 100>; |
264 | // interrupts = <2 b 0>; | 283 | // interrupts = <2 b 0>; |
265 | // interrupt-parent = <500>; | 284 | // interrupt-parent = <500>; |
266 | //}; | 285 | //}; |
267 | 286 | ||
268 | // PSC5 unconfigured | 287 | // PSC5 in uart mode example |
269 | //serial@2800 { // PSC5 | 288 | //serial@2800 { // PSC5 |
270 | // device_type = "serial"; | 289 | // device_type = "serial"; |
271 | // compatible = "mpc5200b-psc-uart\0mpc52xx-psc-uart"; | 290 | // compatible = "mpc5200b-psc-uart\0mpc5200-psc-uart"; |
291 | // cell-index = <4>; | ||
272 | // reg = <2800 100>; | 292 | // reg = <2800 100>; |
273 | // interrupts = <2 c 0>; | 293 | // interrupts = <2 c 0>; |
274 | // interrupt-parent = <500>; | 294 | // interrupt-parent = <500>; |
275 | //}; | 295 | //}; |
276 | 296 | ||
277 | // PSC6 in AC97 mode example | 297 | // PSC6 in spi mode example |
278 | ac97@2c00 { // PSC6 | 298 | //spi@2c00 { // PSC6 |
279 | device_type = "sound"; | 299 | // device_type = "spi"; |
280 | compatible = "mpc5200b-psc-ac97\0mpc52xx-psc-ac97"; | 300 | // compatible = "mpc5200b-psc-spi\0mpc5200-psc-spi"; |
281 | reg = <2c00 100>; | 301 | // cell-index = <5>; |
282 | interrupts = <2 4 0>; | 302 | // reg = <2c00 100>; |
283 | interrupt-parent = <500>; | 303 | // interrupts = <2 4 0>; |
284 | }; | 304 | // interrupt-parent = <500>; |
305 | //}; | ||
285 | 306 | ||
286 | ethernet@3000 { | 307 | ethernet@3000 { |
287 | device_type = "network"; | 308 | device_type = "network"; |
288 | compatible = "mpc5200b-fec\0mpc52xx-fec"; | 309 | compatible = "mpc5200b-fec\0mpc5200-fec"; |
289 | reg = <3000 800>; | 310 | reg = <3000 800>; |
290 | mac-address = [ 02 03 04 05 06 07 ]; // Bad! | 311 | mac-address = [ 02 03 04 05 06 07 ]; // Bad! |
291 | interrupts = <2 5 0>; | 312 | interrupts = <2 5 0>; |
@@ -294,7 +315,7 @@ | |||
294 | 315 | ||
295 | ata@3a00 { | 316 | ata@3a00 { |
296 | device_type = "ata"; | 317 | device_type = "ata"; |
297 | compatible = "mpc5200b-ata\0mpc52xx-ata"; | 318 | compatible = "mpc5200b-ata\0mpc5200-ata"; |
298 | reg = <3a00 100>; | 319 | reg = <3a00 100>; |
299 | interrupts = <2 7 0>; | 320 | interrupts = <2 7 0>; |
300 | interrupt-parent = <500>; | 321 | interrupt-parent = <500>; |
@@ -302,7 +323,8 @@ | |||
302 | 323 | ||
303 | i2c@3d00 { | 324 | i2c@3d00 { |
304 | device_type = "i2c"; | 325 | device_type = "i2c"; |
305 | compatible = "mpc5200b-i2c\0mpc52xx-i2c"; | 326 | compatible = "mpc5200b-i2c\0mpc5200-i2c"; |
327 | cell-index = <0>; | ||
306 | reg = <3d00 40>; | 328 | reg = <3d00 40>; |
307 | interrupts = <2 f 0>; | 329 | interrupts = <2 f 0>; |
308 | interrupt-parent = <500>; | 330 | interrupt-parent = <500>; |
@@ -310,14 +332,15 @@ | |||
310 | 332 | ||
311 | i2c@3d40 { | 333 | i2c@3d40 { |
312 | device_type = "i2c"; | 334 | device_type = "i2c"; |
313 | compatible = "mpc5200b-i2c\0mpc52xx-i2c"; | 335 | compatible = "mpc5200b-i2c\0mpc5200-i2c"; |
336 | cell-index = <1>; | ||
314 | reg = <3d40 40>; | 337 | reg = <3d40 40>; |
315 | interrupts = <2 10 0>; | 338 | interrupts = <2 10 0>; |
316 | interrupt-parent = <500>; | 339 | interrupt-parent = <500>; |
317 | }; | 340 | }; |
318 | sram@8000 { | 341 | sram@8000 { |
319 | device_type = "sram"; | 342 | device_type = "sram"; |
320 | compatible = "mpc5200b-sram\0mpc52xx-sram\0sram"; | 343 | compatible = "mpc5200b-sram\0mpc5200-sram\0sram"; |
321 | reg = <8000 4000>; | 344 | reg = <8000 4000>; |
322 | }; | 345 | }; |
323 | }; | 346 | }; |