BTHOMEHUBV5A.dts 5.8 KB

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