armada-370-netgear-rn104.dts 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. /*
  2. * Device Tree file for NETGEAR ReadyNAS 104
  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 104";
  15. compatible = "netgear,readynas-104", "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 FL1009 USB 3.0 controller */
  29. pcie@1,0 {
  30. /* Port 0, Lane 0 */
  31. status = "okay";
  32. };
  33. /* Connected to Marvell 88SE9215 SATA 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. pinctrl {
  45. poweroff: poweroff {
  46. marvell,pins = "mpp60";
  47. marvell,function = "gpio";
  48. };
  49. backup_key_pin: backup-key-pin {
  50. marvell,pins = "mpp52";
  51. marvell,function = "gpio";
  52. };
  53. power_key_pin: power-key-pin {
  54. marvell,pins = "mpp62";
  55. marvell,function = "gpio";
  56. };
  57. backup_led_pin: backup-led-pin {
  58. marvell,pins = "mpp63";
  59. marvell,function = "gpo";
  60. };
  61. power_led_pin: power-led-pin {
  62. marvell,pins = "mpp64";
  63. marvell,function = "gpio";
  64. };
  65. reset_key_pin: reset-key-pin {
  66. marvell,pins = "mpp65";
  67. marvell,function = "gpio";
  68. };
  69. };
  70. mdio {
  71. phy0: ethernet-phy@0 {
  72. reg = <0>;
  73. };
  74. phy1: ethernet-phy@1 {
  75. reg = <1>;
  76. };
  77. };
  78. ethernet@70000 {
  79. status = "okay";
  80. phy = <&phy0>;
  81. phy-mode = "rgmii-id";
  82. };
  83. ethernet@74000 {
  84. status = "okay";
  85. phy = <&phy1>;
  86. phy-mode = "rgmii-id";
  87. };
  88. usb@50000 {
  89. status = "okay";
  90. };
  91. i2c@11000 {
  92. compatible = "marvell,mv64xxx-i2c";
  93. clock-frequency = <100000>;
  94. status = "okay";
  95. g762: g762@3e {
  96. compatible = "gmt,g762";
  97. reg = <0x3e>;
  98. clocks = <&g762_clk>; /* input clock */
  99. fan_gear_mode = <0>;
  100. fan_startv = <1>;
  101. pwm_polarity = <0>;
  102. };
  103. };
  104. };
  105. };
  106. clocks {
  107. #address-cells = <1>;
  108. #size-cells = <0>;
  109. g762_clk: fixedclk {
  110. compatible = "fixed-clock";
  111. #clock-cells = <0>;
  112. clock-frequency = <8192>;
  113. };
  114. };
  115. gpio_leds {
  116. compatible = "gpio-leds";
  117. pinctrl-0 = <&backup_led_pin &power_led_pin>;
  118. pinctrl-names = "default";
  119. blue_backup_led {
  120. label = "rn104:blue:backup";
  121. gpios = <&gpio1 31 0>; /* GPIO 63 Active High */
  122. default-state = "off";
  123. };
  124. blue_power_led {
  125. label = "rn104:blue:pwr";
  126. gpios = <&gpio2 0 1>; /* GPIO 64 Active Low */
  127. linux,default-trigger = "keep";
  128. };
  129. };
  130. gpio_keys {
  131. compatible = "gpio-keys";
  132. #address-cells = <1>;
  133. #size-cells = <0>;
  134. pinctrl-0 = <&backup_key_pin
  135. &power_key_pin
  136. &reset_key_pin>;
  137. pinctrl-names = "default";
  138. button@1 {
  139. label = "Backup Button";
  140. linux,code = <133>; /* KEY_COPY */
  141. gpios = <&gpio1 20 1>;
  142. };
  143. button@2 {
  144. label = "Power Button";
  145. linux,code = <116>; /* KEY_POWER */
  146. gpios = <&gpio1 30 0>;
  147. };
  148. button@3 {
  149. label = "Reset Button";
  150. linux,code = <0x198>; /* KEY_RESTART */
  151. gpios = <&gpio2 1 1>;
  152. };
  153. };
  154. gpio_poweroff {
  155. compatible = "gpio-poweroff";
  156. pinctrl-0 = <&poweroff>;
  157. pinctrl-names = "default";
  158. gpios = <&gpio1 28 1>;
  159. };
  160. };