2
0

qcom-ipq4018-cs-w3-wd1200g-eup.dts 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. // SPDX-License-Identifier: GPL-2.0-only 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 = "EZVIZ CS-W3-WD1200G EUP";
  9. compatible = "ezviz,cs-w3-wd1200g-eup";
  10. aliases {
  11. led-boot = &led_status_green;
  12. led-failsafe = &led_status_red;
  13. led-running = &led_status_blue;
  14. led-upgrade = &led_status_green;
  15. };
  16. soc {
  17. rng@22000 {
  18. status = "okay";
  19. };
  20. mdio@90000 {
  21. status = "okay";
  22. pinctrl-0 = <&mdio_pins>;
  23. pinctrl-names = "default";
  24. reset-gpios = <&tlmm 59 GPIO_ACTIVE_LOW>;
  25. reset-delay-us = <5000>;
  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. compatible = "qcom,tcsr";
  34. reg = <0x194b000 0x100>;
  35. qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
  36. };
  37. ess_tcsr@1953000 {
  38. compatible = "qcom,tcsr";
  39. reg = <0x1953000 0x1000>;
  40. qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
  41. };
  42. tcsr@1957000 {
  43. compatible = "qcom,tcsr";
  44. reg = <0x1957000 0x100>;
  45. qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
  46. };
  47. crypto@8e3a000 {
  48. status = "okay";
  49. };
  50. watchdog@b017000 {
  51. status = "okay";
  52. };
  53. };
  54. leds {
  55. compatible = "gpio-leds";
  56. led_status_red: status_red {
  57. function = LED_FUNCTION_STATUS;
  58. color = <LED_COLOR_ID_RED>;
  59. gpios = <&tlmm 0 GPIO_ACTIVE_LOW>;
  60. };
  61. led_status_green: status_green {
  62. function = LED_FUNCTION_STATUS;
  63. color = <LED_COLOR_ID_GREEN>;
  64. gpios = <&tlmm 3 GPIO_ACTIVE_LOW>;
  65. };
  66. led_status_blue: status_blue {
  67. function = LED_FUNCTION_STATUS;
  68. color = <LED_COLOR_ID_BLUE>;
  69. gpios = <&tlmm 58 GPIO_ACTIVE_LOW>;
  70. };
  71. };
  72. keys {
  73. compatible = "gpio-keys";
  74. reset {
  75. label = "reset";
  76. gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
  77. linux,code = <KEY_RESTART>;
  78. };
  79. };
  80. };
  81. &tlmm {
  82. serial_pins: serial_pinmux {
  83. mux {
  84. pins = "gpio60", "gpio61";
  85. function = "blsp_uart0";
  86. bias-disable;
  87. };
  88. };
  89. mdio_pins: mdio_pinmux {
  90. mux_1 {
  91. pins = "gpio53";
  92. function = "mdio";
  93. bias-pull-up;
  94. };
  95. mux_2 {
  96. pins = "gpio52";
  97. function = "mdc";
  98. bias-pull-up;
  99. };
  100. };
  101. spi_0_pins: spi_0_pinmux {
  102. pin {
  103. function = "blsp_spi0";
  104. pins = "gpio55", "gpio56", "gpio57";
  105. drive-strength = <12>;
  106. bias-disable;
  107. };
  108. pin_cs {
  109. function = "gpio";
  110. pins = "gpio54";
  111. drive-strength = <2>;
  112. bias-disable;
  113. output-high;
  114. };
  115. };
  116. };
  117. &blsp_dma {
  118. status = "okay";
  119. };
  120. &blsp1_spi1 {
  121. pinctrl-0 = <&spi_0_pins>;
  122. pinctrl-names = "default";
  123. status = "okay";
  124. cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
  125. flash@0 {
  126. compatible = "jedec,spi-nor";
  127. reg = <0>;
  128. spi-max-frequency = <24000000>;
  129. partitions {
  130. compatible = "fixed-partitions";
  131. #address-cells = <1>;
  132. #size-cells = <1>;
  133. partition0@0 {
  134. label = "SBL1";
  135. reg = <0x00000000 0x00040000>;
  136. read-only;
  137. };
  138. partition1@40000 {
  139. label = "MIBIB";
  140. reg = <0x00040000 0x00020000>;
  141. read-only;
  142. };
  143. partition2@60000 {
  144. label = "QSEE";
  145. reg = <0x00060000 0x00060000>;
  146. read-only;
  147. };
  148. partition3@c0000 {
  149. label = "CDT";
  150. reg = <0x000c0000 0x00010000>;
  151. read-only;
  152. };
  153. partition4@d0000 {
  154. label = "DDRPARAMS";
  155. reg = <0x000d0000 0x00010000>;
  156. read-only;
  157. };
  158. partition5@E0000 {
  159. label = "APPSBLENV";
  160. reg = <0x000e0000 0x00010000>;
  161. read-only;
  162. };
  163. partition6@F0000 {
  164. label = "APPSBL";
  165. reg = <0x000f0000 0x00080000>;
  166. read-only;
  167. };
  168. partition7@170000 {
  169. label = "ART";
  170. reg = <0x00170000 0x00010000>;
  171. read-only;
  172. nvmem-layout {
  173. compatible = "fixed-layout";
  174. #address-cells = <1>;
  175. #size-cells = <1>;
  176. macaddr_art_0: macaddr@0 {
  177. reg = <0x0 0x6>;
  178. };
  179. macaddr_art_6: macaddr@6 {
  180. reg = <0x6 0x6>;
  181. };
  182. precal_art_1000: precal@1000 {
  183. reg = <0x1000 0x2f20>;
  184. };
  185. precal_art_5000: precal@5000 {
  186. reg = <0x5000 0x2f20>;
  187. };
  188. };
  189. };
  190. partition9@580000 {
  191. compatible = "denx,fit";
  192. label = "firmware";
  193. reg = <0x00180000 0x00e80000>;
  194. };
  195. };
  196. };
  197. };
  198. &blsp1_uart1 {
  199. pinctrl-0 = <&serial_pins>;
  200. pinctrl-names = "default";
  201. status = "okay";
  202. };
  203. &cryptobam {
  204. status = "okay";
  205. };
  206. &gmac {
  207. status = "okay";
  208. nvmem-cells = <&macaddr_art_0>;
  209. nvmem-cell-names = "mac-address";
  210. };
  211. &switch {
  212. status = "okay";
  213. };
  214. &swport2 {
  215. status = "okay";
  216. label = "lan3";
  217. };
  218. &swport3 {
  219. status = "okay";
  220. label = "lan2";
  221. };
  222. &swport4 {
  223. status = "okay";
  224. label = "lan1";
  225. };
  226. &swport5 {
  227. status = "okay";
  228. label = "wan";
  229. nvmem-cells = <&macaddr_art_6>;
  230. nvmem-cell-names = "mac-address";
  231. };
  232. &ethphy0 {
  233. status = "disabled";
  234. };
  235. &wifi0 {
  236. status = "okay";
  237. qcom,ath10k-calibration-variant = "ezviz-cs-w3-wd1200g-eup";
  238. nvmem-cell-names = "pre-calibration";
  239. nvmem-cells = <&precal_art_1000>;
  240. };
  241. &wifi1 {
  242. status = "okay";
  243. qcom,ath10k-calibration-variant = "ezviz-cs-w3-wd1200g-eup";
  244. nvmem-cell-names = "pre-calibration";
  245. nvmem-cells = <&precal_art_5000>;
  246. };