kirkwood-nsa310.dts 5.1 KB

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