VGV7519.dtsi 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  1. /include/ "vr9.dtsi"
  2. / {
  3. model = "VGV7519 - KPN Experiabox V8";
  4. chosen {
  5. bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
  6. };
  7. memory@0 {
  8. reg = <0x0 0x4000000>;
  9. };
  10. fpi@10000000 {
  11. #address-cells = <1>;
  12. #size-cells = <1>;
  13. compatible = "lantiq,fpi", "simple-bus";
  14. ranges = <0x0 0x10000000 0xEEFFFFF>;
  15. reg = <0x10000000 0xEF00000>;
  16. localbus@0 {
  17. #address-cells = <2>;
  18. #size-cells = <1>;
  19. compatible = "lantiq,localbus", "simple-bus";
  20. };
  21. gpio: pinmux@E100B10 {
  22. compatible = "lantiq,pinctrl-xr9";
  23. pinctrl-names = "default";
  24. pinctrl-0 = <&state_default>;
  25. interrupt-parent = <&icu0>;
  26. interrupts = <166 135 66 40 41 42 38>;
  27. #gpio-cells = <2>;
  28. gpio-controller;
  29. reg = <0xE100B10 0xA0>;
  30. state_default: pinmux {
  31. stp {
  32. lantiq,groups = "stp";
  33. lantiq,function = "stp";
  34. };
  35. spi {
  36. lantiq,groups = "spi";
  37. lantiq,function = "spi";
  38. };
  39. mdio {
  40. lantiq,groups = "mdio";
  41. lantiq,function = "mdio";
  42. };
  43. gphy-leds_out {
  44. lantiq,pins = "io7", "io44";
  45. lantiq,pull = <0>;
  46. lantiq,output = <1>;
  47. };
  48. stp_out {
  49. lantiq,pins = "io4", "io5", "io6";
  50. lantiq,open-drain = <0>;
  51. lantiq,output = <1>;
  52. lantiq,pull = <0>;
  53. };
  54. pci-rst {
  55. lantiq,pins = "io21";
  56. lantiq,open-drain = <0>;
  57. lantiq,pull = <0>;
  58. lantiq,output = <1>;
  59. };
  60. gphy-leds {
  61. lantiq,groups = "gphy0 led1", "gphy1 led0";
  62. lantiq,function = "gphy";
  63. lantiq,open-drain = <0>;
  64. lantiq,pull = <0>;
  65. lantiq,output = <1>;
  66. };
  67. };
  68. };
  69. eth@E108000 {
  70. #address-cells = <1>;
  71. #size-cells = <0>;
  72. compatible = "lantiq,xrx200-net";
  73. reg = < 0xE108000 0x3000 /* switch */
  74. 0xE10B100 0x70 /* mdio */
  75. 0xE10B1D8 0x30 /* mii */
  76. 0xE10B308 0x30 /* pmac */
  77. >;
  78. interrupt-parent = <&icu0>;
  79. interrupts = <73 72>;
  80. lan: interface@0 {
  81. compatible = "lantiq,xrx200-pdi";
  82. #address-cells = <1>;
  83. #size-cells = <0>;
  84. reg = <0>;
  85. mac-address = [ 00 11 22 33 44 55 ];
  86. ethernet@0 {
  87. compatible = "lantiq,xrx200-pdi-port";
  88. reg = <0>;
  89. phy-mode = "rgmii";
  90. phy-handle = <&phy0>;
  91. };
  92. ethernet@1 {
  93. compatible = "lantiq,xrx200-pdi-port";
  94. reg = <1>;
  95. phy-mode = "rgmii";
  96. phy-handle = <&phy1>;
  97. };
  98. ethernet@2 {
  99. compatible = "lantiq,xrx200-pdi-port";
  100. reg = <2>;
  101. phy-mode = "gmii";
  102. phy-handle = <&phy11>;
  103. };
  104. ethernet@4 {
  105. compatible = "lantiq,xrx200-pdi-port";
  106. reg = <4>;
  107. phy-mode = "gmii";
  108. phy-handle = <&phy13>;
  109. };
  110. };
  111. wan: interface@1 {
  112. compatible = "lantiq,xrx200-pdi";
  113. #address-cells = <1>;
  114. #size-cells = <0>;
  115. reg = <1>;
  116. mac-address = [ 00 11 22 33 44 56 ];
  117. lantiq,wan;
  118. ethernet@5 {
  119. compatible = "lantiq,xrx200-pdi-port";
  120. reg = <5>;
  121. phy-mode = "rgmii";
  122. phy-handle = <&phy5>;
  123. };
  124. };
  125. mdio@0 {
  126. #address-cells = <1>;
  127. #size-cells = <0>;
  128. compatible = "lantiq,xrx200-mdio";
  129. phy0: ethernet-phy@0 {
  130. reg = <0x0>;
  131. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  132. lantiq,c45-reg-init = <1 0 0 0>;
  133. };
  134. phy1: ethernet-phy@1 {
  135. reg = <0x1>;
  136. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  137. lantiq,c45-reg-init = <1 0 0 0>;
  138. };
  139. phy5: ethernet-phy@5 {
  140. reg = <0x5>;
  141. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  142. lantiq,c45-reg-init = <1 0 0 0>;
  143. };
  144. phy11: ethernet-phy@11 {
  145. reg = <0x11>;
  146. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  147. lantiq,c45-reg-init = <1 0 0 0>;
  148. };
  149. phy13: ethernet-phy@13 {
  150. reg = <0x13>;
  151. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  152. lantiq,c45-reg-init = <1 0 0 0>;
  153. };
  154. };
  155. };
  156. stp: stp@E100BB0 {
  157. compatible = "lantiq,gpio-stp-xway";
  158. reg = <0xE100BB0 0x40>;
  159. #gpio-cells = <2>;
  160. gpio-controller;
  161. lantiq,shadow = <0xffff>;
  162. lantiq,groups = <0x3>;
  163. lantiq,dsl = <0x0>;
  164. lantiq,phy1 = <0x0>;
  165. lantiq,phy2 = <0x0>;
  166. /* lantiq,rising; */
  167. };
  168. ifxhcd@E101000 {
  169. status = "okay";
  170. gpios = <&gpio 32 0>;
  171. lantiq,portmask = <0x3>;
  172. };
  173. pci@E105400 {
  174. status = "okay";
  175. #address-cells = <3>;
  176. #size-cells = <2>;
  177. #interrupt-cells = <1>;
  178. compatible = "lantiq,pci-xway";
  179. bus-range = <0x0 0x0>;
  180. ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */
  181. 0x1000000 0 0x00000000 0xAE00000 0 0x200000>; /* io space */
  182. reg = <0x7000000 0x8000 /* config space */
  183. 0xE105400 0x400>; /* pci bridge */
  184. lantiq,bus-clock = <33333333>;
  185. /*lantiq,external-clock;*/
  186. lantiq,delay-hi = <0>; /* 0ns delay */
  187. lantiq,delay-lo = <0>; /* 0.0ns delay */
  188. interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
  189. interrupt-map = <
  190. 0x7000 0 0 1 &icu0 30 1 // slot 14, irq 30
  191. >;
  192. gpio-reset = <&gpio 21 0>;
  193. req-mask = <0x1>; /* GNT1 */
  194. };
  195. pcie@d900000 {
  196. status = "disabled";
  197. };
  198. };
  199. gphy-xrx200 {
  200. compatible = "lantiq,phy-xrx200";
  201. firmware1 = "lantiq/vr9_phy11g_a1x.bin"; /*VR9 1.1*/
  202. firmware2 = "lantiq/vr9_phy11g_a2x.bin"; /*VR9 1.2*/
  203. phys = [ 00 01 ];
  204. };
  205. ralink_eep {
  206. compatible = "ralink,eeprom";
  207. ralink,eeprom = "RT2860.eeprom";
  208. };
  209. gpio-keys-polled {
  210. compatible = "gpio-keys-polled";
  211. #address-cells = <1>;
  212. #size-cells = <0>;
  213. poll-interval = <100>;
  214. reset {
  215. label = "reset";
  216. gpios = <&gpio 9 1>;
  217. linux,code = <0x198>;
  218. };
  219. eco {
  220. label = "eco";
  221. gpios = <&gpio 41 1>;
  222. linux,code = <247>;
  223. };
  224. rfkill {
  225. label = "rfkill";
  226. gpios = <&gpio 45 1>;
  227. linux,code = <0xf7>;
  228. };
  229. wps {
  230. label = "wps";
  231. gpios = <&gpio 10 1>;
  232. linux,code = <0x211>;
  233. };
  234. };
  235. gpio-leds {
  236. compatible = "gpio-leds";
  237. eco { /* blue */
  238. label = "eco";
  239. gpios = <&stp 2 1>;
  240. };
  241. wps_red { /* red */
  242. label = "wps_red";
  243. gpios = <&stp 3 1>;
  244. };
  245. wps_yellow { /* yellow */
  246. label = "wps_yellow";
  247. gpios = <&stp 4 1>;
  248. };
  249. upgrade { /* blue */
  250. label = "upgrade";
  251. gpios = <&stp 5 1>;
  252. };
  253. tv { /* yellow */
  254. label = "tv";
  255. gpios = <&stp 6 1>;
  256. };
  257. internet_yellow { /* yellow */
  258. label = "internet_yellow";
  259. gpios = <&stp 7 1>;
  260. };
  261. internet_red { /* red */
  262. label = "internet_red";
  263. gpios = <&stp 8 1>;
  264. };
  265. broadband_red { /* red */
  266. label = "broadband_red";
  267. gpios = <&stp 9 1>;
  268. };
  269. broadband_yellow { /* yellow */
  270. label = "broadband_yellow";
  271. gpios = <&stp 10 1>;
  272. };
  273. voice { /* yellow */
  274. label = "voice";
  275. gpios = <&stp 11 1>;
  276. };
  277. wireless_red { /* red */
  278. label = "wireless_red";
  279. gpios = <&stp 12 1>;
  280. };
  281. wireless_yellow { /* yellow */
  282. label = "wireless_yellow";
  283. gpios = <&stp 13 1>;
  284. };
  285. power2 { /* yellow */
  286. label = "power2";
  287. gpios = <&stp 14 1>;
  288. };
  289. power { /* red */
  290. label = "power";
  291. gpios = <&stp 15 1>;
  292. default-state = "on";
  293. };
  294. };
  295. };