kirkwood-nsa310.dts 5.1 KB

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