diff options
-rw-r--r-- | Documentation/powerpc/booting-without-of.txt | 5 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc832x_mds.dts | 9 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8544ds.dts | 20 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8572ds.dts | 108 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8641_hpcn.dts | 126 | ||||
-rw-r--r-- | arch/powerpc/platforms/83xx/mpc832x_mds.c | 7 | ||||
-rw-r--r-- | arch/powerpc/platforms/83xx/mpc836x_mds.c | 31 | ||||
-rw-r--r-- | arch/powerpc/platforms/83xx/usb.c | 8 |
8 files changed, 254 insertions, 60 deletions
diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt index ac1be25c1e25..e9a3cb1d6b06 100644 --- a/Documentation/powerpc/booting-without-of.txt +++ b/Documentation/powerpc/booting-without-of.txt | |||
@@ -1645,8 +1645,9 @@ platforms are moved over to use the flattened-device-tree model. | |||
1645 | MAC addresses passed by the firmware when no information other | 1645 | MAC addresses passed by the firmware when no information other |
1646 | than indices is available to associate an address with a device. | 1646 | than indices is available to associate an address with a device. |
1647 | - phy-connection-type : a string naming the controller/PHY interface type, | 1647 | - phy-connection-type : a string naming the controller/PHY interface type, |
1648 | i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id", "tbi", | 1648 | i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id" (Internal |
1649 | or "rtbi". | 1649 | Delay), "rgmii-txid" (delay on TX only), "rgmii-rxid" (delay on RX only), |
1650 | "tbi", or "rtbi". | ||
1650 | 1651 | ||
1651 | Example: | 1652 | Example: |
1652 | ucc@2000 { | 1653 | ucc@2000 { |
diff --git a/arch/powerpc/boot/dts/mpc832x_mds.dts b/arch/powerpc/boot/dts/mpc832x_mds.dts index fcd333c391ec..eeafa8ba4d16 100644 --- a/arch/powerpc/boot/dts/mpc832x_mds.dts +++ b/arch/powerpc/boot/dts/mpc832x_mds.dts | |||
@@ -104,7 +104,7 @@ | |||
104 | reg = <700 100>; | 104 | reg = <700 100>; |
105 | device_type = "ipic"; | 105 | device_type = "ipic"; |
106 | }; | 106 | }; |
107 | 107 | ||
108 | par_io@1400 { | 108 | par_io@1400 { |
109 | reg = <1400 100>; | 109 | reg = <1400 100>; |
110 | device_type = "par_io"; | 110 | device_type = "par_io"; |
@@ -117,7 +117,6 @@ | |||
117 | 3 5 1 0 2 0 /* MDC */ | 117 | 3 5 1 0 2 0 /* MDC */ |
118 | 0 d 2 0 1 0 /* RX_CLK (CLK9) */ | 118 | 0 d 2 0 1 0 /* RX_CLK (CLK9) */ |
119 | 3 18 2 0 1 0 /* TX_CLK (CLK10) */ | 119 | 3 18 2 0 1 0 /* TX_CLK (CLK10) */ |
120 | 1 1 1 0 1 0 /* TxD1 */ | ||
121 | 1 0 1 0 1 0 /* TxD0 */ | 120 | 1 0 1 0 1 0 /* TxD0 */ |
122 | 1 1 1 0 1 0 /* TxD1 */ | 121 | 1 1 1 0 1 0 /* TxD1 */ |
123 | 1 2 1 0 1 0 /* TxD2 */ | 122 | 1 2 1 0 1 0 /* TxD2 */ |
@@ -165,11 +164,11 @@ | |||
165 | reg = <e0100000 480>; | 164 | reg = <e0100000 480>; |
166 | brg-frequency = <0>; | 165 | brg-frequency = <0>; |
167 | bus-frequency = <BCD3D80>; | 166 | bus-frequency = <BCD3D80>; |
168 | 167 | ||
169 | muram@10000 { | 168 | muram@10000 { |
170 | device_type = "muram"; | 169 | device_type = "muram"; |
171 | ranges = <0 00010000 00004000>; | 170 | ranges = <0 00010000 00004000>; |
172 | 171 | ||
173 | data-only@0 { | 172 | data-only@0 { |
174 | reg = <0 4000>; | 173 | reg = <0 4000>; |
175 | }; | 174 | }; |
@@ -228,7 +227,7 @@ | |||
228 | compatible = "ucc_geth"; | 227 | compatible = "ucc_geth"; |
229 | model = "UCC"; | 228 | model = "UCC"; |
230 | device-id = <4>; | 229 | device-id = <4>; |
231 | reg = <3000 200>; | 230 | reg = <3200 200>; |
232 | interrupts = <23>; | 231 | interrupts = <23>; |
233 | interrupt-parent = < &qeic >; | 232 | interrupt-parent = < &qeic >; |
234 | /* | 233 | /* |
diff --git a/arch/powerpc/boot/dts/mpc8544ds.dts b/arch/powerpc/boot/dts/mpc8544ds.dts index 3f9d15cf13e0..6c608de1fc1b 100644 --- a/arch/powerpc/boot/dts/mpc8544ds.dts +++ b/arch/powerpc/boot/dts/mpc8544ds.dts | |||
@@ -272,24 +272,24 @@ | |||
272 | clock-frequency = <1fca055>; | 272 | clock-frequency = <1fca055>; |
273 | interrupt-parent = <&mpic>; | 273 | interrupt-parent = <&mpic>; |
274 | interrupts = <1b 2>; | 274 | interrupts = <1b 2>; |
275 | interrupt-map-mask = <fb00 0 0 0>; | 275 | interrupt-map-mask = <ff00 0 0 1>; |
276 | interrupt-map = < | 276 | interrupt-map = < |
277 | // IDSEL 0x1c USB | 277 | // IDSEL 0x1c USB |
278 | e000 0 0 0 &i8259 c 2 | 278 | e000 0 0 1 &i8259 c 2 |
279 | e100 0 0 0 &i8259 9 2 | 279 | e100 0 0 1 &i8259 9 2 |
280 | e200 0 0 0 &i8259 a 2 | 280 | e200 0 0 1 &i8259 a 2 |
281 | e300 0 0 0 &i8259 b 2 | 281 | e300 0 0 1 &i8259 b 2 |
282 | 282 | ||
283 | // IDSEL 0x1d Audio | 283 | // IDSEL 0x1d Audio |
284 | e800 0 0 0 &i8259 6 2 | 284 | e800 0 0 1 &i8259 6 2 |
285 | 285 | ||
286 | // IDSEL 0x1e Legacy | 286 | // IDSEL 0x1e Legacy |
287 | f000 0 0 0 &i8259 7 2 | 287 | f000 0 0 1 &i8259 7 2 |
288 | f100 0 0 0 &i8259 7 2 | 288 | f100 0 0 1 &i8259 7 2 |
289 | 289 | ||
290 | // IDSEL 0x1f IDE/SATA | 290 | // IDSEL 0x1f IDE/SATA |
291 | f800 0 0 0 &i8259 e 2 | 291 | f800 0 0 1 &i8259 e 2 |
292 | f900 0 0 0 &i8259 5 2 | 292 | f900 0 0 1 &i8259 5 2 |
293 | >; | 293 | >; |
294 | 294 | ||
295 | pcie@0 { | 295 | pcie@0 { |
diff --git a/arch/powerpc/boot/dts/mpc8572ds.dts b/arch/powerpc/boot/dts/mpc8572ds.dts index d638deec7652..0eb44fb9647d 100644 --- a/arch/powerpc/boot/dts/mpc8572ds.dts +++ b/arch/powerpc/boot/dts/mpc8572ds.dts | |||
@@ -219,36 +219,120 @@ | |||
219 | clock-frequency = <1fca055>; | 219 | clock-frequency = <1fca055>; |
220 | interrupt-parent = <&mpic>; | 220 | interrupt-parent = <&mpic>; |
221 | interrupts = <18 2>; | 221 | interrupts = <18 2>; |
222 | interrupt-map-mask = <fb00 0 0 0>; | 222 | interrupt-map-mask = <ff00 0 0 7>; |
223 | interrupt-map = < | 223 | interrupt-map = < |
224 | /* IDSEL 0x11 - PCI slot 1 */ | 224 | /* IDSEL 0x11 func 0 - PCI slot 1 */ |
225 | 8800 0 0 1 &mpic 2 1 | 225 | 8800 0 0 1 &mpic 2 1 |
226 | 8800 0 0 2 &mpic 3 1 | 226 | 8800 0 0 2 &mpic 3 1 |
227 | 8800 0 0 3 &mpic 4 1 | 227 | 8800 0 0 3 &mpic 4 1 |
228 | 8800 0 0 4 &mpic 1 1 | 228 | 8800 0 0 4 &mpic 1 1 |
229 | 229 | ||
230 | /* IDSEL 0x12 - PCI slot 2 */ | 230 | /* IDSEL 0x11 func 1 - PCI slot 1 */ |
231 | 8900 0 0 1 &mpic 2 1 | ||
232 | 8900 0 0 2 &mpic 3 1 | ||
233 | 8900 0 0 3 &mpic 4 1 | ||
234 | 8900 0 0 4 &mpic 1 1 | ||
235 | |||
236 | /* IDSEL 0x11 func 2 - PCI slot 1 */ | ||
237 | 8a00 0 0 1 &mpic 2 1 | ||
238 | 8a00 0 0 2 &mpic 3 1 | ||
239 | 8a00 0 0 3 &mpic 4 1 | ||
240 | 8a00 0 0 4 &mpic 1 1 | ||
241 | |||
242 | /* IDSEL 0x11 func 3 - PCI slot 1 */ | ||
243 | 8b00 0 0 1 &mpic 2 1 | ||
244 | 8b00 0 0 2 &mpic 3 1 | ||
245 | 8b00 0 0 3 &mpic 4 1 | ||
246 | 8b00 0 0 4 &mpic 1 1 | ||
247 | |||
248 | /* IDSEL 0x11 func 4 - PCI slot 1 */ | ||
249 | 8c00 0 0 1 &mpic 2 1 | ||
250 | 8c00 0 0 2 &mpic 3 1 | ||
251 | 8c00 0 0 3 &mpic 4 1 | ||
252 | 8c00 0 0 4 &mpic 1 1 | ||
253 | |||
254 | /* IDSEL 0x11 func 5 - PCI slot 1 */ | ||
255 | 8d00 0 0 1 &mpic 2 1 | ||
256 | 8d00 0 0 2 &mpic 3 1 | ||
257 | 8d00 0 0 3 &mpic 4 1 | ||
258 | 8d00 0 0 4 &mpic 1 1 | ||
259 | |||
260 | /* IDSEL 0x11 func 6 - PCI slot 1 */ | ||
261 | 8e00 0 0 1 &mpic 2 1 | ||
262 | 8e00 0 0 2 &mpic 3 1 | ||
263 | 8e00 0 0 3 &mpic 4 1 | ||
264 | 8e00 0 0 4 &mpic 1 1 | ||
265 | |||
266 | /* IDSEL 0x11 func 7 - PCI slot 1 */ | ||
267 | 8f00 0 0 1 &mpic 2 1 | ||
268 | 8f00 0 0 2 &mpic 3 1 | ||
269 | 8f00 0 0 3 &mpic 4 1 | ||
270 | 8f00 0 0 4 &mpic 1 1 | ||
271 | |||
272 | /* IDSEL 0x12 func 0 - PCI slot 2 */ | ||
231 | 9000 0 0 1 &mpic 3 1 | 273 | 9000 0 0 1 &mpic 3 1 |
232 | 9000 0 0 2 &mpic 4 1 | 274 | 9000 0 0 2 &mpic 4 1 |
233 | 9000 0 0 3 &mpic 1 1 | 275 | 9000 0 0 3 &mpic 1 1 |
234 | 9000 0 0 4 &mpic 2 1 | 276 | 9000 0 0 4 &mpic 2 1 |
235 | 277 | ||
278 | /* IDSEL 0x12 func 1 - PCI slot 2 */ | ||
279 | 9100 0 0 1 &mpic 3 1 | ||
280 | 9100 0 0 2 &mpic 4 1 | ||
281 | 9100 0 0 3 &mpic 1 1 | ||
282 | 9100 0 0 4 &mpic 2 1 | ||
283 | |||
284 | /* IDSEL 0x12 func 2 - PCI slot 2 */ | ||
285 | 9200 0 0 1 &mpic 3 1 | ||
286 | 9200 0 0 2 &mpic 4 1 | ||
287 | 9200 0 0 3 &mpic 1 1 | ||
288 | 9200 0 0 4 &mpic 2 1 | ||
289 | |||
290 | /* IDSEL 0x12 func 3 - PCI slot 2 */ | ||
291 | 9300 0 0 1 &mpic 3 1 | ||
292 | 9300 0 0 2 &mpic 4 1 | ||
293 | 9300 0 0 3 &mpic 1 1 | ||
294 | 9300 0 0 4 &mpic 2 1 | ||
295 | |||
296 | /* IDSEL 0x12 func 4 - PCI slot 2 */ | ||
297 | 9400 0 0 1 &mpic 3 1 | ||
298 | 9400 0 0 2 &mpic 4 1 | ||
299 | 9400 0 0 3 &mpic 1 1 | ||
300 | 9400 0 0 4 &mpic 2 1 | ||
301 | |||
302 | /* IDSEL 0x12 func 5 - PCI slot 2 */ | ||
303 | 9500 0 0 1 &mpic 3 1 | ||
304 | 9500 0 0 2 &mpic 4 1 | ||
305 | 9500 0 0 3 &mpic 1 1 | ||
306 | 9500 0 0 4 &mpic 2 1 | ||
307 | |||
308 | /* IDSEL 0x12 func 6 - PCI slot 2 */ | ||
309 | 9600 0 0 1 &mpic 3 1 | ||
310 | 9600 0 0 2 &mpic 4 1 | ||
311 | 9600 0 0 3 &mpic 1 1 | ||
312 | 9600 0 0 4 &mpic 2 1 | ||
313 | |||
314 | /* IDSEL 0x12 func 7 - PCI slot 2 */ | ||
315 | 9700 0 0 1 &mpic 3 1 | ||
316 | 9700 0 0 2 &mpic 4 1 | ||
317 | 9700 0 0 3 &mpic 1 1 | ||
318 | 9700 0 0 4 &mpic 2 1 | ||
319 | |||
236 | // IDSEL 0x1c USB | 320 | // IDSEL 0x1c USB |
237 | e000 0 0 0 &i8259 c 2 | 321 | e000 0 0 1 &i8259 c 2 |
238 | e100 0 0 0 &i8259 9 2 | 322 | e100 0 0 1 &i8259 9 2 |
239 | e200 0 0 0 &i8259 a 2 | 323 | e200 0 0 1 &i8259 a 2 |
240 | e300 0 0 0 &i8259 b 2 | 324 | e300 0 0 1 &i8259 b 2 |
241 | 325 | ||
242 | // IDSEL 0x1d Audio | 326 | // IDSEL 0x1d Audio |
243 | e800 0 0 0 &i8259 6 2 | 327 | e800 0 0 1 &i8259 6 2 |
244 | 328 | ||
245 | // IDSEL 0x1e Legacy | 329 | // IDSEL 0x1e Legacy |
246 | f000 0 0 0 &i8259 7 2 | 330 | f000 0 0 1 &i8259 7 2 |
247 | f100 0 0 0 &i8259 7 2 | 331 | f100 0 0 1 &i8259 7 2 |
248 | 332 | ||
249 | // IDSEL 0x1f IDE/SATA | 333 | // IDSEL 0x1f IDE/SATA |
250 | f800 0 0 0 &i8259 e 2 | 334 | f800 0 0 1 &i8259 e 2 |
251 | f900 0 0 0 &i8259 5 2 | 335 | f900 0 0 1 &i8259 5 2 |
252 | 336 | ||
253 | >; | 337 | >; |
254 | 338 | ||
diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn.dts b/arch/powerpc/boot/dts/mpc8641_hpcn.dts index 367765937a06..abb26dc42558 100644 --- a/arch/powerpc/boot/dts/mpc8641_hpcn.dts +++ b/arch/powerpc/boot/dts/mpc8641_hpcn.dts | |||
@@ -235,36 +235,120 @@ | |||
235 | clock-frequency = <1fca055>; | 235 | clock-frequency = <1fca055>; |
236 | interrupt-parent = <&mpic>; | 236 | interrupt-parent = <&mpic>; |
237 | interrupts = <18 2>; | 237 | interrupts = <18 2>; |
238 | interrupt-map-mask = <fb00 0 0 0>; | 238 | interrupt-map-mask = <ff00 0 0 7>; |
239 | interrupt-map = < | 239 | interrupt-map = < |
240 | /* IDSEL 0x11 */ | 240 | /* IDSEL 0x11 func 0 - PCI slot 1 */ |
241 | 8800 0 0 1 &i8259 9 2 | 241 | 8800 0 0 1 &mpic 2 1 |
242 | 8800 0 0 2 &i8259 a 2 | 242 | 8800 0 0 2 &mpic 3 1 |
243 | 8800 0 0 3 &i8259 b 2 | 243 | 8800 0 0 3 &mpic 4 1 |
244 | 8800 0 0 4 &i8259 c 2 | 244 | 8800 0 0 4 &mpic 1 1 |
245 | 245 | ||
246 | /* IDSEL 0x12 */ | 246 | /* IDSEL 0x11 func 1 - PCI slot 1 */ |
247 | 9000 0 0 1 &i8259 a 2 | 247 | 8900 0 0 1 &mpic 2 1 |
248 | 9000 0 0 2 &i8259 b 2 | 248 | 8900 0 0 2 &mpic 3 1 |
249 | 9000 0 0 3 &i8259 c 2 | 249 | 8900 0 0 3 &mpic 4 1 |
250 | 9000 0 0 4 &i8259 9 2 | 250 | 8900 0 0 4 &mpic 1 1 |
251 | |||
252 | /* IDSEL 0x11 func 2 - PCI slot 1 */ | ||
253 | 8a00 0 0 1 &mpic 2 1 | ||
254 | 8a00 0 0 2 &mpic 3 1 | ||
255 | 8a00 0 0 3 &mpic 4 1 | ||
256 | 8a00 0 0 4 &mpic 1 1 | ||
257 | |||
258 | /* IDSEL 0x11 func 3 - PCI slot 1 */ | ||
259 | 8b00 0 0 1 &mpic 2 1 | ||
260 | 8b00 0 0 2 &mpic 3 1 | ||
261 | 8b00 0 0 3 &mpic 4 1 | ||
262 | 8b00 0 0 4 &mpic 1 1 | ||
263 | |||
264 | /* IDSEL 0x11 func 4 - PCI slot 1 */ | ||
265 | 8c00 0 0 1 &mpic 2 1 | ||
266 | 8c00 0 0 2 &mpic 3 1 | ||
267 | 8c00 0 0 3 &mpic 4 1 | ||
268 | 8c00 0 0 4 &mpic 1 1 | ||
269 | |||
270 | /* IDSEL 0x11 func 5 - PCI slot 1 */ | ||
271 | 8d00 0 0 1 &mpic 2 1 | ||
272 | 8d00 0 0 2 &mpic 3 1 | ||
273 | 8d00 0 0 3 &mpic 4 1 | ||
274 | 8d00 0 0 4 &mpic 1 1 | ||
275 | |||
276 | /* IDSEL 0x11 func 6 - PCI slot 1 */ | ||
277 | 8e00 0 0 1 &mpic 2 1 | ||
278 | 8e00 0 0 2 &mpic 3 1 | ||
279 | 8e00 0 0 3 &mpic 4 1 | ||
280 | 8e00 0 0 4 &mpic 1 1 | ||
281 | |||
282 | /* IDSEL 0x11 func 7 - PCI slot 1 */ | ||
283 | 8f00 0 0 1 &mpic 2 1 | ||
284 | 8f00 0 0 2 &mpic 3 1 | ||
285 | 8f00 0 0 3 &mpic 4 1 | ||
286 | 8f00 0 0 4 &mpic 1 1 | ||
287 | |||
288 | /* IDSEL 0x12 func 0 - PCI slot 2 */ | ||
289 | 9000 0 0 1 &mpic 3 1 | ||
290 | 9000 0 0 2 &mpic 4 1 | ||
291 | 9000 0 0 3 &mpic 1 1 | ||
292 | 9000 0 0 4 &mpic 2 1 | ||
293 | |||
294 | /* IDSEL 0x12 func 1 - PCI slot 2 */ | ||
295 | 9100 0 0 1 &mpic 3 1 | ||
296 | 9100 0 0 2 &mpic 4 1 | ||
297 | 9100 0 0 3 &mpic 1 1 | ||
298 | 9100 0 0 4 &mpic 2 1 | ||
299 | |||
300 | /* IDSEL 0x12 func 2 - PCI slot 2 */ | ||
301 | 9200 0 0 1 &mpic 3 1 | ||
302 | 9200 0 0 2 &mpic 4 1 | ||
303 | 9200 0 0 3 &mpic 1 1 | ||
304 | 9200 0 0 4 &mpic 2 1 | ||
305 | |||
306 | /* IDSEL 0x12 func 3 - PCI slot 2 */ | ||
307 | 9300 0 0 1 &mpic 3 1 | ||
308 | 9300 0 0 2 &mpic 4 1 | ||
309 | 9300 0 0 3 &mpic 1 1 | ||
310 | 9300 0 0 4 &mpic 2 1 | ||
311 | |||
312 | /* IDSEL 0x12 func 4 - PCI slot 2 */ | ||
313 | 9400 0 0 1 &mpic 3 1 | ||
314 | 9400 0 0 2 &mpic 4 1 | ||
315 | 9400 0 0 3 &mpic 1 1 | ||
316 | 9400 0 0 4 &mpic 2 1 | ||
317 | |||
318 | /* IDSEL 0x12 func 5 - PCI slot 2 */ | ||
319 | 9500 0 0 1 &mpic 3 1 | ||
320 | 9500 0 0 2 &mpic 4 1 | ||
321 | 9500 0 0 3 &mpic 1 1 | ||
322 | 9500 0 0 4 &mpic 2 1 | ||
323 | |||
324 | /* IDSEL 0x12 func 6 - PCI slot 2 */ | ||
325 | 9600 0 0 1 &mpic 3 1 | ||
326 | 9600 0 0 2 &mpic 4 1 | ||
327 | 9600 0 0 3 &mpic 1 1 | ||
328 | 9600 0 0 4 &mpic 2 1 | ||
329 | |||
330 | /* IDSEL 0x12 func 7 - PCI slot 2 */ | ||
331 | 9700 0 0 1 &mpic 3 1 | ||
332 | 9700 0 0 2 &mpic 4 1 | ||
333 | 9700 0 0 3 &mpic 1 1 | ||
334 | 9700 0 0 4 &mpic 2 1 | ||
251 | 335 | ||
252 | // IDSEL 0x1c USB | 336 | // IDSEL 0x1c USB |
253 | e000 0 0 0 &i8259 c 2 | 337 | e000 0 0 1 &i8259 c 2 |
254 | e100 0 0 0 &i8259 9 2 | 338 | e100 0 0 1 &i8259 9 2 |
255 | e200 0 0 0 &i8259 a 2 | 339 | e200 0 0 1 &i8259 a 2 |
256 | e300 0 0 0 &i8259 b 2 | 340 | e300 0 0 1 &i8259 b 2 |
257 | 341 | ||
258 | // IDSEL 0x1d Audio | 342 | // IDSEL 0x1d Audio |
259 | e800 0 0 0 &i8259 6 2 | 343 | e800 0 0 1 &i8259 6 2 |
260 | 344 | ||
261 | // IDSEL 0x1e Legacy | 345 | // IDSEL 0x1e Legacy |
262 | f000 0 0 0 &i8259 7 2 | 346 | f000 0 0 1 &i8259 7 2 |
263 | f100 0 0 0 &i8259 7 2 | 347 | f100 0 0 1 &i8259 7 2 |
264 | 348 | ||
265 | // IDSEL 0x1f IDE/SATA | 349 | // IDSEL 0x1f IDE/SATA |
266 | f800 0 0 0 &i8259 e 2 | 350 | f800 0 0 1 &i8259 e 2 |
267 | f900 0 0 0 &i8259 5 2 | 351 | f900 0 0 1 &i8259 5 2 |
268 | >; | 352 | >; |
269 | 353 | ||
270 | pcie@0 { | 354 | pcie@0 { |
diff --git a/arch/powerpc/platforms/83xx/mpc832x_mds.c b/arch/powerpc/platforms/83xx/mpc832x_mds.c index 972fa8528a8c..9e3bfcca1cea 100644 --- a/arch/powerpc/platforms/83xx/mpc832x_mds.c +++ b/arch/powerpc/platforms/83xx/mpc832x_mds.c | |||
@@ -90,10 +90,11 @@ static void __init mpc832x_sys_setup_arch(void) | |||
90 | 90 | ||
91 | if ((np = of_find_compatible_node(NULL, "network", "ucc_geth")) | 91 | if ((np = of_find_compatible_node(NULL, "network", "ucc_geth")) |
92 | != NULL){ | 92 | != NULL){ |
93 | /* Reset the Ethernet PHY */ | 93 | /* Reset the Ethernet PHYs */ |
94 | bcsr_regs[9] &= ~0x20; | 94 | #define BCSR8_FETH_RST 0x50 |
95 | bcsr_regs[8] &= ~BCSR8_FETH_RST; | ||
95 | udelay(1000); | 96 | udelay(1000); |
96 | bcsr_regs[9] |= 0x20; | 97 | bcsr_regs[8] |= BCSR8_FETH_RST; |
97 | iounmap(bcsr_regs); | 98 | iounmap(bcsr_regs); |
98 | of_node_put(np); | 99 | of_node_put(np); |
99 | } | 100 | } |
diff --git a/arch/powerpc/platforms/83xx/mpc836x_mds.c b/arch/powerpc/platforms/83xx/mpc836x_mds.c index 0f3855c95ff5..0a722601a2f0 100644 --- a/arch/powerpc/platforms/83xx/mpc836x_mds.c +++ b/arch/powerpc/platforms/83xx/mpc836x_mds.c | |||
@@ -96,14 +96,39 @@ static void __init mpc836x_mds_setup_arch(void) | |||
96 | 96 | ||
97 | if ((np = of_find_compatible_node(NULL, "network", "ucc_geth")) | 97 | if ((np = of_find_compatible_node(NULL, "network", "ucc_geth")) |
98 | != NULL){ | 98 | != NULL){ |
99 | uint svid; | ||
100 | |||
99 | /* Reset the Ethernet PHY */ | 101 | /* Reset the Ethernet PHY */ |
100 | bcsr_regs[9] &= ~0x20; | 102 | #define BCSR9_GETHRST 0x20 |
103 | clrbits8(&bcsr_regs[9], BCSR9_GETHRST); | ||
101 | udelay(1000); | 104 | udelay(1000); |
102 | bcsr_regs[9] |= 0x20; | 105 | setbits8(&bcsr_regs[9], BCSR9_GETHRST); |
106 | |||
107 | /* handle mpc8360ea rev.2.1 erratum 2: RGMII Timing */ | ||
108 | svid = mfspr(SPRN_SVR); | ||
109 | if (svid == 0x80480021) { | ||
110 | void __iomem *immap; | ||
111 | |||
112 | immap = ioremap(get_immrbase() + 0x14a8, 8); | ||
113 | |||
114 | /* | ||
115 | * IMMR + 0x14A8[4:5] = 11 (clk delay for UCC 2) | ||
116 | * IMMR + 0x14A8[18:19] = 11 (clk delay for UCC 1) | ||
117 | */ | ||
118 | setbits32(immap, 0x0c003000); | ||
119 | |||
120 | /* | ||
121 | * IMMR + 0x14AC[20:27] = 10101010 | ||
122 | * (data delay for both UCC's) | ||
123 | */ | ||
124 | clrsetbits_be32(immap + 4, 0xff0, 0xaa0); | ||
125 | |||
126 | iounmap(immap); | ||
127 | } | ||
128 | |||
103 | iounmap(bcsr_regs); | 129 | iounmap(bcsr_regs); |
104 | of_node_put(np); | 130 | of_node_put(np); |
105 | } | 131 | } |
106 | |||
107 | #endif /* CONFIG_QUICC_ENGINE */ | 132 | #endif /* CONFIG_QUICC_ENGINE */ |
108 | } | 133 | } |
109 | 134 | ||
diff --git a/arch/powerpc/platforms/83xx/usb.c b/arch/powerpc/platforms/83xx/usb.c index eafe7605cdac..b45160f8d084 100644 --- a/arch/powerpc/platforms/83xx/usb.c +++ b/arch/powerpc/platforms/83xx/usb.c | |||
@@ -130,7 +130,7 @@ int mpc831x_usb_cfg(void) | |||
130 | out_be32(immap + MPC83XX_SCCR_OFFS, temp); | 130 | out_be32(immap + MPC83XX_SCCR_OFFS, temp); |
131 | 131 | ||
132 | /* Configure pin mux for ULPI. There is no pin mux for UTMI */ | 132 | /* Configure pin mux for ULPI. There is no pin mux for UTMI */ |
133 | if (!strcmp(prop, "ulpi")) { | 133 | if (prop && !strcmp(prop, "ulpi")) { |
134 | temp = in_be32(immap + MPC83XX_SICRL_OFFS); | 134 | temp = in_be32(immap + MPC83XX_SICRL_OFFS); |
135 | temp &= ~MPC831X_SICRL_USB_MASK; | 135 | temp &= ~MPC831X_SICRL_USB_MASK; |
136 | temp |= MPC831X_SICRL_USB_ULPI; | 136 | temp |= MPC831X_SICRL_USB_ULPI; |
@@ -153,13 +153,13 @@ int mpc831x_usb_cfg(void) | |||
153 | usb_regs = ioremap(res.start, res.end - res.start + 1); | 153 | usb_regs = ioremap(res.start, res.end - res.start + 1); |
154 | 154 | ||
155 | /* Using on-chip PHY */ | 155 | /* Using on-chip PHY */ |
156 | if (!strcmp(prop, "utmi_wide") || | 156 | if (prop && (!strcmp(prop, "utmi_wide") || |
157 | !strcmp(prop, "utmi")) { | 157 | !strcmp(prop, "utmi"))) { |
158 | /* Set UTMI_PHY_EN, REFSEL to 48MHZ */ | 158 | /* Set UTMI_PHY_EN, REFSEL to 48MHZ */ |
159 | out_be32(usb_regs + FSL_USB2_CONTROL_OFFS, | 159 | out_be32(usb_regs + FSL_USB2_CONTROL_OFFS, |
160 | CONTROL_UTMI_PHY_EN | CONTROL_REFSEL_48MHZ); | 160 | CONTROL_UTMI_PHY_EN | CONTROL_REFSEL_48MHZ); |
161 | /* Using external UPLI PHY */ | 161 | /* Using external UPLI PHY */ |
162 | } else if (!strcmp(prop, "ulpi")) { | 162 | } else if (prop && !strcmp(prop, "ulpi")) { |
163 | /* Set PHY_CLK_SEL to ULPI */ | 163 | /* Set PHY_CLK_SEL to ULPI */ |
164 | temp = CONTROL_PHY_CLK_SEL_ULPI; | 164 | temp = CONTROL_PHY_CLK_SEL_ULPI; |
165 | #ifdef CONFIG_USB_OTG | 165 | #ifdef CONFIG_USB_OTG |