VR200v.dts 5.2 KB

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