kirkwood-nsa320.dts 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. /* Device tree file for the Zyxel NSA 320 NAS box.
  2. *
  3. * Copyright (c) 2014, Adam Baker <linux@baker-net.org.uk>
  4. *
  5. * This program is free software; you can redistribute it and/or
  6. * modify it under the terms of the GNU General Public License
  7. * as published by the Free Software Foundation; either version
  8. * 2 of the License, or (at your option) any later version.
  9. *
  10. * Based upon the board setup file created by Peter Schildmann */
  11. /dts-v1/;
  12. #include "kirkwood-nsa3x0-common.dtsi"
  13. / {
  14. model = "Zyxel NSA320";
  15. compatible = "zyxel,nsa320", "marvell,kirkwood-88f6281", "marvell,kirkwood";
  16. memory {
  17. device_type = "memory";
  18. reg = <0x00000000 0x20000000>;
  19. };
  20. chosen {
  21. bootargs = "console=ttyS0,115200";
  22. stdout-path = &uart0;
  23. };
  24. mbus {
  25. pcie-controller {
  26. status = "okay";
  27. pcie@1,0 {
  28. status = "okay";
  29. };
  30. };
  31. };
  32. ocp@f1000000 {
  33. pinctrl: pin-controller@10000 {
  34. pinctrl-names = "default";
  35. /* SATA Activity and Present pins are not connected */
  36. pmx_sata0: pmx-sata0 {
  37. marvell,pins ;
  38. marvell,function = "sata0";
  39. };
  40. pmx_sata1: pmx-sata1 {
  41. marvell,pins ;
  42. marvell,function = "sata1";
  43. };
  44. pmx_led_hdd2_green: pmx-led-hdd2-green {
  45. marvell,pins = "mpp12";
  46. marvell,function = "gpio";
  47. };
  48. pmx_led_hdd2_red: pmx-led-hdd2-red {
  49. marvell,pins = "mpp13";
  50. marvell,function = "gpio";
  51. };
  52. pmx_mcu_data: pmx-mcu-data {
  53. marvell,pins = "mpp14";
  54. marvell,function = "gpio";
  55. };
  56. pmx_led_usb_green: pmx-led-usb-green {
  57. marvell,pins = "mpp15";
  58. marvell,function = "gpio";
  59. };
  60. pmx_mcu_clk: pmx-mcu-clk {
  61. marvell,pins = "mpp16";
  62. marvell,function = "gpio";
  63. };
  64. pmx_mcu_act: pmx-mcu-act {
  65. marvell,pins = "mpp17";
  66. marvell,function = "gpio";
  67. };
  68. pmx_led_sys_green: pmx-led-sys-green {
  69. marvell,pins = "mpp28";
  70. marvell,function = "gpio";
  71. };
  72. pmx_led_sys_orange: pmx-led-sys-orange {
  73. marvell,pins = "mpp29";
  74. marvell,function = "gpio";
  75. };
  76. pmx_led_hdd1_green: pmx-led-hdd1-green {
  77. marvell,pins = "mpp41";
  78. marvell,function = "gpio";
  79. };
  80. pmx_led_hdd1_red: pmx-led-hdd1-red {
  81. marvell,pins = "mpp42";
  82. marvell,function = "gpio";
  83. };
  84. pmx_htp: pmx-htp {
  85. marvell,pins = "mpp43";
  86. marvell,function = "gpio";
  87. };
  88. /* Buzzer needs to be switched at around 1kHz so is
  89. not compatible with the gpio-beeper driver. */
  90. pmx_buzzer: pmx-buzzer {
  91. marvell,pins = "mpp44";
  92. marvell,function = "gpio";
  93. };
  94. pmx_vid_b1: pmx-vid-b1 {
  95. marvell,pins = "mpp45";
  96. marvell,function = "gpio";
  97. };
  98. pmx_power_resume_data: pmx-power-resume-data {
  99. marvell,pins = "mpp47";
  100. marvell,function = "gpio";
  101. };
  102. pmx_power_resume_clk: pmx-power-resume-clk {
  103. marvell,pins = "mpp49";
  104. marvell,function = "gpio";
  105. };
  106. };
  107. i2c@11000 {
  108. status = "okay";
  109. pcf8563: pcf8563@51 {
  110. compatible = "nxp,pcf8563";
  111. reg = <0x51>;
  112. };
  113. };
  114. };
  115. regulators {
  116. usb0_power: regulator@1 {
  117. enable-active-high;
  118. };
  119. };
  120. gpio-leds {
  121. compatible = "gpio-leds";
  122. pinctrl-0 = <&pmx_led_hdd2_green &pmx_led_hdd2_red
  123. &pmx_led_usb_green
  124. &pmx_led_sys_green &pmx_led_sys_orange
  125. &pmx_led_copy_green &pmx_led_copy_red
  126. &pmx_led_hdd1_green &pmx_led_hdd1_red>;
  127. pinctrl-names = "default";
  128. green-sys {
  129. label = "nsa320:green:sys";
  130. gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
  131. };
  132. orange-sys {
  133. label = "nsa320:orange:sys";
  134. gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
  135. };
  136. green-hdd1 {
  137. label = "nsa320:green:hdd1";
  138. gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
  139. };
  140. red-hdd1 {
  141. label = "nsa320:red:hdd1";
  142. gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
  143. };
  144. green-hdd2 {
  145. label = "nsa320:green:hdd2";
  146. gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
  147. };
  148. red-hdd2 {
  149. label = "nsa320:red:hdd2";
  150. gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
  151. };
  152. green-usb {
  153. label = "nsa320:green:usb";
  154. gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
  155. };
  156. green-copy {
  157. label = "nsa320:green:copy";
  158. gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
  159. };
  160. red-copy {
  161. label = "nsa320:red:copy";
  162. gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
  163. };
  164. };
  165. /* The following pins are currently not assigned to a driver,
  166. some of them should be configured as inputs.
  167. pinctrl-0 = <&pmx_mcu_data &pmx_mcu_clk &pmx_mcu_act
  168. &pmx_htp &pmx_vid_b1
  169. &pmx_power_resume_data &pmx_power_resume_clk>; */
  170. };
  171. &mdio {
  172. status = "okay";
  173. ethphy0: ethernet-phy@1 {
  174. reg = <1>;
  175. };
  176. };
  177. &eth0 {
  178. status = "okay";
  179. ethernet0-port@0 {
  180. phy-handle = <&ethphy0>;
  181. };
  182. };