P2601HNFX.dts 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. /dts-v1/;
  2. /include/ "ar9.dtsi"
  3. / {
  4. model = "P2601HNFX - ZyXEL P-2601HN-Fx";
  5. chosen {
  6. bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
  7. leds {
  8. boot = &power_green;
  9. failsafe = &power_red;
  10. running = &power_green;
  11. dsl = &dsl;
  12. internet = &online;
  13. wifi = &wifi;
  14. };
  15. };
  16. memory@0 {
  17. reg = <0x0 0x4000000>;
  18. };
  19. fpi@10000000 {
  20. #address-cells = <1>;
  21. #size-cells = <1>;
  22. localbus@0 {
  23. #address-cells = <2>;
  24. #size-cells = <1>;
  25. ranges = <0 0 0x0 0x3ffffff
  26. 1 0 0x4000000 0x4000010>;
  27. compatible = "lantiq,localbus", "simple-bus";
  28. nor-boot@0 {
  29. compatible = "lantiq,nor";
  30. bank-width = <2>;
  31. reg = <0 0x0 0x2000000>;
  32. #address-cells = <1>;
  33. #size-cells = <1>;
  34. partitions {
  35. compatible = "fixed-partitions";
  36. #address-cells = <1>;
  37. #size-cells = <1>;
  38. partition@0 {
  39. label = "uboot";
  40. reg = <0x00000 0x40000>;
  41. read-only;
  42. };
  43. partition@40000 {
  44. label = "uboot_env";
  45. reg = <0x40000 0x20000>;
  46. read-only;
  47. };
  48. partition@60000 {
  49. label = "firmware";
  50. reg = <0x60000 0xfa0000>;
  51. };
  52. };
  53. };
  54. };
  55. gpio: pinmux@E100B10 {
  56. compatible = "lantiq,pinctrl-xr9";
  57. pinctrl-names = "default";
  58. pinctrl-0 = <&state_default>;
  59. #gpio-cells = <2>;
  60. gpio-controller;
  61. reg = <0xE100B10 0xA0>;
  62. state_default: pinmux {
  63. stp {
  64. lantiq,groups = "stp";
  65. lantiq,function = "stp";
  66. lantiq,pull = <2>;
  67. lantiq,open-drain = <0>;
  68. lantiq,output = <1>;
  69. };
  70. exin {
  71. lantiq,groups = "exin1";
  72. lantiq,function = "exin";
  73. };
  74. pci {
  75. lantiq,groups = "gnt1";
  76. lantiq,function = "pci";
  77. };
  78. conf_out {
  79. lantiq,pins = "io4", "io5", "io6";
  80. lantiq,open-drain;
  81. lantiq,pull = <0>;
  82. };
  83. mdio {
  84. lantiq,groups = "mdio";
  85. lantiq,function = "mdio";
  86. };
  87. };
  88. };
  89. etop@E180000 {
  90. phy-mode = "rmii";
  91. };
  92. ifxhcd@E101000 {
  93. status = "okay";
  94. gpios = <&gpio 9 0>;
  95. };
  96. stp: stp@E100BB0 {
  97. #gpio-cells = <2>;
  98. compatible = "lantiq,gpio-stp-xway";
  99. gpio-controller;
  100. reg = <0xE100BB0 0x40>;
  101. lantiq,shadow = <0xfff>;
  102. lantiq,groups = <0x3>;
  103. };
  104. pci@E105400 {
  105. lantiq,bus-clock = <33333333>;
  106. interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
  107. interrupt-map = <0x7000 0 0 1 &icu0 29 1>;
  108. gpios-reset = <&gpio 21 0>;
  109. req-mask = <0x1>;
  110. };
  111. };
  112. gpio-keys-polled {
  113. compatible = "gpio-keys-polled";
  114. #address-cells = <1>;
  115. #size-cells = <0>;
  116. poll-interval = <100>;
  117. reset {
  118. label = "reset";
  119. gpios = <&gpio 53 1>;
  120. linux,code = <0x198>;
  121. };
  122. rfkill {
  123. label = "rfkill";
  124. gpios = <&gpio 54 1>;
  125. linux,code = <0xf7>;
  126. };
  127. };
  128. gpio-leds {
  129. compatible = "gpio-leds";
  130. power_green: power {
  131. label = "p2601hnfx:green:power";
  132. gpios = <&stp 11 1>;
  133. default-state = "keep";
  134. };
  135. power_red: power2 {
  136. label = "p2601hnfx:red:power";
  137. gpios = <&gpio 29 1>;
  138. };
  139. online: online {
  140. label = "p2601hnfx:green:internet";
  141. gpios = <&stp 13 1>;
  142. };
  143. online2 {
  144. label = "p2601hnfx:red:internet";
  145. gpios = <&stp 12 1>;
  146. };
  147. dsl: dsl {
  148. label = "p2601hnfx:green:dsl";
  149. gpios = <&stp 14 1>;
  150. };
  151. phone {
  152. label = "p2601hnfx:green:phone";
  153. gpios = <&stp 9 1>;
  154. };
  155. phone2 {
  156. label = "p2601hnfx:orange:phone";
  157. gpios = <&stp 8 1>;
  158. };
  159. wifi: wifi {
  160. label = "p2601hnfx:green:wireless";
  161. gpios = <&stp 15 1>;
  162. };
  163. wifi2 {
  164. label = "p2601hnfx:orange:wireless";
  165. gpios = <&stp 10 1>;
  166. };
  167. };
  168. gpio_export {
  169. compatible = "gpio-export";
  170. #size-cells = <0>;
  171. switch {
  172. gpio-export,name = "switch";
  173. gpio-export,output = <1>;
  174. gpios = <&gpio 50 0>;
  175. };
  176. usb {
  177. gpio-export,name = "wifi";
  178. gpio-export,output = <1>;
  179. gpios = <&gpio 9 0>;
  180. };
  181. };
  182. };