armada-380.dtsi 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Device Tree Include file for Marvell Armada 380 SoC.
  4. *
  5. * Copyright (C) 2014 Marvell
  6. *
  7. * Lior Amsalem <[email protected]>
  8. * Gregory CLEMENT <[email protected]>
  9. * Thomas Petazzoni <[email protected]>
  10. */
  11. #include "armada-38x.dtsi"
  12. / {
  13. model = "Marvell Armada 380 family SoC";
  14. compatible = "marvell,armada380";
  15. cpus {
  16. #address-cells = <1>;
  17. #size-cells = <0>;
  18. enable-method = "marvell,armada-380-smp";
  19. cpu@0 {
  20. device_type = "cpu";
  21. compatible = "arm,cortex-a9";
  22. reg = <0>;
  23. };
  24. };
  25. soc {
  26. internal-regs {
  27. pinctrl@18000 {
  28. compatible = "marvell,mv88f6810-pinctrl";
  29. };
  30. };
  31. pcie {
  32. compatible = "marvell,armada-370-pcie";
  33. status = "disabled";
  34. device_type = "pci";
  35. #address-cells = <3>;
  36. #size-cells = <2>;
  37. msi-parent = <&mpic>;
  38. bus-range = <0x00 0xff>;
  39. ranges =
  40. <0x82000000 0 0x80000 MBUS_ID(0xf0, 0x01) 0x80000 0 0x00002000
  41. 0x82000000 0 0x40000 MBUS_ID(0xf0, 0x01) 0x40000 0 0x00002000
  42. 0x82000000 0 0x44000 MBUS_ID(0xf0, 0x01) 0x44000 0 0x00002000
  43. 0x82000000 0 0x48000 MBUS_ID(0xf0, 0x01) 0x48000 0 0x00002000
  44. 0x82000000 0x1 0 MBUS_ID(0x08, 0xe8) 0 1 0 /* Port 0 MEM */
  45. 0x81000000 0x1 0 MBUS_ID(0x08, 0xe0) 0 1 0 /* Port 0 IO */
  46. 0x82000000 0x2 0 MBUS_ID(0x04, 0xe8) 0 1 0 /* Port 1 MEM */
  47. 0x81000000 0x2 0 MBUS_ID(0x04, 0xe0) 0 1 0 /* Port 1 IO */
  48. 0x82000000 0x3 0 MBUS_ID(0x04, 0xd8) 0 1 0 /* Port 2 MEM */
  49. 0x81000000 0x3 0 MBUS_ID(0x04, 0xd0) 0 1 0 /* Port 2 IO */>;
  50. /* x1 port */
  51. pcie@1,0 {
  52. device_type = "pci";
  53. assigned-addresses = <0x82000800 0 0x80000 0 0x2000>;
  54. reg = <0x0800 0 0 0 0>;
  55. #address-cells = <3>;
  56. #size-cells = <2>;
  57. interrupt-names = "intx";
  58. interrupts-extended = <&gic GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
  59. #interrupt-cells = <1>;
  60. ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
  61. 0x81000000 0 0 0x81000000 0x1 0 1 0>;
  62. bus-range = <0x00 0xff>;
  63. interrupt-map-mask = <0 0 0 7>;
  64. interrupt-map = <0 0 0 1 &pcie1_intc 0>,
  65. <0 0 0 2 &pcie1_intc 1>,
  66. <0 0 0 3 &pcie1_intc 2>,
  67. <0 0 0 4 &pcie1_intc 3>;
  68. marvell,pcie-port = <0>;
  69. marvell,pcie-lane = <0>;
  70. clocks = <&gateclk 8>;
  71. status = "disabled";
  72. pcie1_intc: interrupt-controller {
  73. interrupt-controller;
  74. #interrupt-cells = <1>;
  75. };
  76. };
  77. /* x1 port */
  78. pcie@2,0 {
  79. device_type = "pci";
  80. assigned-addresses = <0x82001000 0 0x40000 0 0x2000>;
  81. reg = <0x1000 0 0 0 0>;
  82. #address-cells = <3>;
  83. #size-cells = <2>;
  84. interrupt-names = "intx";
  85. interrupts-extended = <&gic GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
  86. #interrupt-cells = <1>;
  87. ranges = <0x82000000 0 0 0x82000000 0x2 0 1 0
  88. 0x81000000 0 0 0x81000000 0x2 0 1 0>;
  89. bus-range = <0x00 0xff>;
  90. interrupt-map-mask = <0 0 0 7>;
  91. interrupt-map = <0 0 0 1 &pcie2_intc 0>,
  92. <0 0 0 2 &pcie2_intc 1>,
  93. <0 0 0 3 &pcie2_intc 2>,
  94. <0 0 0 4 &pcie2_intc 3>;
  95. marvell,pcie-port = <1>;
  96. marvell,pcie-lane = <0>;
  97. clocks = <&gateclk 5>;
  98. status = "disabled";
  99. pcie2_intc: interrupt-controller {
  100. interrupt-controller;
  101. #interrupt-cells = <1>;
  102. };
  103. };
  104. /* x1 port */
  105. pcie@3,0 {
  106. device_type = "pci";
  107. assigned-addresses = <0x82001800 0 0x44000 0 0x2000>;
  108. reg = <0x1800 0 0 0 0>;
  109. #address-cells = <3>;
  110. #size-cells = <2>;
  111. interrupt-names = "intx";
  112. interrupts-extended = <&gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
  113. #interrupt-cells = <1>;
  114. ranges = <0x82000000 0 0 0x82000000 0x3 0 1 0
  115. 0x81000000 0 0 0x81000000 0x3 0 1 0>;
  116. bus-range = <0x00 0xff>;
  117. interrupt-map-mask = <0 0 0 7>;
  118. interrupt-map = <0 0 0 1 &pcie3_intc 0>,
  119. <0 0 0 2 &pcie3_intc 1>,
  120. <0 0 0 3 &pcie3_intc 2>,
  121. <0 0 0 4 &pcie3_intc 3>;
  122. marvell,pcie-port = <2>;
  123. marvell,pcie-lane = <0>;
  124. clocks = <&gateclk 6>;
  125. status = "disabled";
  126. pcie3_intc: interrupt-controller {
  127. interrupt-controller;
  128. #interrupt-cells = <1>;
  129. };
  130. };
  131. };
  132. };
  133. };