armada-xp-db.dts 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. /*
  2. * Device Tree file for Marvell Armada XP evaluation board
  3. * (DB-78460-BP)
  4. *
  5. * Copyright (C) 2012-2014 Marvell
  6. *
  7. * Lior Amsalem <alior@marvell.com>
  8. * Gregory CLEMENT <gregory.clement@free-electrons.com>
  9. * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
  10. *
  11. * This file is licensed under the terms of the GNU General Public
  12. * License version 2. This program is licensed "as is" without any
  13. * warranty of any kind, whether express or implied.
  14. *
  15. * Note: this Device Tree assumes that the bootloader has remapped the
  16. * internal registers to 0xf1000000 (instead of the default
  17. * 0xd0000000). The 0xf1000000 is the default used by the recent,
  18. * DT-capable, U-Boot bootloaders provided by Marvell. Some earlier
  19. * boards were delivered with an older version of the bootloader that
  20. * left internal registers mapped at 0xd0000000. If you are in this
  21. * situation, you should either update your bootloader (preferred
  22. * solution) or the below Device Tree should be adjusted.
  23. */
  24. /dts-v1/;
  25. #include "armada-xp-mv78460.dtsi"
  26. / {
  27. model = "Marvell Armada XP Evaluation Board";
  28. compatible = "marvell,axp-db", "marvell,armadaxp-mv78460", "marvell,armadaxp", "marvell,armada-370-xp";
  29. chosen {
  30. bootargs = "console=ttyS0,115200 earlyprintk";
  31. };
  32. memory {
  33. device_type = "memory";
  34. reg = <0 0x00000000 0 0x80000000>; /* 2 GB */
  35. };
  36. soc {
  37. ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xf1000000 0x100000
  38. MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
  39. MBUS_ID(0x01, 0x2f) 0 0 0xf0000000 0x1000000>;
  40. devbus-bootcs {
  41. status = "okay";
  42. /* Device Bus parameters are required */
  43. /* Read parameters */
  44. devbus,bus-width = <16>;
  45. devbus,turn-off-ps = <60000>;
  46. devbus,badr-skew-ps = <0>;
  47. devbus,acc-first-ps = <124000>;
  48. devbus,acc-next-ps = <248000>;
  49. devbus,rd-setup-ps = <0>;
  50. devbus,rd-hold-ps = <0>;
  51. /* Write parameters */
  52. devbus,sync-enable = <0>;
  53. devbus,wr-high-ps = <60000>;
  54. devbus,wr-low-ps = <60000>;
  55. devbus,ale-wr-ps = <60000>;
  56. /* NOR 16 MiB */
  57. nor@0 {
  58. compatible = "cfi-flash";
  59. reg = <0 0x1000000>;
  60. bank-width = <2>;
  61. };
  62. };
  63. pcie-controller {
  64. status = "okay";
  65. /*
  66. * All 6 slots are physically present as
  67. * standard PCIe slots on the board.
  68. */
  69. pcie@1,0 {
  70. /* Port 0, Lane 0 */
  71. status = "okay";
  72. };
  73. pcie@2,0 {
  74. /* Port 0, Lane 1 */
  75. status = "okay";
  76. };
  77. pcie@3,0 {
  78. /* Port 0, Lane 2 */
  79. status = "okay";
  80. };
  81. pcie@4,0 {
  82. /* Port 0, Lane 3 */
  83. status = "okay";
  84. };
  85. pcie@9,0 {
  86. /* Port 2, Lane 0 */
  87. status = "okay";
  88. };
  89. pcie@10,0 {
  90. /* Port 3, Lane 0 */
  91. status = "okay";
  92. };
  93. };
  94. internal-regs {
  95. serial@12000 {
  96. status = "okay";
  97. };
  98. serial@12100 {
  99. status = "okay";
  100. };
  101. serial@12200 {
  102. status = "okay";
  103. };
  104. serial@12300 {
  105. status = "okay";
  106. };
  107. sata@a0000 {
  108. nr-ports = <2>;
  109. status = "okay";
  110. };
  111. mdio {
  112. phy0: ethernet-phy@0 {
  113. reg = <0>;
  114. };
  115. phy1: ethernet-phy@1 {
  116. reg = <1>;
  117. };
  118. phy2: ethernet-phy@2 {
  119. reg = <25>;
  120. };
  121. phy3: ethernet-phy@3 {
  122. reg = <27>;
  123. };
  124. };
  125. ethernet@70000 {
  126. status = "okay";
  127. phy = <&phy0>;
  128. phy-mode = "rgmii-id";
  129. };
  130. ethernet@74000 {
  131. status = "okay";
  132. phy = <&phy1>;
  133. phy-mode = "rgmii-id";
  134. };
  135. ethernet@30000 {
  136. status = "okay";
  137. phy = <&phy2>;
  138. phy-mode = "sgmii";
  139. };
  140. ethernet@34000 {
  141. status = "okay";
  142. phy = <&phy3>;
  143. phy-mode = "sgmii";
  144. };
  145. mvsdio@d4000 {
  146. pinctrl-0 = <&sdio_pins>;
  147. pinctrl-names = "default";
  148. status = "okay";
  149. /* No CD or WP GPIOs */
  150. broken-cd;
  151. };
  152. usb@50000 {
  153. status = "okay";
  154. };
  155. usb@51000 {
  156. status = "okay";
  157. };
  158. usb@52000 {
  159. status = "okay";
  160. };
  161. spi0: spi@10600 {
  162. status = "okay";
  163. spi-flash@0 {
  164. #address-cells = <1>;
  165. #size-cells = <1>;
  166. compatible = "m25p64";
  167. reg = <0>; /* Chip select 0 */
  168. spi-max-frequency = <20000000>;
  169. };
  170. };
  171. };
  172. };
  173. };