armada-xp-gp.dts 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. /*
  2. * Device Tree file for Marvell Armada XP development board
  3. * (DB-MV784MP-GP)
  4. *
  5. * Copyright (C) 2013-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 Development Board DB-MV784MP-GP";
  28. compatible = "marvell,axp-gp", "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. /*
  35. * 8 GB of plug-in RAM modules by default.The amount
  36. * of memory available can be changed by the
  37. * bootloader according the size of the module
  38. * actually plugged. However, memory between
  39. * 0xF0000000 to 0xFFFFFFFF cannot be used, as it is
  40. * the address range used for I/O (internal registers,
  41. * MBus windows).
  42. */
  43. reg = <0x00000000 0x00000000 0x00000000 0xf0000000>,
  44. <0x00000001 0x00000000 0x00000001 0x00000000>;
  45. };
  46. soc {
  47. ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xf1000000 0x100000
  48. MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
  49. MBUS_ID(0x01, 0x2f) 0 0 0xf0000000 0x1000000>;
  50. devbus-bootcs {
  51. status = "okay";
  52. /* Device Bus parameters are required */
  53. /* Read parameters */
  54. devbus,bus-width = <16>;
  55. devbus,turn-off-ps = <60000>;
  56. devbus,badr-skew-ps = <0>;
  57. devbus,acc-first-ps = <124000>;
  58. devbus,acc-next-ps = <248000>;
  59. devbus,rd-setup-ps = <0>;
  60. devbus,rd-hold-ps = <0>;
  61. /* Write parameters */
  62. devbus,sync-enable = <0>;
  63. devbus,wr-high-ps = <60000>;
  64. devbus,wr-low-ps = <60000>;
  65. devbus,ale-wr-ps = <60000>;
  66. /* NOR 16 MiB */
  67. nor@0 {
  68. compatible = "cfi-flash";
  69. reg = <0 0x1000000>;
  70. bank-width = <2>;
  71. };
  72. };
  73. pcie-controller {
  74. status = "okay";
  75. /*
  76. * The 3 slots are physically present as
  77. * standard PCIe slots on the board.
  78. */
  79. pcie@1,0 {
  80. /* Port 0, Lane 0 */
  81. status = "okay";
  82. };
  83. pcie@9,0 {
  84. /* Port 2, Lane 0 */
  85. status = "okay";
  86. };
  87. pcie@10,0 {
  88. /* Port 3, Lane 0 */
  89. status = "okay";
  90. };
  91. };
  92. internal-regs {
  93. serial@12000 {
  94. status = "okay";
  95. };
  96. serial@12100 {
  97. status = "okay";
  98. };
  99. serial@12200 {
  100. status = "okay";
  101. };
  102. serial@12300 {
  103. status = "okay";
  104. };
  105. sata@a0000 {
  106. nr-ports = <2>;
  107. status = "okay";
  108. };
  109. mdio {
  110. phy0: ethernet-phy@0 {
  111. reg = <16>;
  112. };
  113. phy1: ethernet-phy@1 {
  114. reg = <17>;
  115. };
  116. phy2: ethernet-phy@2 {
  117. reg = <18>;
  118. };
  119. phy3: ethernet-phy@3 {
  120. reg = <19>;
  121. };
  122. };
  123. ethernet@70000 {
  124. status = "okay";
  125. phy = <&phy0>;
  126. phy-mode = "qsgmii";
  127. };
  128. ethernet@74000 {
  129. status = "okay";
  130. phy = <&phy1>;
  131. phy-mode = "qsgmii";
  132. };
  133. ethernet@30000 {
  134. status = "okay";
  135. phy = <&phy2>;
  136. phy-mode = "qsgmii";
  137. };
  138. ethernet@34000 {
  139. status = "okay";
  140. phy = <&phy3>;
  141. phy-mode = "qsgmii";
  142. };
  143. /* Front-side USB slot */
  144. usb@50000 {
  145. status = "okay";
  146. };
  147. /* Back-side USB slot */
  148. usb@51000 {
  149. status = "okay";
  150. };
  151. spi0: spi@10600 {
  152. status = "okay";
  153. spi-flash@0 {
  154. #address-cells = <1>;
  155. #size-cells = <1>;
  156. compatible = "n25q128a13";
  157. reg = <0>; /* Chip select 0 */
  158. spi-max-frequency = <108000000>;
  159. };
  160. };
  161. nand@d0000 {
  162. status = "okay";
  163. num-cs = <1>;
  164. marvell,nand-keep-config;
  165. marvell,nand-enable-arbiter;
  166. nand-on-flash-bbt;
  167. };
  168. };
  169. };
  170. };