armada-370-netgear-rn102.dts 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. /*
  2. * Device Tree file for NETGEAR ReadyNAS 102
  3. *
  4. * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
  5. *
  6. * This program is free software; you can redistribute it and/or
  7. * modify it under the terms of the GNU General Public License
  8. * as published by the Free Software Foundation; either version
  9. * 2 of the License, or (at your option) any later version.
  10. */
  11. /dts-v1/;
  12. #include "armada-370.dtsi"
  13. / {
  14. model = "NETGEAR ReadyNAS 102";
  15. compatible = "netgear,readynas-102", "marvell,armada370", "marvell,armada-370-xp";
  16. chosen {
  17. bootargs = "console=ttyS0,115200 earlyprintk";
  18. };
  19. memory {
  20. device_type = "memory";
  21. reg = <0x00000000 0x20000000>; /* 512 MB */
  22. };
  23. soc {
  24. ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000
  25. MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>;
  26. pcie-controller {
  27. status = "okay";
  28. /* Connected to Marvell SATA controller */
  29. pcie@1,0 {
  30. /* Port 0, Lane 0 */
  31. status = "okay";
  32. };
  33. /* Connected to FL1009 USB 3.0 controller */
  34. pcie@2,0 {
  35. /* Port 1, Lane 0 */
  36. status = "okay";
  37. };
  38. };
  39. internal-regs {
  40. serial@12000 {
  41. clock-frequency = <200000000>;
  42. status = "okay";
  43. };
  44. sata@a0000 {
  45. nr-ports = <2>;
  46. status = "okay";
  47. };
  48. pinctrl {
  49. power_led_pin: power-led-pin {
  50. marvell,pins = "mpp57";
  51. marvell,function = "gpio";
  52. };
  53. sata1_led_pin: sata1-led-pin {
  54. marvell,pins = "mpp15";
  55. marvell,function = "gpio";
  56. };
  57. sata2_led_pin: sata2-led-pin {
  58. marvell,pins = "mpp14";
  59. marvell,function = "gpio";
  60. };
  61. backup_led_pin: backup-led-pin {
  62. marvell,pins = "mpp56";
  63. marvell,function = "gpio";
  64. };
  65. poweroff: poweroff {
  66. marvell,pins = "mpp8";
  67. marvell,function = "gpio";
  68. };
  69. };
  70. mdio {
  71. phy0: ethernet-phy@0 {
  72. reg = <0>;
  73. };
  74. };
  75. ethernet@74000 {
  76. status = "okay";
  77. phy = <&phy0>;
  78. phy-mode = "rgmii-id";
  79. };
  80. usb@50000 {
  81. status = "okay";
  82. };
  83. i2c@11000 {
  84. compatible = "marvell,mv64xxx-i2c";
  85. clock-frequency = <100000>;
  86. status = "okay";
  87. g762: g762@3e {
  88. compatible = "gmt,g762";
  89. reg = <0x3e>;
  90. clocks = <&g762_clk>; /* input clock */
  91. fan_gear_mode = <0>;
  92. fan_startv = <1>;
  93. pwm_polarity = <0>;
  94. };
  95. };
  96. };
  97. };
  98. clocks {
  99. #address-cells = <1>;
  100. #size-cells = <0>;
  101. g762_clk: fixedclk {
  102. compatible = "fixed-clock";
  103. #clock-cells = <0>;
  104. clock-frequency = <8192>;
  105. };
  106. };
  107. gpio_leds {
  108. compatible = "gpio-leds";
  109. pinctrl-0 = < &power_led_pin
  110. &sata1_led_pin
  111. &sata2_led_pin
  112. &backup_led_pin >;
  113. pinctrl-names = "default";
  114. blue_power_led {
  115. label = "rn102:blue:pwr";
  116. gpios = <&gpio1 25 1>; /* GPIO 57 Active Low */
  117. linux,default-trigger = "heartbeat";
  118. };
  119. green_sata1_led {
  120. label = "rn102:green:sata1";
  121. gpios = <&gpio0 15 1>; /* GPIO 15 Active Low */
  122. default-state = "on";
  123. };
  124. green_sata2_led {
  125. label = "rn102:green:sata2";
  126. gpios = <&gpio0 14 1>; /* GPIO 14 Active Low */
  127. default-state = "on";
  128. };
  129. green_backup_led {
  130. label = "rn102:green:backup";
  131. gpios = <&gpio1 24 1>; /* GPIO 56 Active Low */
  132. default-state = "on";
  133. };
  134. };
  135. gpio_keys {
  136. compatible = "gpio-keys";
  137. #address-cells = <1>;
  138. #size-cells = <0>;
  139. button@1 {
  140. label = "Power Button";
  141. linux,code = <116>; /* KEY_POWER */
  142. gpios = <&gpio1 30 0>;
  143. };
  144. button@2 {
  145. label = "Reset Button";
  146. linux,code = <0x198>; /* KEY_RESTART */
  147. gpios = <&gpio0 6 1>;
  148. };
  149. button@3 {
  150. label = "Backup Button";
  151. linux,code = <133>; /* KEY_COPY */
  152. gpios = <&gpio1 26 1>;
  153. };
  154. };
  155. gpio_poweroff {
  156. compatible = "gpio-poweroff";
  157. pinctrl-0 = <&poweroff>;
  158. pinctrl-names = "default";
  159. gpios = <&gpio0 8 1>;
  160. };
  161. };