WBMR300.dts 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. /dts-v1/;
  2. #include "vr9.dtsi"
  3. #include <dt-bindings/input/input.h>
  4. / {
  5. model = "WBMR300 - Buffalo WBMR-300HPD";
  6. chosen {
  7. bootargs = "console=ttyLTQ0,115200";
  8. };
  9. aliases {
  10. led-boot = &power_g;
  11. led-failsafe = &diag_r;
  12. led-running = &power_g;
  13. led-dsl = &dsl;
  14. led-internet = &router_g;
  15. led-wifi = &wifi_g;
  16. };
  17. memory@0 {
  18. reg = <0x0 0x4000000>;
  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. phy-rst {
  30. lantiq,pins = "io42";
  31. lantiq,pull = <0>;
  32. lantiq,open-drain = <0>;
  33. lantiq,output = <1>;
  34. };
  35. pcie-rst {
  36. lantiq,pins = "io38";
  37. lantiq,pull = <0>;
  38. lantiq,output = <1>;
  39. };
  40. };
  41. pins_spi_default: pins_spi_default {
  42. spi_in {
  43. lantiq,groups = "spi_di";
  44. lantiq,function = "spi";
  45. };
  46. spi_out {
  47. lantiq,groups = "spi_do", "spi_clk",
  48. "spi_cs4";
  49. lantiq,function = "spi";
  50. lantiq,output = <1>;
  51. };
  52. };
  53. };
  54. ifxhcd@E101000 {
  55. status = "okay";
  56. gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
  57. lantiq,portmask = <0x3>;
  58. };
  59. ifxhcd@E106000 {
  60. status = "okay";
  61. gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
  62. };
  63. };
  64. gphy-xrx200 {
  65. compatible = "lantiq,phy-xrx200";
  66. firmware = "lantiq/vr9_phy22f_a2x.bin";
  67. phys = [ 00 01 ];
  68. };
  69. gpio_poweroff {
  70. compatible = "gpio-poweroff";
  71. gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
  72. };
  73. gpio-keys-polled {
  74. compatible = "gpio-keys-polled";
  75. #address-cells = <1>;
  76. #size-cells = <0>;
  77. poll-interval = <100>;
  78. power {
  79. label = "power";
  80. gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
  81. linux,code = <KEY_POWER>;
  82. };
  83. reset {
  84. label = "reset";
  85. gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
  86. linux,code = <KEY_RESTART>;
  87. };
  88. wps {
  89. label = "wps";
  90. gpios = <&gpio 31 GPIO_ACTIVE_LOW>;
  91. linux,code = <KEY_WPS_BUTTON>;
  92. };
  93. auto {
  94. label = "auto";
  95. gpios = <&gpio 48 GPIO_ACTIVE_HIGH>;
  96. linux,code = <BTN_0>;
  97. linux,input-type = <EV_SW>;
  98. };
  99. router {
  100. label = "router";
  101. gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
  102. linux,code = <BTN_1>;
  103. linux,input-type = <EV_SW>;
  104. };
  105. };
  106. gpio-leds {
  107. compatible = "gpio-leds";
  108. diag_r: diag_r {
  109. label = "wbmr300:red:diag";
  110. gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
  111. default_state = "off";
  112. };
  113. wifi_g: wifi_g {
  114. label = "wbmr300:green:wifi";
  115. gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
  116. };
  117. dsl: dsl {
  118. label = "dsl";
  119. gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
  120. };
  121. router_y: router_y {
  122. label = "wbmr300:yellow:router";
  123. gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
  124. };
  125. wifi_y: wifi_y {
  126. label = "wbmr300:yellow:wifi";
  127. gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
  128. };
  129. lan1: lan1 {
  130. label = "wbmr300:green:lan1";
  131. gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
  132. };
  133. wan: wan {
  134. label = "wbmr300:green:wan";
  135. gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
  136. };
  137. lan3: lan3 {
  138. label = "wbmr300:green:lan3";
  139. gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
  140. };
  141. lan2: lan2 {
  142. label = "wbmr300:green:lan2";
  143. gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
  144. };
  145. internet_g: internet_g {
  146. label = "wbmr300:green:internet";
  147. gpios = <&gpio 34 GPIO_ACTIVE_HIGH>;
  148. };
  149. internet_y: internet_y {
  150. label = "wbmr300:yellow:internet";
  151. gpios = <&gpio 35 GPIO_ACTIVE_HIGH>;
  152. };
  153. router_g: router_g {
  154. label = "wbmr300:green:router";
  155. gpios = <&gpio 36 GPIO_ACTIVE_HIGH>;
  156. };
  157. power_g: power_g {
  158. label = "wbmr300:green:power";
  159. gpios = <&gpio 49 GPIO_ACTIVE_HIGH>;
  160. };
  161. };
  162. };
  163. &spi {
  164. pinctrl-names = "default";
  165. pinctrl-0 = <&pins_spi_default>;
  166. status = "ok";
  167. m25p80@4 {
  168. #address-cells = <1>;
  169. #size-cells = <1>;
  170. compatible = "jedec,spi-nor";
  171. reg = <4 0>;
  172. spi-max-frequency = <20000000>;
  173. partition@0 {
  174. reg = <0x0 0x10000>;
  175. label = "u-boot";
  176. read-only;
  177. };
  178. partition@10000 {
  179. reg = <0x10000 0x10000>;
  180. label = "gphyfirmware";
  181. read-only;
  182. };
  183. partition@20000 {
  184. reg = <0x20000 0x80000>;
  185. label = "dsl_fw";
  186. };
  187. partition@de0000 {
  188. reg = <0xa0000 0xf40000>;
  189. label = "firmware";
  190. };
  191. partition@fe0000 {
  192. reg = <0xfe0000 0x10000>;
  193. label = "sysconfig";
  194. read-only;
  195. };
  196. partition@ff0000 {
  197. reg = <0xff0000 0x2000>;
  198. label = "ubootconfig";
  199. };
  200. partition@ff3000 {
  201. reg = <0xff3000 0x2000>;
  202. label = "board_config";
  203. read-only;
  204. };
  205. };
  206. };
  207. &eth0 {
  208. lan: interface@0 {
  209. compatible = "lantiq,xrx200-pdi";
  210. #address-cells = <1>;
  211. #size-cells = <0>;
  212. reg = <0>;
  213. lantiq,switch;
  214. ethernet@1 {
  215. compatible = "lantiq,xrx200-pdi-port";
  216. reg = <4>;
  217. phy-mode = "mii";
  218. phy-handle = <&phy13>;
  219. };
  220. ethernet@2 {
  221. compatible = "lantiq,xrx200-pdi-port";
  222. reg = <5>;
  223. phy-mode = "mii";
  224. phy-handle = <&phy14>;
  225. };
  226. ethernet@3 {
  227. compatible = "lantiq,xrx200-pdi-port";
  228. reg = <2>;
  229. phy-mode = "mii";
  230. phy-handle = <&phy11>;
  231. };
  232. ethernet@4 {
  233. compatible = "lantiq,xrx200-pdi-port";
  234. reg = <3>;
  235. phy-mode = "mii";
  236. phy-handle = <&phy12>;
  237. };
  238. };
  239. mdio@0 {
  240. #address-cells = <1>;
  241. #size-cells = <0>;
  242. compatible = "lantiq,xrx200-mdio";
  243. phy11: ethernet-phy@11 {
  244. reg = <0x11>;
  245. compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
  246. };
  247. phy12: ethernet-phy@12 {
  248. reg = <0x12>;
  249. compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
  250. };
  251. phy13: ethernet-phy@13 {
  252. reg = <0x13>;
  253. compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
  254. };
  255. phy14: ethernet-phy@14 {
  256. reg = <0x14>;
  257. compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
  258. };
  259. };
  260. };