aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/boot
diff options
context:
space:
mode:
authorTanmay Inamdar <tinamdar@apm.com>2014-09-26 17:08:25 -0400
committerBjorn Helgaas <bhelgaas@google.com>2014-10-06 11:58:21 -0400
commit767ebaff4ef7235eb49ddec5d48db97b17c37cf5 (patch)
treeb6808904fee54391feb0a729abb1ecb3be9aff85 /arch/arm64/boot
parent5f6b6ccdbe1cdfa5aa4347ec5412509b8995db27 (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.dts8
-rw-r--r--arch/arm64/boot/dts/apm-storm.dtsi165
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 {