VGV7519.dtsi 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. #include "vr9.dtsi"
  2. #include <dt-bindings/input/input.h>
  3. / {
  4. chosen {
  5. bootargs = "console=ttyLTQ0,115200 mem=62M vpe1_load_addr=0x83e00000 vpe1_mem=2M maxvpes=1 maxtcs=1";
  6. };
  7. aliases {
  8. led-boot = &power_green;
  9. led-failsafe = &power_red;
  10. led-running = &power_green;
  11. led-dsl = &broadband_green;
  12. led-internet = &internet_green;
  13. led-wifi = &wireless_green;
  14. };
  15. sram@1F000000 {
  16. vmmc@107000 {
  17. status = "okay";
  18. gpios = <&gpio 30 GPIO_ACTIVE_HIGH //fxs relay
  19. &gpio 31 GPIO_ACTIVE_HIGH //still unknown
  20. &gpio 3 GPIO_ACTIVE_HIGH>; //reset_slic?
  21. };
  22. };
  23. memory@0 {
  24. reg = <0x0 0x4000000>;
  25. };
  26. fpi@10000000 {
  27. localbus@0 {
  28. nor-boot@0 {
  29. compatible = "lantiq,nor";
  30. bank-width = <2>;
  31. reg = <0 0x0 0x800000>, <1 0x800000 0x800000>;
  32. #address-cells = <1>;
  33. #size-cells = <1>;
  34. partitions {
  35. compatible = "fixed-partitions";
  36. #address-cells = <1>;
  37. #size-cells = <1>;
  38. boardconfig: partition@40000 {
  39. label = "board_config";
  40. reg = <0x40000 0x10000>;
  41. read-only;
  42. };
  43. };
  44. };
  45. };
  46. gpio: pinmux@E100B10 {
  47. pinctrl-names = "default";
  48. pinctrl-0 = <&state_default>;
  49. state_default: pinmux {
  50. stp {
  51. lantiq,groups = "stp";
  52. lantiq,function = "stp";
  53. lantiq,open-drain = <0>;
  54. lantiq,output = <1>;
  55. lantiq,pull = <0>;
  56. };
  57. mdio {
  58. lantiq,groups = "mdio";
  59. lantiq,function = "mdio";
  60. };
  61. pci-rst {
  62. lantiq,pins = "io21";
  63. lantiq,open-drain = <0>;
  64. lantiq,pull = <0>;
  65. lantiq,output = <1>;
  66. };
  67. gphy-leds {
  68. lantiq,groups = "gphy0 led1", "gphy1 led0";
  69. lantiq,function = "gphy";
  70. lantiq,open-drain = <0>;
  71. lantiq,pull = <0>;
  72. lantiq,output = <1>;
  73. };
  74. };
  75. };
  76. stp: stp@E100BB0 {
  77. compatible = "lantiq,gpio-stp-xway";
  78. reg = <0xE100BB0 0x40>;
  79. #gpio-cells = <2>;
  80. gpio-controller;
  81. lantiq,shadow = <0xffff>;
  82. lantiq,groups = <0x3>;
  83. lantiq,dsl = <0x0>;
  84. lantiq,phy1 = <0x0>;
  85. lantiq,phy2 = <0x0>;
  86. /* lantiq,rising; */
  87. };
  88. ifxhcd@E101000 {
  89. status = "okay";
  90. gpios = <&gpio 32 GPIO_ACTIVE_HIGH>;
  91. lantiq,portmask = <0x3>;
  92. };
  93. ifxhcd@E106000 {
  94. status = "okay";
  95. gpios = <&gpio 32 GPIO_ACTIVE_HIGH>;
  96. };
  97. pcie@d900000 {
  98. status = "disabled";
  99. };
  100. };
  101. gphy-xrx200 {
  102. compatible = "lantiq,phy-xrx200";
  103. firmware1 = "lantiq/vr9_phy11g_a1x.bin"; /*VR9 1.1*/
  104. firmware2 = "lantiq/vr9_phy11g_a2x.bin"; /*VR9 1.2*/
  105. phys = [ 00 01 ];
  106. };
  107. gpio-keys-polled {
  108. compatible = "gpio-keys-polled";
  109. #address-cells = <1>;
  110. #size-cells = <0>;
  111. poll-interval = <100>;
  112. reset {
  113. label = "reset";
  114. gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
  115. linux,code = <KEY_RESTART>;
  116. };
  117. eco {
  118. label = "eco";
  119. gpios = <&gpio 41 GPIO_ACTIVE_LOW>;
  120. linux,code = <BTN_0>;
  121. };
  122. rfkill {
  123. label = "rfkill";
  124. gpios = <&gpio 45 GPIO_ACTIVE_LOW>;
  125. linux,code = <KEY_RFKILL>;
  126. };
  127. wps {
  128. label = "wps";
  129. gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
  130. linux,code = <KEY_WPS_BUTTON>;
  131. };
  132. };
  133. gpio-leds {
  134. compatible = "gpio-leds";
  135. eco {
  136. label = "vgv7519:blue:eco";
  137. gpios = <&stp 2 GPIO_ACTIVE_LOW>;
  138. };
  139. wps_red {
  140. label = "vgv7519:red:wps";
  141. gpios = <&stp 3 GPIO_ACTIVE_LOW>;
  142. };
  143. wps_green {
  144. label = "vgv7519:green:wps";
  145. gpios = <&stp 4 GPIO_ACTIVE_LOW>;
  146. };
  147. upgrade {
  148. label = "vgv7519:blue:upgrade";
  149. gpios = <&stp 5 GPIO_ACTIVE_LOW>;
  150. };
  151. tv {
  152. label = "vgv7519:green:tv";
  153. gpios = <&stp 6 GPIO_ACTIVE_LOW>;
  154. };
  155. internet_green: internet_green {
  156. label = "vgv7519:green:internet";
  157. gpios = <&stp 7 GPIO_ACTIVE_LOW>;
  158. };
  159. internet_red {
  160. label = "vgv7519:red:internet";
  161. gpios = <&stp 8 GPIO_ACTIVE_LOW>;
  162. };
  163. broadband_red {
  164. label = "vgv7519:red:broadband";
  165. gpios = <&stp 9 GPIO_ACTIVE_LOW>;
  166. };
  167. broadband_green: broadband_green {
  168. label = "vgv7519:green:broadband";
  169. gpios = <&stp 10 GPIO_ACTIVE_LOW>;
  170. };
  171. voice {
  172. label = "vgv7519:green:voice";
  173. gpios = <&stp 11 GPIO_ACTIVE_LOW>;
  174. };
  175. wireless_red {
  176. label = "vgv7519:red:wireless";
  177. gpios = <&stp 12 GPIO_ACTIVE_LOW>;
  178. };
  179. wireless_green: wireless_green {
  180. label = "vgv7519:green:wireless";
  181. gpios = <&stp 13 GPIO_ACTIVE_LOW>;
  182. };
  183. power_green: power2 {
  184. label = "vgv7519:green:power";
  185. gpios = <&stp 14 GPIO_ACTIVE_LOW>;
  186. default-state = "keep";
  187. };
  188. power_red: power {
  189. label = "vgv7519:red:power";
  190. gpios = <&stp 15 GPIO_ACTIVE_LOW>;
  191. };
  192. };
  193. };
  194. &pci0 {
  195. status = "okay";
  196. gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
  197. wifi@1814,3091 {
  198. compatible = "pci1814,3091";
  199. reg = <0x7000 0 0 0 0>;
  200. ralink,mtd-eeprom = <&boardconfig 0x410>;
  201. ralink,mtd-eeprom-swap;
  202. mtd-mac-address = <&boardconfig 0x16>;
  203. mtd-mac-address-increment = <1>;
  204. };
  205. };
  206. &eth0 {
  207. lan: interface@0 {
  208. compatible = "lantiq,xrx200-pdi";
  209. #address-cells = <1>;
  210. #size-cells = <0>;
  211. reg = <0>;
  212. mtd-mac-address = <&boardconfig 0x16>;
  213. mtd-mac-address-increment = <1>;
  214. lantiq,switch;
  215. ethernet@0 {
  216. compatible = "lantiq,xrx200-pdi-port";
  217. reg = <0>;
  218. phy-mode = "rgmii";
  219. phy-handle = <&phy0>;
  220. };
  221. ethernet@1 {
  222. compatible = "lantiq,xrx200-pdi-port";
  223. reg = <1>;
  224. phy-mode = "rgmii";
  225. phy-handle = <&phy1>;
  226. };
  227. ethernet@2 {
  228. compatible = "lantiq,xrx200-pdi-port";
  229. reg = <2>;
  230. phy-mode = "gmii";
  231. phy-handle = <&phy11>;
  232. };
  233. ethernet@4 {
  234. compatible = "lantiq,xrx200-pdi-port";
  235. reg = <4>;
  236. phy-mode = "gmii";
  237. phy-handle = <&phy13>;
  238. };
  239. ethernet@5 {
  240. compatible = "lantiq,xrx200-pdi-port";
  241. reg = <5>;
  242. phy-mode = "rgmii";
  243. phy-handle = <&phy5>;
  244. };
  245. };
  246. mdio@0 {
  247. #address-cells = <1>;
  248. #size-cells = <0>;
  249. compatible = "lantiq,xrx200-mdio";
  250. phy0: ethernet-phy@0 {
  251. reg = <0x0>;
  252. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  253. };
  254. phy1: ethernet-phy@1 {
  255. reg = <0x1>;
  256. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  257. };
  258. phy5: ethernet-phy@5 {
  259. reg = <0x5>;
  260. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  261. };
  262. phy11: ethernet-phy@11 {
  263. reg = <0x11>;
  264. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  265. };
  266. phy13: ethernet-phy@13 {
  267. reg = <0x13>;
  268. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  269. };
  270. };
  271. };