qcom-ipq4019-fritzrepeater-1200.dts 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  1. // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
  2. #include "qcom-ipq4019.dtsi"
  3. #include <dt-bindings/gpio/gpio.h>
  4. #include <dt-bindings/input/input.h>
  5. #include <dt-bindings/leds/common.h>
  6. #include <dt-bindings/soc/qcom,tcsr.h>
  7. / {
  8. model = "AVM FRITZ!Repeater 1200";
  9. compatible = "avm,fritzrepeater-1200";
  10. aliases {
  11. led-boot = &power_green;
  12. led-failsafe = &power_red;
  13. led-running = &power_green;
  14. led-upgrade = &power_red;
  15. label-mac-device = &wifi0;
  16. };
  17. soc {
  18. rng@22000 {
  19. status = "okay";
  20. };
  21. mdio@90000 {
  22. status = "okay";
  23. pinctrl-0 = <&mdio_pins>;
  24. pinctrl-names = "default";
  25. ethphy: ethernet-phy@0 {
  26. reg = <0x0>;
  27. };
  28. };
  29. tcsr@1949000 {
  30. compatible = "qcom,tcsr";
  31. reg = <0x1949000 0x100>;
  32. qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
  33. };
  34. ess_tcsr@1953000 {
  35. compatible = "qcom,tcsr";
  36. reg = <0x1953000 0x1000>;
  37. qcom,ess-interface-select = <TCSR_ESS_PSGMII_RGMII5>;
  38. };
  39. tcsr@1957000 {
  40. compatible = "qcom,tcsr";
  41. reg = <0x1957000 0x100>;
  42. qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
  43. };
  44. crypto@8e3a000 {
  45. status = "okay";
  46. };
  47. watchdog@b017000 {
  48. status = "okay";
  49. };
  50. };
  51. key {
  52. compatible = "gpio-keys";
  53. wps {
  54. label = "WPS button";
  55. gpios = <&tlmm 10 GPIO_ACTIVE_LOW>;
  56. linux,code = <KEY_WPS_BUTTON>;
  57. };
  58. };
  59. leds {
  60. compatible = "gpio-leds";
  61. power_red: power_red {
  62. function = LED_FUNCTION_POWER;
  63. color = <LED_COLOR_ID_RED>;
  64. gpios = <&tlmm 50 GPIO_ACTIVE_LOW>;
  65. };
  66. power_green: power_green {
  67. function = LED_FUNCTION_POWER;
  68. color = <LED_COLOR_ID_GREEN>;
  69. gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
  70. };
  71. power_yellow {
  72. function = LED_FUNCTION_POWER;
  73. color = <LED_COLOR_ID_YELLOW>;
  74. gpios = <&tlmm 49 GPIO_ACTIVE_LOW>;
  75. };
  76. };
  77. };
  78. &tlmm {
  79. serial_0_pins: serial_pinmux {
  80. mux {
  81. pins = "gpio16", "gpio17";
  82. function = "blsp_uart0";
  83. bias-disable;
  84. };
  85. };
  86. nand_pins: nand_pins {
  87. pullups {
  88. pins = "gpio53", "gpio58", "gpio59";
  89. function = "qpic";
  90. bias-pull-up;
  91. };
  92. pulldowns {
  93. pins = "gpio54", "gpio55", "gpio56",
  94. "gpio57", "gpio60", "gpio61",
  95. "gpio62", "gpio63", "gpio64",
  96. "gpio65", "gpio66", "gpio67",
  97. "gpio68", "gpio69";
  98. function = "qpic";
  99. bias-pull-down;
  100. };
  101. };
  102. mdio_pins: mdio_pinmux {
  103. mux_1 {
  104. pins = "gpio6";
  105. function = "mdio";
  106. bias-pull-up;
  107. };
  108. mux_2 {
  109. pins = "gpio7";
  110. function = "mdc";
  111. bias-pull-up;
  112. };
  113. };
  114. phy-reset {
  115. line-name = "PHY-reset";
  116. gpios = <19 GPIO_ACTIVE_HIGH>;
  117. gpio-hog;
  118. output-high;
  119. };
  120. phy-reset-2 {
  121. line-name = "PHY-reset-2";
  122. gpios = <47 GPIO_ACTIVE_HIGH>;
  123. gpio-hog;
  124. output-high;
  125. };
  126. };
  127. &nand {
  128. pinctrl-0 = <&nand_pins>;
  129. pinctrl-names = "default";
  130. status = "okay";
  131. nand@0 {
  132. partitions {
  133. compatible = "fixed-partitions";
  134. #address-cells = <1>;
  135. #size-cells = <1>;
  136. partition@0 {
  137. label = "SBL1";
  138. reg = <0x0 0x80000>;
  139. read-only;
  140. };
  141. partition@80000 {
  142. label = "MIBIB";
  143. reg = <0x80000 0x80000>;
  144. read-only;
  145. };
  146. partition@100000 {
  147. label = "QSEE";
  148. reg = <0x100000 0x80000>;
  149. read-only;
  150. };
  151. partition@180000 {
  152. label = "CDT";
  153. reg = <0x180000 0x40000>;
  154. read-only;
  155. };
  156. partition@1c0000 {
  157. label = "QSEE_B";
  158. reg = <0x1c0000 0x80000>;
  159. read-only;
  160. };
  161. partition@240000 {
  162. label = "urlader0";
  163. reg = <0x240000 0x40000>;
  164. read-only;
  165. };
  166. partition@280000 {
  167. label = "urlader1";
  168. reg = <0x280000 0x40000>;
  169. read-only;
  170. };
  171. partition@2c0000 {
  172. label = "nand-tffs";
  173. reg = <0x2c0000 0x840000>;
  174. read-only;
  175. };
  176. partition@b00000 {
  177. /* 'kernel1' in AVM firmware */
  178. label = "uboot0";
  179. reg = <0xb00000 0x400000>;
  180. };
  181. partition@f00000 {
  182. /* 'kernel2' in AVM firmware */
  183. label = "uboot1";
  184. reg = <0xf00000 0x400000>;
  185. };
  186. partition@1300000 {
  187. label = "ubi";
  188. reg = <0x1300000 0x6d00000>;
  189. };
  190. };
  191. };
  192. };
  193. &cryptobam {
  194. status = "okay";
  195. };
  196. &blsp_dma {
  197. status = "okay";
  198. };
  199. &blsp1_uart1 {
  200. pinctrl-0 = <&serial_0_pins>;
  201. pinctrl-names = "default";
  202. status = "okay";
  203. };
  204. &qpic_bam {
  205. status = "okay";
  206. };
  207. &wifi0 {
  208. status = "okay";
  209. qcom,ath10k-calibration-variant = "AVM-FRITZRepeater-1200";
  210. };
  211. &wifi1 {
  212. status = "okay";
  213. qcom,ath10k-calibration-variant = "AVM-FRITZRepeater-1200";
  214. };
  215. &gmac {
  216. status = "okay";
  217. };
  218. &switch {
  219. status = "okay";
  220. /delete-property/ psgmii-ethphy;
  221. };
  222. &swport5 {
  223. status = "okay";
  224. label = "lan";
  225. phy-handle = <&ethphy>;
  226. phy-mode = "rgmii-id";
  227. };
  228. &ethphy1 {
  229. status = "disabled";
  230. };
  231. &ethphy2 {
  232. status = "disabled";
  233. };
  234. &ethphy3 {
  235. status = "disabled";
  236. };
  237. &ethphy4 {
  238. status = "disabled";
  239. };
  240. &psgmiiphy {
  241. status = "disabled";
  242. };