armada-xp-netgear-rn2120.dts 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Device Tree file for NETGEAR ReadyNAS 2120
  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-xp-mv78230.dtsi"
  11. / {
  12. model = "NETGEAR ReadyNAS 2120";
  13. compatible = "netgear,readynas-2120", "marvell,armadaxp-mv78230", "marvell,armadaxp", "marvell,armada-370-xp";
  14. chosen {
  15. stdout-path = "serial0:115200n8";
  16. };
  17. memory@0 {
  18. device_type = "memory";
  19. reg = <0 0x00000000 0 0x80000000>; /* 2GB */
  20. };
  21. soc {
  22. ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xd0000000 0x100000
  23. MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
  24. MBUS_ID(0x09, 0x09) 0 0 0xf1100000 0x10000
  25. MBUS_ID(0x09, 0x05) 0 0 0xf1110000 0x10000>;
  26. internal-regs {
  27. /* RTC is provided by Intersil ISL12057 I2C RTC chip */
  28. rtc@10300 {
  29. status = "disabled";
  30. };
  31. i2c@11000 {
  32. clock-frequency = <400000>;
  33. status = "okay";
  34. /* Controller for rear fan #1 of 3 (Protechnic
  35. * MGT4012XB-O20, 8000RPM) near eSATA port */
  36. g762_fan1: g762@3e {
  37. compatible = "gmt,g762";
  38. reg = <0x3e>;
  39. clocks = <&g762_clk>; /* input clock */
  40. fan_gear_mode = <0>;
  41. fan_startv = <1>;
  42. pwm_polarity = <0>;
  43. };
  44. /* Controller for rear (center) fan #2 of 3 */
  45. g762_fan2: g762@48 {
  46. compatible = "gmt,g762";
  47. reg = <0x48>;
  48. clocks = <&g762_clk>; /* input clock */
  49. fan_gear_mode = <0>;
  50. fan_startv = <1>;
  51. pwm_polarity = <0>;
  52. };
  53. /* Controller for rear fan #3 of 3 */
  54. g762_fan3: g762@49 {
  55. compatible = "gmt,g762";
  56. reg = <0x49>;
  57. clocks = <&g762_clk>; /* input clock */
  58. fan_gear_mode = <0>;
  59. fan_startv = <1>;
  60. pwm_polarity = <0>;
  61. };
  62. /* Temperature sensor */
  63. g751: g751@4c {
  64. compatible = "gmt,g751";
  65. reg = <0x4c>;
  66. };
  67. isl12057: rtc@68 {
  68. compatible = "isil,isl12057";
  69. reg = <0x68>;
  70. wakeup-source;
  71. };
  72. };
  73. serial@12000 {
  74. status = "okay";
  75. };
  76. /* Front USB 2.0 port */
  77. usb@50000 {
  78. status = "okay";
  79. };
  80. ethernet@70000 {
  81. pinctrl-0 = <&ge0_rgmii_pins>;
  82. pinctrl-names = "default";
  83. status = "okay";
  84. phy = <&phy0>;
  85. phy-mode = "rgmii-id";
  86. };
  87. ethernet@74000 {
  88. pinctrl-0 = <&ge1_rgmii_pins>;
  89. pinctrl-names = "default";
  90. status = "okay";
  91. phy = <&phy1>;
  92. phy-mode = "rgmii-id";
  93. };
  94. /* Two rear eSATA ports */
  95. sata@a0000 {
  96. nr-ports = <2>;
  97. status = "okay";
  98. };
  99. };
  100. };
  101. clocks {
  102. g762_clk: g762-oscillator {
  103. compatible = "fixed-clock";
  104. #clock-cells = <0>;
  105. clock-frequency = <32768>;
  106. };
  107. };
  108. gpio-leds {
  109. compatible = "gpio-leds";
  110. pinctrl-0 = <&sata1_led_pin &sata2_led_pin &err_led_pin
  111. &sata3_led_pin &sata4_led_pin>;
  112. pinctrl-names = "default";
  113. red-sata1-led {
  114. label = "rn2120:red:sata1";
  115. gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>;
  116. default-state = "off";
  117. };
  118. red-sata2-led {
  119. label = "rn2120:red:sata2";
  120. gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
  121. default-state = "off";
  122. };
  123. red-sata3-led {
  124. label = "rn2120:red:sata3";
  125. gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
  126. default-state = "off";
  127. };
  128. red-sata4-led {
  129. label = "rn2120:red:sata4";
  130. gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
  131. default-state = "off";
  132. };
  133. red-err-led {
  134. label = "rn2120:red:err";
  135. gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
  136. default-state = "off";
  137. };
  138. };
  139. gpio-keys {
  140. compatible = "gpio-keys";
  141. pinctrl-0 = <&power_button_pin &reset_button_pin>;
  142. pinctrl-names = "default";
  143. power-button {
  144. label = "Power Button";
  145. linux,code = <KEY_POWER>;
  146. gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
  147. };
  148. reset-button {
  149. label = "Reset Button";
  150. linux,code = <KEY_RESTART>;
  151. gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
  152. };
  153. };
  154. gpio-poweroff {
  155. compatible = "gpio-poweroff";
  156. pinctrl-0 = <&poweroff>;
  157. pinctrl-names = "default";
  158. gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
  159. };
  160. };
  161. &pciec {
  162. status = "okay";
  163. /* Connected to first Marvell 88SE9170 SATA controller */
  164. pcie@1,0 {
  165. /* Port 0, Lane 0 */
  166. status = "okay";
  167. };
  168. /* Connected to second Marvell 88SE9170 SATA controller */
  169. pcie@2,0 {
  170. /* Port 0, Lane 1 */
  171. status = "okay";
  172. };
  173. /* Connected to Fresco Logic FL1009 USB 3.0 controller */
  174. pcie@5,0 {
  175. /* Port 1, Lane 0 */
  176. status = "okay";
  177. };
  178. };
  179. &mdio {
  180. phy0: ethernet-phy@0 { /* Marvell 88E1318 */
  181. reg = <0>;
  182. };
  183. phy1: ethernet-phy@1 { /* Marvell 88E1318 */
  184. reg = <1>;
  185. };
  186. };
  187. &pinctrl {
  188. poweroff: poweroff {
  189. marvell,pins = "mpp42";
  190. marvell,function = "gpio";
  191. };
  192. power_button_pin: power-button-pin {
  193. marvell,pins = "mpp27";
  194. marvell,function = "gpio";
  195. };
  196. reset_button_pin: reset-button-pin {
  197. marvell,pins = "mpp41";
  198. marvell,function = "gpio";
  199. };
  200. sata1_led_pin: sata1-led-pin {
  201. marvell,pins = "mpp31";
  202. marvell,function = "gpio";
  203. };
  204. sata2_led_pin: sata2-led-pin {
  205. marvell,pins = "mpp40";
  206. marvell,function = "gpio";
  207. };
  208. sata3_led_pin: sata3-led-pin {
  209. marvell,pins = "mpp44";
  210. marvell,function = "gpio";
  211. };
  212. sata4_led_pin: sata4-led-pin {
  213. marvell,pins = "mpp47";
  214. marvell,function = "gpio";
  215. };
  216. sata1_power_pin: sata1-power-pin {
  217. marvell,pins = "mpp24";
  218. marvell,function = "gpio";
  219. };
  220. sata2_power_pin: sata2-power-pin {
  221. marvell,pins = "mpp25";
  222. marvell,function = "gpio";
  223. };
  224. sata3_power_pin: sata3-power-pin {
  225. marvell,pins = "mpp26";
  226. marvell,function = "gpio";
  227. };
  228. sata4_power_pin: sata4-power-pin {
  229. marvell,pins = "mpp28";
  230. marvell,function = "gpio";
  231. };
  232. sata1_pres_pin: sata1-pres-pin {
  233. marvell,pins = "mpp32";
  234. marvell,function = "gpio";
  235. };
  236. sata2_pres_pin: sata2-pres-pin {
  237. marvell,pins = "mpp33";
  238. marvell,function = "gpio";
  239. };
  240. sata3_pres_pin: sata3-pres-pin {
  241. marvell,pins = "mpp34";
  242. marvell,function = "gpio";
  243. };
  244. sata4_pres_pin: sata4-pres-pin {
  245. marvell,pins = "mpp35";
  246. marvell,function = "gpio";
  247. };
  248. err_led_pin: err-led-pin {
  249. marvell,pins = "mpp45";
  250. marvell,function = "gpio";
  251. };
  252. };
  253. &nand_controller {
  254. status = "okay";
  255. nand@0 {
  256. reg = <0>;
  257. label = "pxa3xx_nand-0";
  258. nand-rb = <0>;
  259. marvell,nand-keep-config;
  260. nand-on-flash-bbt;
  261. /* Use Hardware BCH ECC */
  262. nand-ecc-strength = <4>;
  263. nand-ecc-step-size = <512>;
  264. partitions {
  265. compatible = "fixed-partitions";
  266. #address-cells = <1>;
  267. #size-cells = <1>;
  268. partition@0 {
  269. label = "u-boot";
  270. reg = <0x0000000 0x180000>; /* 1.5MB */
  271. read-only;
  272. };
  273. partition@180000 {
  274. label = "u-boot-env";
  275. reg = <0x180000 0x20000>; /* 128KB */
  276. read-only;
  277. };
  278. partition@200000 {
  279. label = "uImage";
  280. reg = <0x0200000 0x600000>; /* 6MB */
  281. };
  282. partition@800000 {
  283. label = "minirootfs";
  284. reg = <0x0800000 0x400000>; /* 4MB */
  285. };
  286. /* Last MB is for the BBT, i.e. not writable */
  287. partition@c00000 {
  288. label = "ubifs";
  289. reg = <0x0c00000 0x7400000>; /* 116MB */
  290. };
  291. };
  292. };
  293. };