VR200v.dts 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. /dts-v1/;
  2. #include "vr9.dtsi"
  3. #include <dt-bindings/input/input.h>
  4. / {
  5. model = "VR200v - TP-LINK Archer VR200v";
  6. chosen {
  7. bootargs = "console=ttyLTQ0,115200";
  8. };
  9. aliases {
  10. led-boot = &power;
  11. led-failsafe = &power;
  12. led-dsl = &dsl;
  13. led-internet = &internet;
  14. led-usb = &usb;
  15. led-usb2 = &usb;
  16. };
  17. memory@0 {
  18. reg = <0x0 0x7f00000>;
  19. };
  20. fpi@10000000 {
  21. gpio: pinmux@E100B10 {
  22. pinctrl-names = "default";
  23. pinctrl-0 = <&state_default>;
  24. state_default: pinmux {
  25. mdio {
  26. lantiq,groups = "mdio";
  27. lantiq,function = "mdio";
  28. };
  29. gphy-leds {
  30. lantiq,groups = "gphy0 led1", "gphy1 led1";
  31. lantiq,function = "gphy";
  32. lantiq,pull = <2>;
  33. lantiq,open-drain = <0>;
  34. lantiq,output = <1>;
  35. };
  36. phy-rst {
  37. lantiq,pins = "io42";
  38. lantiq,pull = <0>;
  39. lantiq,open-drain = <0>;
  40. lantiq,output = <1>;
  41. };
  42. pcie-rst {
  43. lantiq,pins = "io38";
  44. lantiq,pull = <0>;
  45. lantiq,output = <1>;
  46. };
  47. };
  48. pins_spi_default: pins_spi_default {
  49. spi_in {
  50. lantiq,groups = "spi_di";
  51. lantiq,function = "spi";
  52. };
  53. spi_out {
  54. lantiq,groups = "spi_do", "spi_clk",
  55. "spi_cs4";
  56. lantiq,function = "spi";
  57. lantiq,output = <1>;
  58. };
  59. };
  60. };
  61. ifxhcd@E101000 {
  62. status = "okay";
  63. gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
  64. lantiq,portmask = <0x3>;
  65. };
  66. ifxhcd@E106000 {
  67. status = "okay";
  68. gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
  69. };
  70. };
  71. gphy-xrx200 {
  72. compatible = "lantiq,phy-xrx200";
  73. firmware = "lantiq/vr9_phy11g_a2x.bin";
  74. phys = [ 00 01 ];
  75. };
  76. gpio-keys-polled {
  77. compatible = "gpio-keys-polled";
  78. #address-cells = <1>;
  79. #size-cells = <0>;
  80. poll-interval = <100>;
  81. reset {
  82. label = "reset";
  83. gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
  84. linux,code = <KEY_RESTART>;
  85. };
  86. wifi {
  87. label = "wifi";
  88. gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
  89. linux,code = <KEY_RFKILL>;
  90. linux,input-type = <EV_SW>;
  91. };
  92. wps {
  93. label = "wps";
  94. gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
  95. linux,code = <KEY_WPS_BUTTON>;
  96. };
  97. dect_paging {
  98. label = "dect_paging";
  99. gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
  100. linux,code = <KEY_PHONE>;
  101. };
  102. };
  103. gpio-leds {
  104. compatible = "gpio-leds";
  105. power: power {
  106. label = "vr200v:blue:power";
  107. gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
  108. };
  109. dsl: dsl {
  110. label = "vr200v:blue:dsl";
  111. gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
  112. };
  113. internet: internet {
  114. label = "vr200v:blue:internet";
  115. gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
  116. };
  117. usb: usb {
  118. label = "vr200v:blue:usb";
  119. gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
  120. };
  121. eth {
  122. label = "vr200v:blue:lan";
  123. gpios = <&gpio 40 GPIO_ACTIVE_LOW>;
  124. };
  125. wlan {
  126. label = "vr200v:blue:wlan";
  127. gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
  128. };
  129. wlan5g {
  130. label = "vr200v:blue:wlan5g";
  131. gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
  132. };
  133. phone {
  134. label = "vr200v:blue:phone";
  135. gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
  136. };
  137. };
  138. };
  139. &spi {
  140. pinctrl-names = "default";
  141. pinctrl-0 = <&pins_spi_default>;
  142. status = "ok";
  143. m25p80@4 {
  144. #address-cells = <1>;
  145. #size-cells = <1>;
  146. compatible = "jedec,spi-nor";
  147. reg = <4 0>;
  148. spi-max-frequency = <33250000>;
  149. m25p,fast-read;
  150. partitions {
  151. compatible = "fixed-partitions";
  152. #address-cells = <1>;
  153. #size-cells = <1>;
  154. partition@0 {
  155. reg = <0x0 0x20000>;
  156. label = "u-boot";
  157. read-only;
  158. };
  159. partition@20000 {
  160. reg = <0x20000 0xf90000>;
  161. label = "firmware";
  162. };
  163. partition@fb0000 {
  164. reg = <0xfb0000 0x10000>;
  165. label = "radioDECT";
  166. read-only;
  167. };
  168. partition@fc0000 {
  169. reg = <0xfc0000 0x10000>;
  170. label = "config";
  171. read-only;
  172. };
  173. romfile: partition@fd0000 {
  174. reg = <0xfd0000 0x10000>;
  175. label = "romfile";
  176. read-only;
  177. };
  178. partition@fe0000 {
  179. reg = <0xfe0000 0x10000>;
  180. label = "rom";
  181. read-only;
  182. };
  183. partition@ff0000 {
  184. reg = <0xff0000 0x10000>;
  185. label = "radio";
  186. read-only;
  187. };
  188. };
  189. };
  190. };
  191. &eth0 {
  192. lan: interface@0 {
  193. compatible = "lantiq,xrx200-pdi";
  194. #address-cells = <1>;
  195. #size-cells = <0>;
  196. reg = <0>;
  197. mtd-mac-address = <&romfile 0xf100>;
  198. lantiq,switch;
  199. ethernet@0 {
  200. compatible = "lantiq,xrx200-pdi-port";
  201. reg = <0>;
  202. phy-mode = "rgmii";
  203. phy-handle = <&phy0>;
  204. // gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
  205. };
  206. ethernet@5 {
  207. compatible = "lantiq,xrx200-pdi-port";
  208. reg = <5>;
  209. phy-mode = "rgmii";
  210. phy-handle = <&phy5>;
  211. };
  212. ethernet@2 {
  213. compatible = "lantiq,xrx200-pdi-port";
  214. reg = <2>;
  215. phy-mode = "gmii";
  216. phy-handle = <&phy11>;
  217. };
  218. ethernet@3 {
  219. compatible = "lantiq,xrx200-pdi-port";
  220. reg = <4>;
  221. phy-mode = "gmii";
  222. phy-handle = <&phy13>;
  223. };
  224. };
  225. mdio@0 {
  226. #address-cells = <1>;
  227. #size-cells = <0>;
  228. compatible = "lantiq,xrx200-mdio";
  229. phy0: ethernet-phy@0 {
  230. reg = <0x0>;
  231. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  232. };
  233. phy5: ethernet-phy@5 {
  234. reg = <0x5>;
  235. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  236. };
  237. phy11: ethernet-phy@11 {
  238. reg = <0x11>;
  239. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  240. };
  241. phy13: ethernet-phy@13 {
  242. reg = <0x13>;
  243. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  244. };
  245. };
  246. };