BTHOMEHUBV3A.dts 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. /dts-v1/;
  2. #include "ar9.dtsi"
  3. #include <dt-bindings/input/input.h>
  4. / {
  5. model = "BTHOMEHUBV3A - BT Home Hub 3A"; /* SoC: Lantiq ar9 @ 333MHz */
  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. nand-parts@0 { /* NAND Flash: Samsung K9F5608U0D-JIB0 32MB */
  28. compatible = "gen_nand", "lantiq,nand-xway";
  29. lantiq,cs = <1>;
  30. bank-width = <2>;
  31. reg = <1 0x0 0x2000000 >;
  32. #address-cells = <1>;
  33. #size-cells = <1>;
  34. req-mask = <0x1>; /* PCI request lines to mask during NAND access */
  35. partitions {
  36. compatible = "fixed-partitions";
  37. #address-cells = <1>;
  38. #size-cells = <1>;
  39. partition@0 {
  40. label = "preboot";
  41. reg = <0x00000 0x8000>;
  42. read-only;
  43. };
  44. partition@8000 {
  45. label = "u-boot";
  46. reg = <0x8000 0x05c000>;
  47. read-only;
  48. };
  49. partition@64000 {
  50. label = "uboot_env";
  51. reg = <0x64000 0x004000>;
  52. };
  53. ath9k_cal: partition@68000 {
  54. label = "art-copy";
  55. reg = <0x68000 0x004000>;
  56. };
  57. partition@6c000 {
  58. label = "kernel";
  59. reg = <0x6c000 0x200000>;
  60. };
  61. partition@26c000 {
  62. label = "ubi";
  63. reg = <0x26c000 0x1d94000>;
  64. };
  65. };
  66. };
  67. };
  68. gpio: pinmux@E100B10 {
  69. pinctrl-names = "default";
  70. pinctrl-0 = <&state_default>;
  71. state_default: pinmux {
  72. nand_out {
  73. lantiq,groups = "nand cle", "nand ale";
  74. lantiq,function = "ebu";
  75. lantiq,output = <1>;
  76. lantiq,open-drain = <0>;
  77. lantiq,pull = <0>;
  78. };
  79. nand_cs1 {
  80. lantiq,groups = "nand cs1";
  81. lantiq,function = "ebu";
  82. lantiq,open-drain = <0>;
  83. lantiq,pull = <0>;
  84. };
  85. pci_in {
  86. lantiq,groups = "req1";
  87. lantiq,function = "pci";
  88. lantiq,output = <0>;
  89. lantiq,open-drain = <1>;
  90. lantiq,pull = <2>;
  91. };
  92. pci_out {
  93. lantiq,groups = "gnt1";
  94. lantiq,function = "pci";
  95. lantiq,output = <1>;
  96. lantiq,open-drain = <0>;
  97. lantiq,pull = <0>;
  98. };
  99. pci_rst {
  100. lantiq,pins = "io21";
  101. lantiq,output = <1>;
  102. lantiq,open-drain = <0>;
  103. };
  104. };
  105. };
  106. etop@E180000 {
  107. phy-mode = "rgmii";
  108. };
  109. ifxhcd@E101000 {
  110. status = "okay";
  111. gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
  112. };
  113. };
  114. gpio-keys-polled {
  115. compatible = "gpio-keys-polled";
  116. #address-cells = <1>;
  117. #size-cells = <0>;
  118. poll-interval = <100>;
  119. reset {
  120. label = "reset";
  121. gpios = <&gpio 54 GPIO_ACTIVE_LOW>;
  122. linux,code = <KEY_RESTART>;
  123. };
  124. restart {
  125. label = "restart";
  126. gpios = <&gpio 52 GPIO_ACTIVE_LOW>;
  127. linux,code = <KEY_POWER>;
  128. };
  129. wps {
  130. label = "wps";
  131. gpios = <&gpio 53 GPIO_ACTIVE_LOW>;
  132. linux,code = <KEY_WPS_BUTTON>;
  133. };
  134. };
  135. gpio-leds {
  136. compatible = "gpio-leds";
  137. wireless-red {
  138. label = "bthomehubv3a:red:wireless";
  139. gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
  140. };
  141. wireless-orange {
  142. label = "bthomehubv3a:orange:wireless";
  143. gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
  144. };
  145. wireless_blue: wireless-blue {
  146. label = "bthomehubv3a:blue:wireless";
  147. gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
  148. };
  149. broadband-red {
  150. label = "bthomehubv3a:red:broadband";
  151. gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
  152. };
  153. broadband-orange {
  154. label = "bthomehubv3a:orange:broadband";
  155. gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
  156. };
  157. broadband_blue: broadband-blue {
  158. label = "bthomehubv3a:blue:broadband";
  159. gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
  160. };
  161. power_red: power-red {
  162. label = "bthomehubv3a:red:power";
  163. gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
  164. };
  165. power_orange: power-orange {
  166. label = "bthomehubv3a:orange:power";
  167. gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
  168. default-state = "keep";
  169. };
  170. power_blue: power-blue {
  171. label = "bthomehubv3a:blue:power";
  172. gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
  173. };
  174. };
  175. };
  176. &pci0 {
  177. status = "okay";
  178. gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
  179. ath9k@7000 {
  180. reg = <0x7000 0 0 0 0>;
  181. qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
  182. };
  183. };