qcom-ipq4019-e2600ac.dtsi 3.8 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. serial@78af000 {
  50. pinctrl-0 = <&serial_0_pins>;
  51. pinctrl-names = "default";
  52. status = "okay";
  53. };
  54. serial@78b0000 {
  55. pinctrl-0 = <&serial_1_pins>;
  56. pinctrl-names = "default";
  57. status = "okay";
  58. };
  59. i2c@78b7000 { /* BLSP1 QUP2 */
  60. pinctrl-0 = <&i2c_0_pins>;
  61. pinctrl-names = "default";
  62. status = "okay";
  63. };
  64. crypto@8e3a000 {
  65. status = "okay";
  66. };
  67. watchdog@b017000 {
  68. status = "okay";
  69. };
  70. leds {
  71. compatible = "gpio-leds";
  72. led1 {
  73. label = "green:wlan0";
  74. gpios = <&tlmm 50 GPIO_ACTIVE_LOW>;
  75. };
  76. led2 {
  77. label = "green:wlan1";
  78. gpios = <&tlmm 36 GPIO_ACTIVE_LOW>;
  79. };
  80. led3 {
  81. function = LED_FUNCTION_USB;
  82. color = <LED_COLOR_ID_GREEN>;
  83. gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
  84. trigger-sources = <&usb2_port1>, <&usb3_port1>, <&usb3_port2>;
  85. linux,default-trigger = "usbport";
  86. };
  87. led4 {
  88. label = "green:ctrl1";
  89. gpios = <&tlmm 51 GPIO_ACTIVE_LOW>;
  90. };
  91. led5 {
  92. label = "green:ctrl2";
  93. gpios = <&tlmm 30 GPIO_ACTIVE_LOW>;
  94. };
  95. led6 {
  96. label = "green:ctrl3";
  97. gpios = <&tlmm 31 GPIO_ACTIVE_LOW>;
  98. };
  99. };
  100. keys {
  101. compatible = "gpio-keys";
  102. reset {
  103. label = "reset";
  104. gpios = <&tlmm 18 GPIO_ACTIVE_LOW>;
  105. linux,code = <KEY_RESTART>;
  106. };
  107. };
  108. };
  109. };
  110. &blsp_dma {
  111. status = "okay";
  112. };
  113. &cryptobam {
  114. status = "okay";
  115. };
  116. &qpic_bam {
  117. status = "okay";
  118. };
  119. &tlmm {
  120. i2c_0_pins: i2c-0-pinmux {
  121. mux {
  122. pins = "gpio20", "gpio21";
  123. function = "blsp_i2c0";
  124. bias-disable;
  125. };
  126. };
  127. mdio_pins: mdio_pinmux {
  128. mux_1 {
  129. pins = "gpio6";
  130. function = "mdio";
  131. bias-pull-up;
  132. };
  133. mux_2 {
  134. pins = "gpio7";
  135. function = "mdc";
  136. bias-pull-up;
  137. };
  138. };
  139. serial_0_pins: serial0-pinmux {
  140. mux {
  141. pins = "gpio16", "gpio17";
  142. function = "blsp_uart0";
  143. bias-disable;
  144. };
  145. };
  146. serial_1_pins: serial1_pinmux {
  147. mux {
  148. pins = "gpio8", "gpio9";
  149. function = "blsp_uart1";
  150. bias-disable;
  151. };
  152. };
  153. spi_0_pins: spi_0_pinmux {
  154. pinmux {
  155. function = "blsp_spi0";
  156. pins = "gpio13", "gpio14", "gpio15";
  157. drive-strength = <12>;
  158. bias-disable;
  159. };
  160. pinmux_cs {
  161. function = "gpio";
  162. pins = "gpio12";
  163. drive-strength = <2>;
  164. bias-disable;
  165. output-high;
  166. };
  167. };
  168. };
  169. &usb3 {
  170. status = "okay";
  171. dwc3@8a00000 {
  172. #address-cells = <1>;
  173. #size-cells = <0>;
  174. usb3_port1: port@1 {
  175. reg = <1>;
  176. #trigger-source-cells = <0>;
  177. };
  178. usb3_port2: port@2 {
  179. reg = <2>;
  180. #trigger-source-cells = <0>;
  181. };
  182. };
  183. };
  184. &usb3_ss_phy {
  185. status = "okay";
  186. };
  187. &usb3_hs_phy {
  188. status = "okay";
  189. };
  190. &usb2 {
  191. status = "okay";
  192. dwc3@6000000 {
  193. #address-cells = <1>;
  194. #size-cells = <0>;
  195. usb2_port1: port@1 {
  196. reg = <1>;
  197. #trigger-source-cells = <0>;
  198. };
  199. };
  200. };
  201. &usb2_hs_phy {
  202. status = "okay";
  203. };