qcom-ipq4019-e2600ac.dtsi 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. /* SPDX-License-Identifier: GPL-2.0-or-later OR MIT
  2. *
  3. * Copyright (c) 2018 Peng Zhang <[email protected]>
  4. *
  5. */
  6. #include "qcom-ipq4019.dtsi"
  7. #include <dt-bindings/gpio/gpio.h>
  8. #include <dt-bindings/input/input.h>
  9. #include <dt-bindings/leds/common.h>
  10. #include <dt-bindings/soc/qcom,tcsr.h>
  11. / {
  12. model = "Qxwlan E2600AC";
  13. compatible = "qcom,ipq4019";
  14. memory {
  15. device_type = "memory";
  16. reg = <0x80000000 0x10000000>; /* 256MB */
  17. };
  18. soc {
  19. rng@22000 {
  20. status = "okay";
  21. };
  22. mdio@90000 {
  23. status = "okay";
  24. pinctrl-0 = <&mdio_pins>;
  25. pinctrl-names = "default";
  26. };
  27. tcsr@1949000 {
  28. compatible = "qcom,tcsr";
  29. reg = <0x1949000 0x100>;
  30. qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
  31. };
  32. tcsr@194b000 {
  33. /* select hostmode */
  34. compatible = "qcom,tcsr";
  35. reg = <0x194b000 0x100>;
  36. qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
  37. status = "okay";
  38. };
  39. ess_tcsr@1953000 {
  40. compatible = "qcom,tcsr";
  41. reg = <0x1953000 0x1000>;
  42. qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
  43. };
  44. tcsr@1957000 {
  45. compatible = "qcom,tcsr";
  46. reg = <0x1957000 0x100>;
  47. qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
  48. };
  49. usb2: usb2@60f8800 {
  50. status = "okay";
  51. dwc3@6000000 {
  52. #address-cells = <1>;
  53. #size-cells = <0>;
  54. usb2_port1: port@1 {
  55. reg = <1>;
  56. #trigger-source-cells = <0>;
  57. };
  58. };
  59. };
  60. serial@78af000 {
  61. pinctrl-0 = <&serial_0_pins>;
  62. pinctrl-names = "default";
  63. status = "okay";
  64. };
  65. serial@78b0000 {
  66. pinctrl-0 = <&serial_1_pins>;
  67. pinctrl-names = "default";
  68. status = "okay";
  69. };
  70. i2c@78b7000 { /* BLSP1 QUP2 */
  71. pinctrl-0 = <&i2c_0_pins>;
  72. pinctrl-names = "default";
  73. status = "okay";
  74. };
  75. usb3: usb3@8af8800 {
  76. status = "okay";
  77. dwc3@8a00000 {
  78. #address-cells = <1>;
  79. #size-cells = <0>;
  80. usb3_port1: port@1 {
  81. reg = <1>;
  82. #trigger-source-cells = <0>;
  83. };
  84. usb3_port2: port@2 {
  85. reg = <2>;
  86. #trigger-source-cells = <0>;
  87. };
  88. };
  89. };
  90. crypto@8e3a000 {
  91. status = "okay";
  92. };
  93. watchdog@b017000 {
  94. status = "okay";
  95. };
  96. leds {
  97. compatible = "gpio-leds";
  98. led1 {
  99. label = "green:wlan0";
  100. gpios = <&tlmm 50 GPIO_ACTIVE_LOW>;
  101. };
  102. led2 {
  103. label = "green:wlan1";
  104. gpios = <&tlmm 36 GPIO_ACTIVE_LOW>;
  105. };
  106. led3 {
  107. function = LED_FUNCTION_USB;
  108. color = <LED_COLOR_ID_GREEN>;
  109. gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
  110. trigger-sources = <&usb2_port1>, <&usb3_port1>, <&usb3_port2>;
  111. linux,default-trigger = "usbport";
  112. };
  113. led4 {
  114. label = "green:ctrl1";
  115. gpios = <&tlmm 51 GPIO_ACTIVE_LOW>;
  116. };
  117. led5 {
  118. label = "green:ctrl2";
  119. gpios = <&tlmm 30 GPIO_ACTIVE_LOW>;
  120. };
  121. led6 {
  122. label = "green:ctrl3";
  123. gpios = <&tlmm 31 GPIO_ACTIVE_LOW>;
  124. };
  125. };
  126. keys {
  127. compatible = "gpio-keys";
  128. reset {
  129. label = "reset";
  130. gpios = <&tlmm 18 GPIO_ACTIVE_LOW>;
  131. linux,code = <KEY_RESTART>;
  132. };
  133. };
  134. };
  135. };
  136. &blsp_dma {
  137. status = "okay";
  138. };
  139. &cryptobam {
  140. status = "okay";
  141. };
  142. &qpic_bam {
  143. status = "okay";
  144. };
  145. &tlmm {
  146. i2c_0_pins: i2c-0-pinmux {
  147. mux {
  148. pins = "gpio20", "gpio21";
  149. function = "blsp_i2c0";
  150. bias-disable;
  151. };
  152. };
  153. mdio_pins: mdio_pinmux {
  154. mux_1 {
  155. pins = "gpio6";
  156. function = "mdio";
  157. bias-pull-up;
  158. };
  159. mux_2 {
  160. pins = "gpio7";
  161. function = "mdc";
  162. bias-pull-up;
  163. };
  164. };
  165. serial_0_pins: serial0-pinmux {
  166. mux {
  167. pins = "gpio16", "gpio17";
  168. function = "blsp_uart0";
  169. bias-disable;
  170. };
  171. };
  172. serial_1_pins: serial1_pinmux {
  173. mux {
  174. pins = "gpio8", "gpio9";
  175. function = "blsp_uart1";
  176. bias-disable;
  177. };
  178. };
  179. spi_0_pins: spi_0_pinmux {
  180. pinmux {
  181. function = "blsp_spi0";
  182. pins = "gpio13", "gpio14", "gpio15";
  183. drive-strength = <12>;
  184. bias-disable;
  185. };
  186. pinmux_cs {
  187. function = "gpio";
  188. pins = "gpio12";
  189. drive-strength = <2>;
  190. bias-disable;
  191. output-high;
  192. };
  193. };
  194. };
  195. &usb3_ss_phy {
  196. status = "okay";
  197. };
  198. &usb3_hs_phy {
  199. status = "okay";
  200. };
  201. &usb2_hs_phy {
  202. status = "okay";
  203. };