P2601HNFX.dts 3.4 KB

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