BTHOMEHUBV2B.dts 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. /dts-v1/;
  2. #include "danube.dtsi"
  3. #include <dt-bindings/input/input.h>
  4. / {
  5. model = "BTHOMEHUBV2B - BT Home Hub 2B"; /* SoC: Lantiq Danube-S PSB 50712 @ 333MHz V1.3/1.5 */
  6. chosen {
  7. bootargs = "console=ttyLTQ0,115200";
  8. };
  9. aliases {
  10. led-boot = &power_orange;
  11. led-failsafe = &power_red;
  12. led-running = &power_blue;
  13. led-internet = &broadband_blue;
  14. led-wifi = &wireless_blue;
  15. };
  16. memory@0 { /* RAM: Samsung K4H511638F-LC 64MB */
  17. reg = <0x0 0x4000000>;
  18. };
  19. sram@1F000000 {
  20. vmmc@107000 {
  21. status = "okay";
  22. gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
  23. };
  24. };
  25. fpi@10000000 {
  26. localbus@0 {
  27. nor-boot@0 { /* NOR Flash: Spansion S29AL004D 512KB */
  28. compatible = "lantiq,nor"; /* "AMD AM29LV400BB" compatible on 3.3.8 */
  29. lantiq,cs = <0>;
  30. bank-width = <2>;
  31. reg = <0 0x0 0x80000>;
  32. #address-cells = <1>;
  33. #size-cells = <1>;
  34. partitions {
  35. compatible = "fixed-partitions";
  36. #address-cells = <1>;
  37. #size-cells = <1>;
  38. partition@0 {
  39. label = "uboot";
  40. reg = <0x00000 0x40000>; /* 256KB */
  41. };
  42. partition@40000 {
  43. label = "uboot_env";
  44. reg = <0x40000 0x10000>; /* 64KB */
  45. };
  46. partition@50000 {
  47. label = "rg_conf_1";
  48. reg = <0x50000 0x10000>;
  49. };
  50. partition@60000 {
  51. label = "rg_conf_2";
  52. reg = <0x60000 0x10000>;
  53. };
  54. partition@70000 {
  55. label = "rg_conf_factory";
  56. reg = <0x70000 0x10000>;
  57. };
  58. };
  59. };
  60. nand-parts@0 { /* NAND Flash: Samsung K9F5608U0D-JIB0 32MB */
  61. compatible = "gen_nand", "lantiq,nand-xway";
  62. lantiq,cs = <1>;
  63. bank-width = <2>;
  64. reg = <1 0x0 0x2000000 >;
  65. #address-cells = <1>;
  66. #size-cells = <1>;
  67. req-mask = <0x1>; /* PCI request lines to mask during NAND access */
  68. partitions {
  69. compatible = "fixed-partitions";
  70. #address-cells = <1>;
  71. #size-cells = <1>;
  72. ath9k_cal: partition@0 {
  73. label = "art"; /* Atheros 9160 wifi b/g/n radio EEPROM */
  74. reg = <0x00000 0x4000>;
  75. read-only;
  76. };
  77. partition@4000 {
  78. label = "kernel";
  79. reg = <0x4000 0x200000>;
  80. };
  81. partition@164000 {
  82. label = "ubi";
  83. reg = <0x204000 0x1DFC000>;
  84. };
  85. };
  86. };
  87. };
  88. gpio: pinmux@E100B10 {
  89. pinctrl-names = "default";
  90. pinctrl-0 = <&state_default>;
  91. state_default: pinmux {
  92. nand_out {
  93. lantiq,groups = "nand cle", "nand ale";
  94. lantiq,function = "ebu";
  95. lantiq,output = <1>;
  96. lantiq,open-drain = <0>;
  97. lantiq,pull = <0>;
  98. };
  99. nand_cs1 {
  100. lantiq,groups = "nand cs1";
  101. lantiq,function = "ebu";
  102. lantiq,open-drain = <0>;
  103. lantiq,pull = <0>;
  104. };
  105. exin {
  106. lantiq,groups = "exin1";
  107. lantiq,function = "exin";
  108. };
  109. pci_in {
  110. lantiq,groups = "req1";
  111. lantiq,function = "pci";
  112. lantiq,output = <0>;
  113. lantiq,open-drain = <1>;
  114. lantiq,pull = <2>;
  115. };
  116. pci_out {
  117. lantiq,groups = "gnt1";
  118. lantiq,function = "pci";
  119. lantiq,output = <1>;
  120. lantiq,open-drain = <0>;
  121. lantiq,pull = <0>;
  122. };
  123. pci_rst {
  124. lantiq,pins = "io21";
  125. lantiq,output = <1>;
  126. lantiq,open-drain = <0>;
  127. };
  128. btn_in {
  129. lantiq,pins = "io2", "io15", "io22";
  130. lantiq,output = <0>;
  131. lantiq,open-drain = <1>;
  132. lantiq,pull = <2>;
  133. };
  134. };
  135. };
  136. etop@E180000 {
  137. phy-mode = "rmii";
  138. };
  139. ifxhcd@E101000 {
  140. status = "okay";
  141. };
  142. gpios: stp@E100BB0 {
  143. status = "okay";
  144. };
  145. };
  146. gpio-keys-polled {
  147. compatible = "gpio-keys-polled";
  148. #address-cells = <1>;
  149. #size-cells = <0>;
  150. poll-interval = <100>;
  151. reset {
  152. label = "reset";
  153. gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
  154. linux,code = <KEY_RESTART>;
  155. };
  156. findhandset {
  157. label = "findhandset";
  158. gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
  159. linux,code = <KEY_PHONE>;
  160. };
  161. wps {
  162. label = "wps";
  163. gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
  164. linux,code = <KEY_WPS_BUTTON>;
  165. };
  166. };
  167. gpio-leds {
  168. compatible = "gpio-leds";
  169. upgrading-orange {
  170. label = "bthomehubv2b:orange:upgrading";
  171. gpios = <&gpios 5 GPIO_ACTIVE_HIGH>;
  172. };
  173. phone-orange {
  174. label = "bthomehubv2b:orange:phone";
  175. gpios = <&gpios 6 GPIO_ACTIVE_HIGH>;
  176. };
  177. phone-blue {
  178. label = "bthomehubv2b:blue:phone";
  179. gpios = <&gpios 7 GPIO_ACTIVE_HIGH>;
  180. };
  181. wireless-orange {
  182. label = "bthomehubv2b:orange:wireless";
  183. gpios = <&gpios 8 GPIO_ACTIVE_HIGH>;
  184. };
  185. wireless_blue: wireless-blue {
  186. label = "bthomehubv2b:blue:wireless";
  187. gpios = <&gpios 9 GPIO_ACTIVE_HIGH>;
  188. };
  189. broadband-red {
  190. label = "bthomehubv2b:red:broadband";
  191. gpios = <&gpios 10 GPIO_ACTIVE_HIGH>;
  192. };
  193. broadband-orange {
  194. label = "bthomehubv2b:orange:broadband";
  195. gpios = <&gpios 11 GPIO_ACTIVE_HIGH>;
  196. };
  197. broadband_blue: broadband-blue {
  198. label = "bthomehubv2b:blue:broadband";
  199. gpios = <&gpios 12 GPIO_ACTIVE_HIGH>;
  200. };
  201. power_red: power-red {
  202. label = "bthomehubv2b:red:power";
  203. gpios = <&gpios 13 GPIO_ACTIVE_HIGH>;
  204. };
  205. power_orange: power-orange {
  206. label = "bthomehubv2b:orange:power";
  207. gpios = <&gpios 14 GPIO_ACTIVE_HIGH>;
  208. default-state = "keep";
  209. };
  210. power_blue: power-blue {
  211. label = "bthomehubv2b:blue:power";
  212. gpios = <&gpios 15 GPIO_ACTIVE_HIGH>;
  213. };
  214. };
  215. };
  216. &pci0 {
  217. status = "okay";
  218. gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
  219. wifi@168c,0027 {
  220. compatible = "pci168c,0027";
  221. reg = <0x7000 0 0 0 0>;
  222. qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
  223. };
  224. };