armada-370-seagate-nas-xbay.dtsi 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Device Tree common file for the Seagate NAS 2 and 4-bay (Armada 370 SoC).
  4. *
  5. * Copyright (C) 2015 Seagate
  6. *
  7. * Author: Vincent Donnefort <[email protected]>
  8. */
  9. /*
  10. * TODO: add support for the white SATA LEDs associated with HDD 0 and 1.
  11. */
  12. #include "armada-370.dtsi"
  13. #include <dt-bindings/gpio/gpio.h>
  14. #include <dt-bindings/input/input.h>
  15. / {
  16. chosen {
  17. stdout-path = "serial0:115200n8";
  18. };
  19. memory@0 {
  20. device_type = "memory";
  21. reg = <0x00000000 0x20000000>; /* 512 MB */
  22. };
  23. soc {
  24. ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
  25. MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>;
  26. internal-regs {
  27. serial@12000 {
  28. status = "okay";
  29. };
  30. sata@a0000 {
  31. nr-ports = <2>;
  32. status = "okay";
  33. };
  34. ethernet@70000 {
  35. status = "okay";
  36. pinctrl-0 = <&ge0_rgmii_pins>;
  37. pinctrl-names = "default";
  38. phy = <&phy0>;
  39. phy-mode = "rgmii-id";
  40. };
  41. i2c@11000 {
  42. status = "okay";
  43. pinctrl-0 = <&i2c0_pins>;
  44. pinctrl-names = "default";
  45. clock-frequency = <100000>;
  46. /* RTC - NXP 8563T (second source) */
  47. rtc@51 {
  48. compatible = "nxp,pcf8563";
  49. reg = <0x51>;
  50. interrupts = <110>;
  51. };
  52. /* RTC - MCP7940NT */
  53. rtc@6f {
  54. compatible = "microchip,mcp7941x";
  55. reg = <0x6f>;
  56. interrupts = <110>;
  57. };
  58. };
  59. };
  60. };
  61. regulators {
  62. compatible = "simple-bus";
  63. #address-cells = <1>;
  64. #size-cells = <0>;
  65. pinctrl-names = "default";
  66. regulator@1 {
  67. compatible = "regulator-fixed";
  68. reg = <1>;
  69. regulator-name = "SATA0 power";
  70. regulator-min-microvolt = <5000000>;
  71. regulator-max-microvolt = <5000000>;
  72. enable-active-high;
  73. regulator-always-on;
  74. regulator-boot-on;
  75. gpio = <&gpio1 18 GPIO_ACTIVE_HIGH>;
  76. };
  77. regulator@2 {
  78. compatible = "regulator-fixed";
  79. reg = <2>;
  80. regulator-name = "SATA1 power";
  81. regulator-min-microvolt = <5000000>;
  82. regulator-max-microvolt = <5000000>;
  83. enable-active-high;
  84. regulator-always-on;
  85. regulator-boot-on;
  86. gpio = <&gpio1 22 GPIO_ACTIVE_HIGH>;
  87. };
  88. };
  89. gpio-fan {
  90. compatible = "gpio-fan";
  91. gpios = <&gpio2 0 GPIO_ACTIVE_HIGH
  92. &gpio2 1 GPIO_ACTIVE_HIGH>;
  93. };
  94. gpio-keys {
  95. compatible = "gpio-keys";
  96. button-power {
  97. label = "Power button";
  98. linux,code = <KEY_POWER>;
  99. gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
  100. debounce-interval = <100>;
  101. };
  102. button-backup {
  103. label = "Backup button";
  104. linux,code = <KEY_OPTION>;
  105. gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
  106. debounce-interval = <100>;
  107. };
  108. button-reset {
  109. label = "Reset Button";
  110. linux,code = <KEY_RESTART>;
  111. gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
  112. debounce-interval = <100>;
  113. };
  114. };
  115. gpio-leds {
  116. compatible = "gpio-leds";
  117. white-power {
  118. label = "dart:white:power";
  119. gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
  120. linux,default-trigger = "timer";
  121. };
  122. red-power {
  123. label = "dart:red:power";
  124. gpios = <&gpio1 31 GPIO_ACTIVE_HIGH>;
  125. };
  126. red-sata0 {
  127. label = "dart:red:sata0";
  128. gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
  129. };
  130. red-sata1 {
  131. label = "dart:red:sata1";
  132. gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
  133. };
  134. };
  135. gpio_poweroff {
  136. compatible = "gpio-poweroff";
  137. gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
  138. };
  139. };
  140. &pciec {
  141. status = "okay";
  142. /* USB 3.0 bridge ASM1042A */
  143. pcie@2,0 {
  144. status = "okay";
  145. };
  146. };
  147. &mdio {
  148. pinctrl-0 = <&mdio_pins>;
  149. pinctrl-names = "default";
  150. phy0: ethernet-phy@0 {
  151. reg = <0>;
  152. };
  153. };
  154. &pinctrl {
  155. pinctrl-0 = <&hdd0_led_sata_pin>, <&hdd1_led_sata_pin>;
  156. pinctrl-names = "default";
  157. hdd0_led_sata_pin: hdd0-led-sata-pin {
  158. marvell,pins = "mpp48";
  159. marvell,function = "sata1";
  160. };
  161. hdd0_led_gpio_pin: hdd0-led-gpio-pin {
  162. marvell,pins = "mpp48";
  163. marvell,function = "gpio";
  164. };
  165. hdd1_led_sata_pin: hdd1-led-sata-pin {
  166. marvell,pins = "mpp57";
  167. marvell,function = "sata0";
  168. };
  169. hdd1_led_gpio_pin: hdd1-led-gpio-pin {
  170. marvell,pins = "mpp57";
  171. marvell,function = "gpio";
  172. };
  173. };
  174. &nand_controller {
  175. status = "okay";
  176. nand@0 {
  177. reg = <0>;
  178. label = "pxa3xx_nand-0";
  179. nand-rb = <0>;
  180. marvell,nand-keep-config;
  181. nand-on-flash-bbt;
  182. nand-ecc-strength = <4>;
  183. nand-ecc-step-size = <512>;
  184. partitions {
  185. compatible = "fixed-partitions";
  186. #address-cells = <1>;
  187. #size-cells = <1>;
  188. partition@0 {
  189. label = "u-boot";
  190. reg = <0x0 0x300000>;
  191. };
  192. partition@300000 {
  193. label = "device-tree";
  194. reg = <0x300000 0x20000>;
  195. };
  196. partition@320000 {
  197. label = "linux";
  198. reg = <0x320000 0x2000000>;
  199. };
  200. partition@2320000 {
  201. label = "rootfs";
  202. reg = <0x2320000 0xdce0000>;
  203. };
  204. };
  205. };
  206. };