armada-370-netgear-rn102.dts 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Device Tree file for NETGEAR ReadyNAS 102
  4. *
  5. * Copyright (C) 2013, Arnaud EBALARD <[email protected]>
  6. */
  7. /dts-v1/;
  8. #include <dt-bindings/input/input.h>
  9. #include <dt-bindings/gpio/gpio.h>
  10. #include "armada-370.dtsi"
  11. / {
  12. model = "NETGEAR ReadyNAS 102";
  13. compatible = "netgear,readynas-102", "marvell,armada370", "marvell,armada-370-xp";
  14. chosen {
  15. stdout-path = "serial0:115200n8";
  16. };
  17. memory@0 {
  18. device_type = "memory";
  19. reg = <0x00000000 0x20000000>; /* 512 MB */
  20. };
  21. soc {
  22. ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000
  23. MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000
  24. MBUS_ID(0x09, 0x01) 0 0xf1100000 0x10000>;
  25. internal-regs {
  26. /* RTC is provided by Intersil ISL12057 I2C RTC chip */
  27. rtc@10300 {
  28. status = "disabled";
  29. };
  30. serial@12000 {
  31. status = "okay";
  32. };
  33. /* eSATA interface */
  34. sata@a0000 {
  35. nr-ports = <1>;
  36. status = "okay";
  37. };
  38. ethernet@74000 {
  39. pinctrl-0 = <&ge1_rgmii_pins>;
  40. pinctrl-names = "default";
  41. status = "okay";
  42. phy = <&phy0>;
  43. phy-mode = "rgmii-id";
  44. };
  45. usb@50000 {
  46. status = "okay";
  47. };
  48. i2c@11000 {
  49. clock-frequency = <100000>;
  50. pinctrl-0 = <&i2c0_pins>;
  51. pinctrl-names = "default";
  52. status = "okay";
  53. isl12057: rtc@68 {
  54. compatible = "isil,isl12057";
  55. reg = <0x68>;
  56. wakeup-source;
  57. };
  58. g762: g762@3e {
  59. compatible = "gmt,g762";
  60. reg = <0x3e>;
  61. clocks = <&g762_clk>; /* input clock */
  62. fan_gear_mode = <0>;
  63. fan_startv = <1>;
  64. pwm_polarity = <0>;
  65. };
  66. };
  67. };
  68. };
  69. clocks {
  70. g762_clk: g762-oscillator {
  71. compatible = "fixed-clock";
  72. #clock-cells = <0>;
  73. clock-frequency = <8192>;
  74. };
  75. };
  76. gpio-leds {
  77. compatible = "gpio-leds";
  78. pinctrl-0 = <&power_led_pin
  79. &sata1_led_pin
  80. &sata2_led_pin
  81. &backup_led_pin>;
  82. pinctrl-names = "default";
  83. blue-power-led {
  84. label = "rn102:blue:pwr";
  85. gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
  86. default-state = "keep";
  87. };
  88. blue-sata1-led {
  89. label = "rn102:blue:sata1";
  90. gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
  91. default-state = "on";
  92. };
  93. blue-sata2-led {
  94. label = "rn102:blue:sata2";
  95. gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
  96. default-state = "on";
  97. };
  98. blue-backup-led {
  99. label = "rn102:blue:backup";
  100. gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
  101. default-state = "on";
  102. };
  103. };
  104. gpio-keys {
  105. compatible = "gpio-keys";
  106. pinctrl-0 = <&power_button_pin
  107. &reset_button_pin
  108. &backup_button_pin>;
  109. pinctrl-names = "default";
  110. power-button {
  111. label = "Power Button";
  112. linux,code = <KEY_POWER>;
  113. gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>;
  114. };
  115. reset-button {
  116. label = "Reset Button";
  117. linux,code = <KEY_RESTART>;
  118. gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
  119. };
  120. backup-button {
  121. label = "Backup Button";
  122. linux,code = <KEY_COPY>;
  123. gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
  124. };
  125. };
  126. gpio-poweroff {
  127. compatible = "gpio-poweroff";
  128. pinctrl-0 = <&poweroff>;
  129. pinctrl-names = "default";
  130. gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
  131. };
  132. };
  133. &pciec {
  134. status = "okay";
  135. /* Connected to Marvell 88SE9170 SATA controller */
  136. pcie@1,0 {
  137. /* Port 0, Lane 0 */
  138. status = "okay";
  139. };
  140. /* Connected to FL1009 USB 3.0 controller */
  141. pcie@2,0 {
  142. /* Port 1, Lane 0 */
  143. status = "okay";
  144. };
  145. };
  146. &mdio {
  147. pinctrl-0 = <&mdio_pins>;
  148. pinctrl-names = "default";
  149. phy0: ethernet-phy@0 { /* Marvell 88E1318 */
  150. reg = <0>;
  151. };
  152. };
  153. &pinctrl {
  154. power_led_pin: power-led-pin {
  155. marvell,pins = "mpp57";
  156. marvell,function = "gpio";
  157. };
  158. sata1_led_pin: sata1-led-pin {
  159. marvell,pins = "mpp15";
  160. marvell,function = "gpio";
  161. };
  162. sata2_led_pin: sata2-led-pin {
  163. marvell,pins = "mpp14";
  164. marvell,function = "gpio";
  165. };
  166. backup_led_pin: backup-led-pin {
  167. marvell,pins = "mpp56";
  168. marvell,function = "gpio";
  169. };
  170. backup_button_pin: backup-button-pin {
  171. marvell,pins = "mpp58";
  172. marvell,function = "gpio";
  173. };
  174. power_button_pin: power-button-pin {
  175. marvell,pins = "mpp62";
  176. marvell,function = "gpio";
  177. };
  178. reset_button_pin: reset-button-pin {
  179. marvell,pins = "mpp6";
  180. marvell,function = "gpio";
  181. };
  182. poweroff: poweroff {
  183. marvell,pins = "mpp8";
  184. marvell,function = "gpio";
  185. };
  186. };
  187. &nand_controller {
  188. status = "okay";
  189. nand@0 {
  190. reg = <0>;
  191. label = "pxa3xx_nand-0";
  192. nand-rb = <0>;
  193. marvell,nand-keep-config;
  194. nand-on-flash-bbt;
  195. /* Use Hardware BCH ECC */
  196. nand-ecc-strength = <4>;
  197. nand-ecc-step-size = <512>;
  198. partitions {
  199. compatible = "fixed-partitions";
  200. #address-cells = <1>;
  201. #size-cells = <1>;
  202. partition@0 {
  203. label = "u-boot";
  204. reg = <0x0000000 0x180000>; /* 1.5MB */
  205. read-only;
  206. };
  207. partition@180000 {
  208. label = "u-boot-env";
  209. reg = <0x180000 0x20000>; /* 128KB */
  210. read-only;
  211. };
  212. partition@200000 {
  213. label = "uImage";
  214. reg = <0x0200000 0x600000>; /* 6MB */
  215. };
  216. partition@800000 {
  217. label = "minirootfs";
  218. reg = <0x0800000 0x400000>; /* 4MB */
  219. };
  220. /* Last MB is for the BBT, i.e. not writable */
  221. partition@c00000 {
  222. label = "ubifs";
  223. reg = <0x0c00000 0x7400000>; /* 116MB */
  224. };
  225. };
  226. };
  227. };