BTHOMEHUBV5A.dts 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. /dts-v1/;
  2. #include "vr9.dtsi"
  3. #include <dt-bindings/input/input.h>
  4. / {
  5. model = "BTHOMEHUBV5A - BT Home Hub 5A";
  6. chosen {
  7. bootargs = "console=ttyLTQ0,115200";
  8. };
  9. aliases {
  10. led-boot = &power_green;
  11. led-failsafe = &power_red;
  12. led-running = &power_blue;
  13. led-internet = &broadband_blue;
  14. led-wifi = &wireless_blue;
  15. };
  16. memory@0 {
  17. reg = <0x0 0x8000000>;
  18. };
  19. fpi@10000000 {
  20. localbus@0 {
  21. nand-parts@0 {
  22. compatible = "gen_nand", "lantiq,nand-xway";
  23. lantiq,cs = <1>;
  24. bank-width = <2>;
  25. reg = <0x1 0x0 0x2000000>;
  26. #address-cells = <1>;
  27. #size-cells = <1>;
  28. nand-on-flash-bbt;
  29. nand-ecc-strength = <3>;
  30. nand-ecc-step-size = <256>;
  31. partitions {
  32. compatible = "fixed-partitions";
  33. #address-cells = <1>;
  34. #size-cells = <1>;
  35. partition@0 {
  36. label = "u-boot";
  37. reg = <0x0 0xa0000>;
  38. read-only;
  39. };
  40. partition@a0000 {
  41. label = "uboot-env";
  42. reg = <0xa0000 0x20000>;
  43. read-only;
  44. };
  45. partition@c0000 {
  46. label = "unused";
  47. reg = <0xc0000 0x40000>;
  48. };
  49. partition@100000 {
  50. label = "ubi";
  51. reg = <0x100000 0x7e80000>;
  52. };
  53. /*
  54. * last 512 KiB are for the bad block table, not writable
  55. */
  56. };
  57. };
  58. };
  59. gpio: pinmux@E100B10 {
  60. pinctrl-names = "default";
  61. pinctrl-0 = <&state_default>;
  62. state_default: pinmux {
  63. mdio {
  64. lantiq,groups = "mdio";
  65. lantiq,function = "mdio";
  66. };
  67. pci_rst {
  68. lantiq,pins = "io21";
  69. lantiq,output = <1>;
  70. lantiq,open-drain;
  71. };
  72. pcie_rst {
  73. lantiq,pins = "io38";
  74. lantiq,pull = <0>;
  75. lantiq,output = <1>;
  76. lantiq,open-drain;
  77. };
  78. usb_vbus {
  79. lantiq,pins = "io33";
  80. lantiq,pull = <0>;
  81. lantiq,open-drain = <0>;
  82. lantiq,output = <1>;
  83. };
  84. nand_out {
  85. lantiq,groups = "nand cle", "nand ale";
  86. lantiq,function = "ebu";
  87. lantiq,output = <1>;
  88. lantiq,open-drain = <0>;
  89. lantiq,pull = <0>;
  90. };
  91. nand_cs1 {
  92. lantiq,groups = "nand cs1";
  93. lantiq,function = "ebu";
  94. lantiq,open-drain = <0>;
  95. lantiq,pull = <0>;
  96. };
  97. };
  98. };
  99. ifxhcd@E101000 {
  100. status = "okay";
  101. gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
  102. };
  103. };
  104. gphy-xrx200 {
  105. compatible = "lantiq,phy-xrx200";
  106. firmware1 = "lantiq/vr9_phy11g_a1x.bin"; /*VR9 1.1*/
  107. firmware2 = "lantiq/vr9_phy11g_a2x.bin"; /*VR9 1.2*/
  108. phys = [ 00 01 ];
  109. };
  110. gpio-keys-polled {
  111. compatible = "gpio-keys-polled";
  112. #address-cells = <1>;
  113. #size-cells = <0>;
  114. poll-interval = <100>;
  115. reset {
  116. label = "reset";
  117. gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
  118. linux,code = <KEY_RESTART>;
  119. };
  120. wps {
  121. label = "wps";
  122. gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
  123. linux,code = <KEY_WPS_BUTTON>;
  124. };
  125. restart {
  126. label = "restart";
  127. gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
  128. linux,code = <KEY_POWER>;
  129. };
  130. };
  131. gpio-leds {
  132. compatible = "gpio-leds";
  133. /* broadband-* is a single RGB led */
  134. broadband-red {
  135. label = "bthomehubv5a:red:broadband";
  136. gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
  137. };
  138. broadband-green {
  139. label = "bthomehubv5a:green:broadband";
  140. gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
  141. };
  142. broadband_blue: broadband-blue {
  143. label = "bthomehubv5a:blue:broadband";
  144. gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
  145. };
  146. /* wireless-* is a single RGB led */
  147. wireless-red {
  148. label = "bthomehubv5a:red:wireless";
  149. gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
  150. };
  151. wireless-green {
  152. label = "bthomehubv5a:green:wireless";
  153. gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
  154. };
  155. wireless_blue: wireless-blue {
  156. label = "bthomehubv5a:blue:wireless";
  157. gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
  158. };
  159. /* power-* is a single RGB led */
  160. power_red: power-red {
  161. label = "bthomehubv5a:red:power";
  162. gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
  163. };
  164. power_green: power-green {
  165. label = "bthomehubv5a:green:power";
  166. gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
  167. default-state = "keep";
  168. };
  169. power_blue: power-blue {
  170. label = "bthomehubv5a:blue:power";
  171. gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
  172. };
  173. dimmed {
  174. label = "dimmed";
  175. gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
  176. };
  177. };
  178. };
  179. &pci0 {
  180. status = "okay";
  181. gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
  182. wifi@168c,002d {
  183. compatible = "pci168c,002d";
  184. reg = <0x7000 0 0 0 0>;
  185. qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
  186. qca,disable-5ghz;
  187. };
  188. };
  189. &eth0 {
  190. lan: interface@0 {
  191. compatible = "lantiq,xrx200-pdi";
  192. #address-cells = <1>;
  193. #size-cells = <0>;
  194. reg = <0>;
  195. lantiq,switch;
  196. ethernet@0 {
  197. compatible = "lantiq,xrx200-pdi-port";
  198. reg = <0>;
  199. phy-mode = "rgmii";
  200. phy-handle = <&phy0>;
  201. };
  202. ethernet@1 {
  203. compatible = "lantiq,xrx200-pdi-port";
  204. reg = <1>;
  205. phy-mode = "rgmii";
  206. phy-handle = <&phy1>;
  207. };
  208. ethernet@2 {
  209. compatible = "lantiq,xrx200-pdi-port";
  210. reg = <2>;
  211. phy-mode = "gmii";
  212. phy-handle = <&phy11>;
  213. };
  214. ethernet@4 {
  215. compatible = "lantiq,xrx200-pdi-port";
  216. reg = <4>;
  217. phy-mode = "gmii";
  218. phy-handle = <&phy13>;
  219. };
  220. ethernet@5 {
  221. compatible = "lantiq,xrx200-pdi-port";
  222. reg = <5>;
  223. phy-mode = "rgmii";
  224. phy-handle = <&phy5>;
  225. };
  226. };
  227. mdio@0 {
  228. #address-cells = <1>;
  229. #size-cells = <0>;
  230. compatible = "lantiq,xrx200-mdio";
  231. phy0: ethernet-phy@0 {
  232. reg = <0x0>;
  233. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  234. };
  235. phy1: ethernet-phy@1 {
  236. reg = <0x1>;
  237. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  238. };
  239. phy5: ethernet-phy@5 {
  240. reg = <0x5>;
  241. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  242. };
  243. phy11: ethernet-phy@11 {
  244. reg = <0x11>;
  245. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  246. };
  247. phy13: ethernet-phy@13 {
  248. reg = <0x13>;
  249. compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
  250. };
  251. };
  252. };