BTHOMEHUBV3A.dts 3.9 KB

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