diff options
author | Tanmay Inamdar <tinamdar@apm.com> | 2014-09-26 17:08:25 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2014-10-06 11:58:21 -0400 |
commit | 767ebaff4ef7235eb49ddec5d48db97b17c37cf5 (patch) | |
tree | b6808904fee54391feb0a729abb1ecb3be9aff85 /arch/arm64/boot | |
parent | 5f6b6ccdbe1cdfa5aa4347ec5412509b8995db27 (diff) |
arm64: dts: Add APM X-Gene PCIe device tree nodes
Add the device tree nodes for APM X-Gene PCIe host controller and PCIe
clock interface. Since X-Gene SOC supports maximum 5 ports, 5 dts nodes
are added.
Signed-off-by: Tanmay Inamdar <tinamdar@apm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm64/boot')
-rw-r--r-- | arch/arm64/boot/dts/apm-mustang.dts | 8 | ||||
-rw-r--r-- | arch/arm64/boot/dts/apm-storm.dtsi | 165 |
2 files changed, 173 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/apm-mustang.dts b/arch/arm64/boot/dts/apm-mustang.dts index b2f56229aa5e..f64900052f4e 100644 --- a/arch/arm64/boot/dts/apm-mustang.dts +++ b/arch/arm64/boot/dts/apm-mustang.dts | |||
@@ -25,6 +25,14 @@ | |||
25 | }; | 25 | }; |
26 | }; | 26 | }; |
27 | 27 | ||
28 | &pcie0clk { | ||
29 | status = "ok"; | ||
30 | }; | ||
31 | |||
32 | &pcie0 { | ||
33 | status = "ok"; | ||
34 | }; | ||
35 | |||
28 | &serial0 { | 36 | &serial0 { |
29 | status = "ok"; | 37 | status = "ok"; |
30 | }; | 38 | }; |
diff --git a/arch/arm64/boot/dts/apm-storm.dtsi b/arch/arm64/boot/dts/apm-storm.dtsi index c0aceef7f5b3..403197a0e621 100644 --- a/arch/arm64/boot/dts/apm-storm.dtsi +++ b/arch/arm64/boot/dts/apm-storm.dtsi | |||
@@ -269,6 +269,171 @@ | |||
269 | enable-mask = <0x2>; | 269 | enable-mask = <0x2>; |
270 | clock-output-names = "rtcclk"; | 270 | clock-output-names = "rtcclk"; |
271 | }; | 271 | }; |
272 | |||
273 | pcie0clk: pcie0clk@1f2bc000 { | ||
274 | status = "disabled"; | ||
275 | compatible = "apm,xgene-device-clock"; | ||
276 | #clock-cells = <1>; | ||
277 | clocks = <&socplldiv2 0>; | ||
278 | reg = <0x0 0x1f2bc000 0x0 0x1000>; | ||
279 | reg-names = "csr-reg"; | ||
280 | clock-output-names = "pcie0clk"; | ||
281 | }; | ||
282 | |||
283 | pcie1clk: pcie1clk@1f2cc000 { | ||
284 | status = "disabled"; | ||
285 | compatible = "apm,xgene-device-clock"; | ||
286 | #clock-cells = <1>; | ||
287 | clocks = <&socplldiv2 0>; | ||
288 | reg = <0x0 0x1f2cc000 0x0 0x1000>; | ||
289 | reg-names = "csr-reg"; | ||
290 | clock-output-names = "pcie1clk"; | ||
291 | }; | ||
292 | |||
293 | pcie2clk: pcie2clk@1f2dc000 { | ||
294 | status = "disabled"; | ||
295 | compatible = "apm,xgene-device-clock"; | ||
296 | #clock-cells = <1>; | ||
297 | clocks = <&socplldiv2 0>; | ||
298 | reg = <0x0 0x1f2dc000 0x0 0x1000>; | ||
299 | reg-names = "csr-reg"; | ||
300 | clock-output-names = "pcie2clk"; | ||
301 | }; | ||
302 | |||
303 | pcie3clk: pcie3clk@1f50c000 { | ||
304 | status = "disabled"; | ||
305 | compatible = "apm,xgene-device-clock"; | ||
306 | #clock-cells = <1>; | ||
307 | clocks = <&socplldiv2 0>; | ||
308 | reg = <0x0 0x1f50c000 0x0 0x1000>; | ||
309 | reg-names = "csr-reg"; | ||
310 | clock-output-names = "pcie3clk"; | ||
311 | }; | ||
312 | |||
313 | pcie4clk: pcie4clk@1f51c000 { | ||
314 | status = "disabled"; | ||
315 | compatible = "apm,xgene-device-clock"; | ||
316 | #clock-cells = <1>; | ||
317 | clocks = <&socplldiv2 0>; | ||
318 | reg = <0x0 0x1f51c000 0x0 0x1000>; | ||
319 | reg-names = "csr-reg"; | ||
320 | clock-output-names = "pcie4clk"; | ||
321 | }; | ||
322 | }; | ||
323 | |||
324 | pcie0: pcie@1f2b0000 { | ||
325 | status = "disabled"; | ||
326 | device_type = "pci"; | ||
327 | compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; | ||
328 | #interrupt-cells = <1>; | ||
329 | #size-cells = <2>; | ||
330 | #address-cells = <3>; | ||
331 | reg = < 0x00 0x1f2b0000 0x0 0x00010000 /* Controller registers */ | ||
332 | 0xe0 0xd0000000 0x0 0x00040000>; /* PCI config space */ | ||
333 | reg-names = "csr", "cfg"; | ||
334 | ranges = <0x01000000 0x00 0x00000000 0xe0 0x10000000 0x00 0x00010000 /* io */ | ||
335 | 0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000>; /* mem */ | ||
336 | dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 | ||
337 | 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; | ||
338 | interrupt-map-mask = <0x0 0x0 0x0 0x7>; | ||
339 | interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1 | ||
340 | 0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1 | ||
341 | 0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x1 | ||
342 | 0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>; | ||
343 | dma-coherent; | ||
344 | clocks = <&pcie0clk 0>; | ||
345 | }; | ||
346 | |||
347 | pcie1: pcie@1f2c0000 { | ||
348 | status = "disabled"; | ||
349 | device_type = "pci"; | ||
350 | compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; | ||
351 | #interrupt-cells = <1>; | ||
352 | #size-cells = <2>; | ||
353 | #address-cells = <3>; | ||
354 | reg = < 0x00 0x1f2c0000 0x0 0x00010000 /* Controller registers */ | ||
355 | 0xd0 0xd0000000 0x0 0x00040000>; /* PCI config space */ | ||
356 | reg-names = "csr", "cfg"; | ||
357 | ranges = <0x01000000 0x0 0x00000000 0xd0 0x10000000 0x00 0x00010000 /* io */ | ||
358 | 0x02000000 0x0 0x80000000 0xd1 0x80000000 0x00 0x80000000>; /* mem */ | ||
359 | dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 | ||
360 | 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; | ||
361 | interrupt-map-mask = <0x0 0x0 0x0 0x7>; | ||
362 | interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc8 0x1 | ||
363 | 0x0 0x0 0x0 0x2 &gic 0x0 0xc9 0x1 | ||
364 | 0x0 0x0 0x0 0x3 &gic 0x0 0xca 0x1 | ||
365 | 0x0 0x0 0x0 0x4 &gic 0x0 0xcb 0x1>; | ||
366 | dma-coherent; | ||
367 | clocks = <&pcie1clk 0>; | ||
368 | }; | ||
369 | |||
370 | pcie2: pcie@1f2d0000 { | ||
371 | status = "disabled"; | ||
372 | device_type = "pci"; | ||
373 | compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; | ||
374 | #interrupt-cells = <1>; | ||
375 | #size-cells = <2>; | ||
376 | #address-cells = <3>; | ||
377 | reg = < 0x00 0x1f2d0000 0x0 0x00010000 /* Controller registers */ | ||
378 | 0x90 0xd0000000 0x0 0x00040000>; /* PCI config space */ | ||
379 | reg-names = "csr", "cfg"; | ||
380 | ranges = <0x01000000 0x0 0x00000000 0x90 0x10000000 0x0 0x00010000 /* io */ | ||
381 | 0x02000000 0x0 0x80000000 0x91 0x80000000 0x0 0x80000000>; /* mem */ | ||
382 | dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 | ||
383 | 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; | ||
384 | interrupt-map-mask = <0x0 0x0 0x0 0x7>; | ||
385 | interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xce 0x1 | ||
386 | 0x0 0x0 0x0 0x2 &gic 0x0 0xcf 0x1 | ||
387 | 0x0 0x0 0x0 0x3 &gic 0x0 0xd0 0x1 | ||
388 | 0x0 0x0 0x0 0x4 &gic 0x0 0xd1 0x1>; | ||
389 | dma-coherent; | ||
390 | clocks = <&pcie2clk 0>; | ||
391 | }; | ||
392 | |||
393 | pcie3: pcie@1f500000 { | ||
394 | status = "disabled"; | ||
395 | device_type = "pci"; | ||
396 | compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; | ||
397 | #interrupt-cells = <1>; | ||
398 | #size-cells = <2>; | ||
399 | #address-cells = <3>; | ||
400 | reg = < 0x00 0x1f500000 0x0 0x00010000 /* Controller registers */ | ||
401 | 0xa0 0xd0000000 0x0 0x00040000>; /* PCI config space */ | ||
402 | reg-names = "csr", "cfg"; | ||
403 | ranges = <0x01000000 0x0 0x00000000 0xa0 0x10000000 0x0 0x00010000 /* io */ | ||
404 | 0x02000000 0x0 0x80000000 0xa1 0x80000000 0x0 0x80000000>; /* mem */ | ||
405 | dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 | ||
406 | 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; | ||
407 | interrupt-map-mask = <0x0 0x0 0x0 0x7>; | ||
408 | interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xd4 0x1 | ||
409 | 0x0 0x0 0x0 0x2 &gic 0x0 0xd5 0x1 | ||
410 | 0x0 0x0 0x0 0x3 &gic 0x0 0xd6 0x1 | ||
411 | 0x0 0x0 0x0 0x4 &gic 0x0 0xd7 0x1>; | ||
412 | dma-coherent; | ||
413 | clocks = <&pcie3clk 0>; | ||
414 | }; | ||
415 | |||
416 | pcie4: pcie@1f510000 { | ||
417 | status = "disabled"; | ||
418 | device_type = "pci"; | ||
419 | compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; | ||
420 | #interrupt-cells = <1>; | ||
421 | #size-cells = <2>; | ||
422 | #address-cells = <3>; | ||
423 | reg = < 0x00 0x1f510000 0x0 0x00010000 /* Controller registers */ | ||
424 | 0xc0 0xd0000000 0x0 0x00200000>; /* PCI config space */ | ||
425 | reg-names = "csr", "cfg"; | ||
426 | ranges = <0x01000000 0x0 0x00000000 0xc0 0x10000000 0x0 0x00010000 /* io */ | ||
427 | 0x02000000 0x0 0x80000000 0xc1 0x80000000 0x0 0x80000000>; /* mem */ | ||
428 | dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 | ||
429 | 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; | ||
430 | interrupt-map-mask = <0x0 0x0 0x0 0x7>; | ||
431 | interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xda 0x1 | ||
432 | 0x0 0x0 0x0 0x2 &gic 0x0 0xdb 0x1 | ||
433 | 0x0 0x0 0x0 0x3 &gic 0x0 0xdc 0x1 | ||
434 | 0x0 0x0 0x0 0x4 &gic 0x0 0xdd 0x1>; | ||
435 | dma-coherent; | ||
436 | clocks = <&pcie4clk 0>; | ||
272 | }; | 437 | }; |
273 | 438 | ||
274 | serial0: serial@1c020000 { | 439 | serial0: serial@1c020000 { |