armada-370-rd.dts 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. /*
  2. * Device Tree file for Marvell Armada 370 Reference Design board
  3. * (RD-88F6710-A1)
  4. *
  5. * Copied from arch/arm/boot/dts/armada-370-db.dts
  6. *
  7. * Copyright (C) 2013 Florian Fainelli <florian@openwrt.org>
  8. *
  9. * This file is licensed under the terms of the GNU General Public
  10. * License version 2. This program is licensed "as is" without any
  11. * warranty of any kind, whether express or implied.
  12. *
  13. * Note: this Device Tree assumes that the bootloader has remapped the
  14. * internal registers to 0xf1000000 (instead of the default
  15. * 0xd0000000). The 0xf1000000 is the default used by the recent,
  16. * DT-capable, U-Boot bootloaders provided by Marvell. Some earlier
  17. * boards were delivered with an older version of the bootloader that
  18. * left internal registers mapped at 0xd0000000. If you are in this
  19. * situation, you should either update your bootloader (preferred
  20. * solution) or the below Device Tree should be adjusted.
  21. */
  22. /dts-v1/;
  23. #include <dt-bindings/input/input.h>
  24. #include <dt-bindings/gpio/gpio.h>
  25. #include "armada-370.dtsi"
  26. / {
  27. model = "Marvell Armada 370 Reference Design";
  28. compatible = "marvell,a370-rd", "marvell,armada370", "marvell,armada-370-xp";
  29. chosen {
  30. bootargs = "console=ttyS0,115200 earlyprintk";
  31. };
  32. memory {
  33. device_type = "memory";
  34. reg = <0x00000000 0x20000000>; /* 512 MB */
  35. };
  36. soc {
  37. ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
  38. MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>;
  39. pcie-controller {
  40. status = "okay";
  41. /* Internal mini-PCIe connector */
  42. pcie@1,0 {
  43. /* Port 0, Lane 0 */
  44. status = "okay";
  45. };
  46. /* Internal mini-PCIe connector */
  47. pcie@2,0 {
  48. /* Port 1, Lane 0 */
  49. status = "okay";
  50. };
  51. };
  52. internal-regs {
  53. pinctrl {
  54. fan_pins: fan-pins {
  55. marvell,pins = "mpp8";
  56. marvell,function = "gpio";
  57. };
  58. led_pins: led-pins {
  59. marvell,pins = "mpp32";
  60. marvell,function = "gpio";
  61. };
  62. };
  63. serial@12000 {
  64. status = "okay";
  65. };
  66. sata@a0000 {
  67. nr-ports = <2>;
  68. status = "okay";
  69. };
  70. mdio {
  71. pinctrl-0 = <&mdio_pins>;
  72. pinctrl-names = "default";
  73. phy0: ethernet-phy@0 {
  74. reg = <0>;
  75. };
  76. phy1: ethernet-phy@1 {
  77. reg = <1>;
  78. };
  79. };
  80. ethernet@70000 {
  81. status = "okay";
  82. phy = <&phy0>;
  83. phy-mode = "sgmii";
  84. };
  85. ethernet@74000 {
  86. pinctrl-0 = <&ge1_rgmii_pins>;
  87. pinctrl-names = "default";
  88. status = "okay";
  89. phy = <&phy1>;
  90. phy-mode = "rgmii-id";
  91. };
  92. mvsdio@d4000 {
  93. pinctrl-0 = <&sdio_pins1>;
  94. pinctrl-names = "default";
  95. status = "okay";
  96. /* No CD or WP GPIOs */
  97. broken-cd;
  98. };
  99. usb@50000 {
  100. status = "okay";
  101. };
  102. usb@51000 {
  103. status = "okay";
  104. };
  105. gpio-keys {
  106. compatible = "gpio-keys";
  107. #address-cells = <1>;
  108. #size-cells = <0>;
  109. button@1 {
  110. label = "Software Button";
  111. linux,code = <KEY_POWER>;
  112. gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
  113. };
  114. };
  115. gpio-fan {
  116. compatible = "gpio-fan";
  117. gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
  118. gpio-fan,speed-map = <0 0 3000 1>;
  119. pinctrl-0 = <&fan_pins>;
  120. pinctrl-names = "default";
  121. };
  122. gpio_leds {
  123. compatible = "gpio-leds";
  124. pinctrl-names = "default";
  125. pinctrl-0 = <&led_pins>;
  126. sw_led {
  127. label = "370rd:green:sw";
  128. gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
  129. default-state = "keep";
  130. };
  131. };
  132. nand@d0000 {
  133. status = "okay";
  134. num-cs = <1>;
  135. marvell,nand-keep-config;
  136. marvell,nand-enable-arbiter;
  137. nand-on-flash-bbt;
  138. partition@0 {
  139. label = "U-Boot";
  140. reg = <0 0x800000>;
  141. };
  142. partition@800000 {
  143. label = "Linux";
  144. reg = <0x800000 0x800000>;
  145. };
  146. partition@1000000 {
  147. label = "Filesystem";
  148. reg = <0x1000000 0x3f000000>;
  149. };
  150. };
  151. };
  152. };
  153. };