qcom-ipq4018-nbg6617.dts 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  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/input/linux-event-codes.h>
  6. #include <dt-bindings/soc/qcom,tcsr.h>
  7. / {
  8. model = "ZyXEL NBG6617";
  9. compatible = "zyxel,nbg6617";
  10. chosen {
  11. /*
  12. * the vendor u-boot adds root and mtdparts cmdline parameters
  13. * which we don't want... but we have to overwrite them or else
  14. * the kernel will take them at face value.
  15. */
  16. bootargs-append = " mtdparts= root=31:13";
  17. };
  18. aliases {
  19. led-boot = &power;
  20. led-failsafe = &power;
  21. led-running = &power;
  22. led-upgrade = &power;
  23. };
  24. soc {
  25. rng@22000 {
  26. status = "okay";
  27. };
  28. mdio@90000 {
  29. status = "okay";
  30. };
  31. ess-psgmii@98000 {
  32. status = "okay";
  33. };
  34. tcsr@1949000 {
  35. compatible = "qcom,tcsr";
  36. reg = <0x1949000 0x100>;
  37. qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
  38. };
  39. tcsr@194b000 {
  40. compatible = "qcom,tcsr";
  41. reg = <0x194b000 0x100>;
  42. qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
  43. };
  44. ess_tcsr@1953000 {
  45. compatible = "qcom,tcsr";
  46. reg = <0x1953000 0x1000>;
  47. qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
  48. };
  49. tcsr@1957000 {
  50. compatible = "qcom,tcsr";
  51. reg = <0x1957000 0x100>;
  52. qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
  53. };
  54. usb2@60f8800 {
  55. status = "okay";
  56. dwc3@6000000 {
  57. #address-cells = <1>;
  58. #size-cells = <0>;
  59. usb2_port1: port@1 {
  60. reg = <1>;
  61. #trigger-source-cells = <0>;
  62. };
  63. };
  64. };
  65. usb3@8af8800 {
  66. status = "okay";
  67. dwc3@8a00000 {
  68. #address-cells = <1>;
  69. #size-cells = <0>;
  70. usb3_port1: port@1 {
  71. reg = <1>;
  72. #trigger-source-cells = <0>;
  73. };
  74. usb3_port2: port@2 {
  75. reg = <2>;
  76. #trigger-source-cells = <0>;
  77. };
  78. };
  79. };
  80. crypto@8e3a000 {
  81. status = "okay";
  82. };
  83. watchdog@b017000 {
  84. status = "okay";
  85. };
  86. ess-switch@c000000 {
  87. status = "okay";
  88. };
  89. edma@c080000 {
  90. status = "okay";
  91. };
  92. };
  93. keys {
  94. compatible = "gpio-keys";
  95. wlan {
  96. label = "wlan";
  97. gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>;
  98. linux,code = <KEY_RFKILL>;
  99. linux,input-type = <EV_SW>;
  100. };
  101. wps {
  102. label = "wps";
  103. gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
  104. linux,code = <KEY_WPS_BUTTON>;
  105. };
  106. reset {
  107. label = "reset";
  108. gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
  109. linux,code = <KEY_RESTART>;
  110. };
  111. };
  112. leds {
  113. compatible = "gpio-leds";
  114. pinctrl-0 = <&led_pins>;
  115. pinctrl-names = "default";
  116. power: power {
  117. label = "green:power";
  118. gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>;
  119. };
  120. usb {
  121. label = "green:usb";
  122. gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
  123. trigger-sources = <&usb2_port1>, <&usb3_port1>, <&usb3_port2>;
  124. linux,default-trigger = "usbport";
  125. };
  126. wlan2g {
  127. label = "green:wlan2g";
  128. gpios = <&tlmm 58 GPIO_ACTIVE_HIGH>;
  129. };
  130. wlan5g {
  131. label = "green:wlan5g";
  132. gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>;
  133. };
  134. wps {
  135. label = "green:wps";
  136. gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>;
  137. };
  138. };
  139. };
  140. &tlmm {
  141. serial_pins: serial_pinmux {
  142. mux {
  143. pins = "gpio60", "gpio61";
  144. function = "blsp_uart0";
  145. bias-disable;
  146. };
  147. };
  148. spi_0_pins: spi_0_pinmux {
  149. mux {
  150. function = "blsp_spi0";
  151. pins = "gpio55", "gpio56", "gpio57";
  152. drive-strength = <12>;
  153. bias-disable;
  154. };
  155. mux_cs {
  156. function = "gpio";
  157. pins = "gpio54";
  158. drive-strength = <2>;
  159. bias-disable;
  160. output-low;
  161. };
  162. };
  163. led_pins: led_pinmux {
  164. mux {
  165. pins = "gpio0", "gpio1", "gpio3", "gpio5", "gpio58";
  166. drive-strength = <0x8>;
  167. bias-disable;
  168. output-low;
  169. };
  170. };
  171. };
  172. &blsp1_spi1 { /* BLSP1 QUP1 */
  173. pinctrl-0 = <&spi_0_pins>;
  174. pinctrl-names = "default";
  175. status = "okay";
  176. cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>;
  177. flash@0 {
  178. compatible = "jedec,spi-nor";
  179. reg = <0>;
  180. spi-max-frequency = <50000000>;
  181. status = "okay";
  182. m25p,fast-read;
  183. partitions {
  184. compatible = "fixed-partitions";
  185. #address-cells = <1>;
  186. #size-cells = <1>;
  187. partition0@0 {
  188. label = "SBL1";
  189. reg = <0x00000000 0x00040000>;
  190. read-only;
  191. };
  192. partition1@40000 {
  193. label = "MIBIB";
  194. reg = <0x00040000 0x00020000>;
  195. read-only;
  196. };
  197. partition2@60000 {
  198. label = "QSEE";
  199. reg = <0x00060000 0x00060000>;
  200. read-only;
  201. };
  202. partition3@c0000 {
  203. label = "CDT";
  204. reg = <0x000c0000 0x00010000>;
  205. read-only;
  206. };
  207. partition4@d0000 {
  208. label = "DDRPARAMS";
  209. reg = <0x000d0000 0x00010000>;
  210. read-only;
  211. };
  212. partition5@e0000 {
  213. label = "APPSBL"; /* u-boot */
  214. reg = <0x000e0000 0x00080000>;
  215. /* U-Boot Standalone App "zloader" is located at 0x64000 */
  216. read-only;
  217. };
  218. partition6@160000 {
  219. label = "APPSBLENV"; /* u-boot env */
  220. reg = <0x00160000 0x00010000>;
  221. };
  222. partition7@170000 {
  223. /* make a backup of this partition! */
  224. label = "ART";
  225. reg = <0x00170000 0x00010000>;
  226. read-only;
  227. };
  228. partition8@180000 {
  229. label = "kernel";
  230. reg = <0x00180000 0x00400000>;
  231. };
  232. partition9@580000 {
  233. label = "dualflag";
  234. reg = <0x00580000 0x00010000>;
  235. read-only;
  236. };
  237. partition10@590000 {
  238. label = "header";
  239. reg = <0x00590000 0x00010000>;
  240. };
  241. partition11@5a0000 {
  242. label = "romd";
  243. reg = <0x005a0000 0x00100000>;
  244. read-only;
  245. };
  246. partition12@6a0000 {
  247. label = "not_root_data";
  248. /*
  249. * for some strange reason, someone at ZyXEL
  250. * had the "great" idea to put the rootfs_data
  251. * in front of rootfs... Don't do that!
  252. * As a result this one, full MebiByte remains
  253. * unused.
  254. */
  255. reg = <0x006a0000 0x00100000>;
  256. };
  257. partition13@7a0000 {
  258. label = "rootfs";
  259. reg = <0x007a0000 0x01860000>;
  260. };
  261. };
  262. };
  263. };
  264. &blsp1_uart1 {
  265. pinctrl-0 = <&serial_pins>;
  266. pinctrl-names = "default";
  267. status = "okay";
  268. };
  269. &cryptobam {
  270. status = "okay";
  271. };
  272. &blsp_dma {
  273. status = "okay";
  274. };
  275. &wifi0 {
  276. status = "okay";
  277. qcom,ath10k-calibration-variant = "ZyXEL-NBG6617";
  278. };
  279. &wifi1 {
  280. status = "okay";
  281. qcom,ath10k-calibration-variant = "ZyXEL-NBG6617";
  282. };
  283. &usb3_ss_phy {
  284. status = "okay";
  285. };
  286. &usb3_hs_phy {
  287. status = "okay";
  288. };
  289. &usb2_hs_phy {
  290. status = "okay";
  291. };