armada-385.dtsi 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Device Tree Include file for Marvell Armada 385 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 385 family SoC";
  14. compatible = "marvell,armada385", "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. cpu@1 {
  25. device_type = "cpu";
  26. compatible = "arm,cortex-a9";
  27. reg = <1>;
  28. };
  29. };
  30. soc {
  31. pciec: 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. 0x82000000 0x4 0 MBUS_ID(0x04, 0xb8) 0 1 0 /* Port 3 MEM */
  51. 0x81000000 0x4 0 MBUS_ID(0x04, 0xb0) 0 1 0 /* Port 3 IO */>;
  52. /*
  53. * This port can be either x4 or x1. When
  54. * configured in x4 by the bootloader, then
  55. * pcie@4,0 is not available.
  56. */
  57. pcie1: pcie@1,0 {
  58. device_type = "pci";
  59. assigned-addresses = <0x82000800 0 0x80000 0 0x2000>;
  60. reg = <0x0800 0 0 0 0>;
  61. #address-cells = <3>;
  62. #size-cells = <2>;
  63. interrupt-names = "intx";
  64. interrupts-extended = <&gic GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
  65. #interrupt-cells = <1>;
  66. ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
  67. 0x81000000 0 0 0x81000000 0x1 0 1 0>;
  68. bus-range = <0x00 0xff>;
  69. interrupt-map-mask = <0 0 0 7>;
  70. interrupt-map = <0 0 0 1 &pcie1_intc 0>,
  71. <0 0 0 2 &pcie1_intc 1>,
  72. <0 0 0 3 &pcie1_intc 2>,
  73. <0 0 0 4 &pcie1_intc 3>;
  74. marvell,pcie-port = <0>;
  75. marvell,pcie-lane = <0>;
  76. clocks = <&gateclk 8>;
  77. status = "disabled";
  78. pcie1_intc: interrupt-controller {
  79. interrupt-controller;
  80. #interrupt-cells = <1>;
  81. };
  82. };
  83. /* x1 port */
  84. pcie2: pcie@2,0 {
  85. device_type = "pci";
  86. assigned-addresses = <0x82001000 0 0x40000 0 0x2000>;
  87. reg = <0x1000 0 0 0 0>;
  88. #address-cells = <3>;
  89. #size-cells = <2>;
  90. interrupt-names = "intx";
  91. interrupts-extended = <&gic GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
  92. #interrupt-cells = <1>;
  93. ranges = <0x82000000 0 0 0x82000000 0x2 0 1 0
  94. 0x81000000 0 0 0x81000000 0x2 0 1 0>;
  95. bus-range = <0x00 0xff>;
  96. interrupt-map-mask = <0 0 0 7>;
  97. interrupt-map = <0 0 0 1 &pcie2_intc 0>,
  98. <0 0 0 2 &pcie2_intc 1>,
  99. <0 0 0 3 &pcie2_intc 2>,
  100. <0 0 0 4 &pcie2_intc 3>;
  101. marvell,pcie-port = <1>;
  102. marvell,pcie-lane = <0>;
  103. clocks = <&gateclk 5>;
  104. status = "disabled";
  105. pcie2_intc: interrupt-controller {
  106. interrupt-controller;
  107. #interrupt-cells = <1>;
  108. };
  109. };
  110. /* x1 port */
  111. pcie3: pcie@3,0 {
  112. device_type = "pci";
  113. assigned-addresses = <0x82001800 0 0x44000 0 0x2000>;
  114. reg = <0x1800 0 0 0 0>;
  115. #address-cells = <3>;
  116. #size-cells = <2>;
  117. interrupt-names = "intx";
  118. interrupts-extended = <&gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
  119. #interrupt-cells = <1>;
  120. ranges = <0x82000000 0 0 0x82000000 0x3 0 1 0
  121. 0x81000000 0 0 0x81000000 0x3 0 1 0>;
  122. bus-range = <0x00 0xff>;
  123. interrupt-map-mask = <0 0 0 7>;
  124. interrupt-map = <0 0 0 1 &pcie3_intc 0>,
  125. <0 0 0 2 &pcie3_intc 1>,
  126. <0 0 0 3 &pcie3_intc 2>,
  127. <0 0 0 4 &pcie3_intc 3>;
  128. marvell,pcie-port = <2>;
  129. marvell,pcie-lane = <0>;
  130. clocks = <&gateclk 6>;
  131. status = "disabled";
  132. pcie3_intc: interrupt-controller {
  133. interrupt-controller;
  134. #interrupt-cells = <1>;
  135. };
  136. };
  137. /*
  138. * x1 port only available when pcie@1,0 is
  139. * configured as a x1 port
  140. */
  141. pcie4: pcie@4,0 {
  142. device_type = "pci";
  143. assigned-addresses = <0x82002000 0 0x48000 0 0x2000>;
  144. reg = <0x2000 0 0 0 0>;
  145. #address-cells = <3>;
  146. #size-cells = <2>;
  147. interrupt-names = "intx";
  148. interrupts-extended = <&gic GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
  149. #interrupt-cells = <1>;
  150. ranges = <0x82000000 0 0 0x82000000 0x4 0 1 0
  151. 0x81000000 0 0 0x81000000 0x4 0 1 0>;
  152. bus-range = <0x00 0xff>;
  153. interrupt-map-mask = <0 0 0 7>;
  154. interrupt-map = <0 0 0 1 &pcie4_intc 0>,
  155. <0 0 0 2 &pcie4_intc 1>,
  156. <0 0 0 3 &pcie4_intc 2>,
  157. <0 0 0 4 &pcie4_intc 3>;
  158. marvell,pcie-port = <3>;
  159. marvell,pcie-lane = <0>;
  160. clocks = <&gateclk 7>;
  161. status = "disabled";
  162. pcie4_intc: interrupt-controller {
  163. interrupt-controller;
  164. #interrupt-cells = <1>;
  165. };
  166. };
  167. };
  168. };
  169. };
  170. &pinctrl {
  171. compatible = "marvell,mv88f6820-pinctrl";
  172. };