kirkwood-nsa310.dts 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. /dts-v1/;
  2. #include "kirkwood.dtsi"
  3. #include "kirkwood-6281.dtsi"
  4. / {
  5. model = "ZyXEL NSA310";
  6. compatible = "zyxel,nsa310", "marvell,kirkwood-88f6281", "marvell,kirkwood";
  7. memory {
  8. device_type = "memory";
  9. reg = <0x00000000 0x10000000>;
  10. };
  11. chosen {
  12. bootargs = "console=ttyS0,115200";
  13. };
  14. mbus {
  15. ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>;
  16. pcie-controller {
  17. status = "okay";
  18. pcie@1,0 {
  19. status = "okay";
  20. };
  21. };
  22. };
  23. ocp@f1000000 {
  24. pinctrl: pinctrl@10000 {
  25. pinctrl-0 = <&pmx_unknown>;
  26. pinctrl-names = "default";
  27. pmx_led_esata_green: pmx-led-esata-green {
  28. marvell,pins = "mpp12";
  29. marvell,function = "gpio";
  30. };
  31. pmx_led_esata_red: pmx-led-esata-red {
  32. marvell,pins = "mpp13";
  33. marvell,function = "gpio";
  34. };
  35. pmx_led_usb_green: pmx-led-usb-green {
  36. marvell,pins = "mpp15";
  37. marvell,function = "gpio";
  38. };
  39. pmx_led_usb_red: pmx-led-usb-red {
  40. marvell,pins = "mpp16";
  41. marvell,function = "gpio";
  42. };
  43. pmx_usb_power_off: pmx-usb-power-off {
  44. marvell,pins = "mpp21";
  45. marvell,function = "gpio";
  46. };
  47. pmx_led_sys_green: pmx-led-sys-green {
  48. marvell,pins = "mpp28";
  49. marvell,function = "gpio";
  50. };
  51. pmx_led_sys_red: pmx-led-sys-red {
  52. marvell,pins = "mpp29";
  53. marvell,function = "gpio";
  54. };
  55. pmx_btn_reset: pmx-btn-reset {
  56. marvell,pins = "mpp36";
  57. marvell,function = "gpio";
  58. };
  59. pmx_btn_copy: pmx-btn-copy {
  60. marvell,pins = "mpp37";
  61. marvell,function = "gpio";
  62. };
  63. pmx_led_copy_green: pmx-led-copy-green {
  64. marvell,pins = "mpp39";
  65. marvell,function = "gpio";
  66. };
  67. pmx_led_copy_red: pmx-led-copy-red {
  68. marvell,pins = "mpp40";
  69. marvell,function = "gpio";
  70. };
  71. pmx_led_hdd_green: pmx-led-hdd-green {
  72. marvell,pins = "mpp41";
  73. marvell,function = "gpio";
  74. };
  75. pmx_led_hdd_red: pmx-led-hdd-red {
  76. marvell,pins = "mpp42";
  77. marvell,function = "gpio";
  78. };
  79. pmx_unknown: pmx-unknown {
  80. marvell,pins = "mpp44";
  81. marvell,function = "gpio";
  82. };
  83. pmx_btn_power: pmx-btn-power {
  84. marvell,pins = "mpp46";
  85. marvell,function = "gpio";
  86. };
  87. pmx_pwr_off: pmx-pwr-off {
  88. marvell,pins = "mpp48";
  89. marvell,function = "gpio";
  90. };
  91. };
  92. serial@12000 {
  93. status = "ok";
  94. };
  95. sata@80000 {
  96. status = "okay";
  97. nr-ports = <2>;
  98. };
  99. i2c@11000 {
  100. status = "okay";
  101. adt7476: adt7476a@2e {
  102. compatible = "adt7476";
  103. reg = <0x2e>;
  104. };
  105. };
  106. nand@3000000 {
  107. status = "okay";
  108. chip-delay = <35>;
  109. partition@0 {
  110. label = "uboot";
  111. reg = <0x0000000 0x0100000>;
  112. read-only;
  113. };
  114. partition@100000 {
  115. label = "uboot_env";
  116. reg = <0x0100000 0x0080000>;
  117. };
  118. partition@180000 {
  119. label = "key_store";
  120. reg = <0x0180000 0x0080000>;
  121. };
  122. partition@200000 {
  123. label = "info";
  124. reg = <0x0200000 0x0080000>;
  125. };
  126. partition@280000 {
  127. label = "etc";
  128. reg = <0x0280000 0x0a00000>;
  129. };
  130. partition@c80000 {
  131. label = "kernel_1";
  132. reg = <0x0c80000 0x0a00000>;
  133. };
  134. partition@1680000 {
  135. label = "rootfs1";
  136. reg = <0x1680000 0x2fc0000>;
  137. };
  138. partition@4640000 {
  139. label = "kernel_2";
  140. reg = <0x4640000 0x0a00000>;
  141. };
  142. partition@5040000 {
  143. label = "rootfs2";
  144. reg = <0x5040000 0x2fc0000>;
  145. };
  146. };
  147. };
  148. gpio_keys {
  149. compatible = "gpio-keys";
  150. #address-cells = <1>;
  151. #size-cells = <0>;
  152. pinctrl-0 = <&pmx_btn_reset &pmx_btn_copy &pmx_btn_power>;
  153. pinctrl-names = "default";
  154. button@1 {
  155. label = "Power Button";
  156. linux,code = <116>;
  157. gpios = <&gpio1 14 0>;
  158. };
  159. button@2 {
  160. label = "Copy Button";
  161. linux,code = <133>;
  162. gpios = <&gpio1 5 1>;
  163. };
  164. button@3 {
  165. label = "Reset Button";
  166. linux,code = <0x198>;
  167. gpios = <&gpio1 4 1>;
  168. };
  169. };
  170. gpio-leds {
  171. compatible = "gpio-leds";
  172. pinctrl-0 = <&pmx_led_esata_green &pmx_led_esata_red
  173. &pmx_led_usb_green &pmx_led_usb_red
  174. &pmx_led_sys_green &pmx_led_sys_red
  175. &pmx_led_copy_green &pmx_led_copy_red
  176. &pmx_led_hdd_green &pmx_led_hdd_red>;
  177. pinctrl-names = "default";
  178. green-sys {
  179. label = "nsa310:green:sys";
  180. gpios = <&gpio0 28 0>;
  181. };
  182. red-sys {
  183. label = "nsa310:red:sys";
  184. gpios = <&gpio0 29 0>;
  185. };
  186. green-hdd {
  187. label = "nsa310:green:hdd";
  188. gpios = <&gpio1 9 0>;
  189. };
  190. red-hdd {
  191. label = "nsa310:red:hdd";
  192. gpios = <&gpio1 10 0>;
  193. };
  194. green-esata {
  195. label = "nsa310:green:esata";
  196. gpios = <&gpio0 12 0>;
  197. };
  198. red-esata {
  199. label = "nsa310:red:esata";
  200. gpios = <&gpio0 13 0>;
  201. };
  202. green-usb {
  203. label = "nsa310:green:usb";
  204. gpios = <&gpio0 15 0>;
  205. };
  206. red-usb {
  207. label = "nsa310:red:usb";
  208. gpios = <&gpio0 16 0>;
  209. };
  210. green-copy {
  211. label = "nsa310:green:copy";
  212. gpios = <&gpio1 7 0>;
  213. };
  214. red-copy {
  215. label = "nsa310:red:copy";
  216. gpios = <&gpio1 8 0>;
  217. };
  218. };
  219. gpio_poweroff {
  220. compatible = "gpio-poweroff";
  221. pinctrl-0 = <&pmx_pwr_off>;
  222. pinctrl-names = "default";
  223. gpios = <&gpio1 16 0>;
  224. };
  225. regulators {
  226. compatible = "simple-bus";
  227. #address-cells = <1>;
  228. #size-cells = <0>;
  229. pinctrl-0 = <&pmx_usb_power_off>;
  230. pinctrl-names = "default";
  231. usb0_power_off: regulator@1 {
  232. compatible = "regulator-fixed";
  233. reg = <1>;
  234. regulator-name = "USB Power Off";
  235. regulator-min-microvolt = <5000000>;
  236. regulator-max-microvolt = <5000000>;
  237. regulator-always-on;
  238. regulator-boot-on;
  239. gpio = <&gpio0 21 0>;
  240. };
  241. };
  242. };