Merge tag '6.9-rc5-cifs-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6
[sfrench/cifs-2.6.git] / arch / arm64 / boot / dts / qcom / ipq8074.dtsi
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * Copyright (c) 2017, The Linux Foundation. All rights reserved.
4  */
5
6 #include <dt-bindings/interrupt-controller/arm-gic.h>
7 #include <dt-bindings/clock/qcom,gcc-ipq8074.h>
8
9 / {
10         #address-cells = <2>;
11         #size-cells = <2>;
12
13         model = "Qualcomm Technologies, Inc. IPQ8074";
14         compatible = "qcom,ipq8074";
15         interrupt-parent = <&intc>;
16
17         clocks {
18                 sleep_clk: sleep_clk {
19                         compatible = "fixed-clock";
20                         clock-frequency = <32768>;
21                         #clock-cells = <0>;
22                 };
23
24                 xo: xo {
25                         compatible = "fixed-clock";
26                         clock-frequency = <19200000>;
27                         #clock-cells = <0>;
28                 };
29         };
30
31         cpus {
32                 #address-cells = <1>;
33                 #size-cells = <0>;
34
35                 CPU0: cpu@0 {
36                         device_type = "cpu";
37                         compatible = "arm,cortex-a53";
38                         reg = <0x0>;
39                         next-level-cache = <&L2_0>;
40                         enable-method = "psci";
41                 };
42
43                 CPU1: cpu@1 {
44                         device_type = "cpu";
45                         compatible = "arm,cortex-a53";
46                         enable-method = "psci";
47                         reg = <0x1>;
48                         next-level-cache = <&L2_0>;
49                 };
50
51                 CPU2: cpu@2 {
52                         device_type = "cpu";
53                         compatible = "arm,cortex-a53";
54                         enable-method = "psci";
55                         reg = <0x2>;
56                         next-level-cache = <&L2_0>;
57                 };
58
59                 CPU3: cpu@3 {
60                         device_type = "cpu";
61                         compatible = "arm,cortex-a53";
62                         enable-method = "psci";
63                         reg = <0x3>;
64                         next-level-cache = <&L2_0>;
65                 };
66
67                 L2_0: l2-cache {
68                         compatible = "cache";
69                         cache-level = <2>;
70                         cache-unified;
71                 };
72         };
73
74         pmu {
75                 compatible = "arm,cortex-a53-pmu";
76                 interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
77         };
78
79         psci {
80                 compatible = "arm,psci-1.0";
81                 method = "smc";
82         };
83
84         reserved-memory {
85                 #address-cells = <2>;
86                 #size-cells = <2>;
87                 ranges;
88
89                 bootloader@4a600000 {
90                         reg = <0x0 0x4a600000 0x0 0x400000>;
91                         no-map;
92                 };
93
94                 sbl@4aa00000 {
95                         reg = <0x0 0x4aa00000 0x0 0x100000>;
96                         no-map;
97                 };
98
99                 smem@4ab00000 {
100                         compatible = "qcom,smem";
101                         reg = <0x0 0x4ab00000 0x0 0x100000>;
102                         no-map;
103
104                         hwlocks = <&tcsr_mutex 3>;
105                 };
106
107                 memory@4ac00000 {
108                         reg = <0x0 0x4ac00000 0x0 0x400000>;
109                         no-map;
110                 };
111         };
112
113         firmware {
114                 scm {
115                         compatible = "qcom,scm-ipq8074", "qcom,scm";
116                         qcom,dload-mode = <&tcsr 0x6100>;
117                 };
118         };
119
120         soc: soc@0 {
121                 #address-cells = <1>;
122                 #size-cells = <1>;
123                 ranges = <0 0 0 0xffffffff>;
124                 compatible = "simple-bus";
125
126                 ssphy_1: phy@58000 {
127                         compatible = "qcom,ipq8074-qmp-usb3-phy";
128                         reg = <0x00058000 0x1000>;
129
130                         clocks = <&gcc GCC_USB1_AUX_CLK>,
131                                  <&xo>,
132                                  <&gcc GCC_USB1_PHY_CFG_AHB_CLK>,
133                                  <&gcc GCC_USB1_PIPE_CLK>;
134                         clock-names = "aux",
135                                       "ref",
136                                       "cfg_ahb",
137                                       "pipe";
138                         clock-output-names = "usb3phy_1_cc_pipe_clk";
139                         #clock-cells = <0>;
140                         #phy-cells = <0>;
141
142                         resets = <&gcc GCC_USB1_PHY_BCR>,
143                                  <&gcc GCC_USB3PHY_1_PHY_BCR>;
144                         reset-names = "phy",
145                                       "phy_phy";
146
147                         status = "disabled";
148                 };
149
150                 qusb_phy_1: phy@59000 {
151                         compatible = "qcom,ipq8074-qusb2-phy";
152                         reg = <0x00059000 0x180>;
153                         #phy-cells = <0>;
154
155                         clocks = <&gcc GCC_USB1_PHY_CFG_AHB_CLK>,
156                                  <&xo>;
157                         clock-names = "cfg_ahb", "ref";
158
159                         resets = <&gcc GCC_QUSB2_1_PHY_BCR>;
160                         status = "disabled";
161                 };
162
163                 ssphy_0: phy@78000 {
164                         compatible = "qcom,ipq8074-qmp-usb3-phy";
165                         reg = <0x00078000 0x1000>;
166
167                         clocks = <&gcc GCC_USB0_AUX_CLK>,
168                                  <&xo>,
169                                  <&gcc GCC_USB0_PHY_CFG_AHB_CLK>,
170                                  <&gcc GCC_USB0_PIPE_CLK>;
171                         clock-names = "aux",
172                                       "ref",
173                                       "cfg_ahb",
174                                       "pipe";
175                         clock-output-names = "usb3phy_0_cc_pipe_clk";
176                         #clock-cells = <0>;
177                         #phy-cells = <0>;
178
179                         resets = <&gcc GCC_USB0_PHY_BCR>,
180                                  <&gcc GCC_USB3PHY_0_PHY_BCR>;
181                         reset-names = "phy",
182                                       "phy_phy";
183
184                         status = "disabled";
185                 };
186
187                 qusb_phy_0: phy@79000 {
188                         compatible = "qcom,ipq8074-qusb2-phy";
189                         reg = <0x00079000 0x180>;
190                         #phy-cells = <0>;
191
192                         clocks = <&gcc GCC_USB0_PHY_CFG_AHB_CLK>,
193                                  <&xo>;
194                         clock-names = "cfg_ahb", "ref";
195
196                         resets = <&gcc GCC_QUSB2_0_PHY_BCR>;
197                         status = "disabled";
198                 };
199
200                 pcie_qmp0: phy@84000 {
201                         compatible = "qcom,ipq8074-qmp-gen3-pcie-phy";
202                         reg = <0x00084000 0x1000>;
203
204                         clocks = <&gcc GCC_PCIE0_AUX_CLK>,
205                                  <&gcc GCC_PCIE0_AHB_CLK>,
206                                  <&gcc GCC_PCIE0_PIPE_CLK>;
207                         clock-names = "aux",
208                                       "cfg_ahb",
209                                       "pipe";
210
211                         clock-output-names = "pcie20_phy0_pipe_clk";
212                         #clock-cells = <0>;
213
214                         #phy-cells = <0>;
215
216                         resets = <&gcc GCC_PCIE0_PHY_BCR>,
217                                  <&gcc GCC_PCIE0PHY_PHY_BCR>;
218                         reset-names = "phy",
219                                       "common";
220                         status = "disabled";
221                 };
222
223                 pcie_qmp1: phy@8e000 {
224                         compatible = "qcom,ipq8074-qmp-pcie-phy";
225                         reg = <0x0008e000 0x1000>;
226
227                         clocks = <&gcc GCC_PCIE1_AUX_CLK>,
228                                  <&gcc GCC_PCIE1_AHB_CLK>,
229                                  <&gcc GCC_PCIE1_PIPE_CLK>;
230                         clock-names = "aux",
231                                       "cfg_ahb",
232                                       "pipe";
233
234                         clock-output-names = "pcie20_phy1_pipe_clk";
235                         #clock-cells = <0>;
236
237                         #phy-cells = <0>;
238
239                         resets = <&gcc GCC_PCIE1_PHY_BCR>,
240                                  <&gcc GCC_PCIE1PHY_PHY_BCR>;
241                         reset-names = "phy",
242                                       "common";
243                         status = "disabled";
244                 };
245
246                 mdio: mdio@90000 {
247                         compatible = "qcom,ipq8074-mdio", "qcom,ipq4019-mdio";
248                         reg = <0x00090000 0x64>;
249                         #address-cells = <1>;
250                         #size-cells = <0>;
251
252                         clocks = <&gcc GCC_MDIO_AHB_CLK>;
253                         clock-names = "gcc_mdio_ahb_clk";
254
255                         clock-frequency = <6250000>;
256
257                         status = "disabled";
258                 };
259
260                 qfprom: efuse@a4000 {
261                         compatible = "qcom,ipq8074-qfprom", "qcom,qfprom";
262                         reg = <0x000a4000 0x2000>;
263                         #address-cells = <1>;
264                         #size-cells = <1>;
265                 };
266
267                 prng: rng@e3000 {
268                         compatible = "qcom,prng-ee";
269                         reg = <0x000e3000 0x1000>;
270                         clocks = <&gcc GCC_PRNG_AHB_CLK>;
271                         clock-names = "core";
272                         status = "disabled";
273                 };
274
275                 tsens: thermal-sensor@4a9000 {
276                         compatible = "qcom,ipq8074-tsens";
277                         reg = <0x4a9000 0x1000>, /* TM */
278                               <0x4a8000 0x1000>; /* SROT */
279                         interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
280                         interrupt-names = "combined";
281                         #qcom,sensors = <16>;
282                         #thermal-sensor-cells = <1>;
283                 };
284
285                 cryptobam: dma-controller@704000 {
286                         compatible = "qcom,bam-v1.7.0";
287                         reg = <0x00704000 0x20000>;
288                         interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>;
289                         clocks = <&gcc GCC_CRYPTO_AHB_CLK>;
290                         clock-names = "bam_clk";
291                         #dma-cells = <1>;
292                         qcom,ee = <1>;
293                         qcom,controlled-remotely;
294                         status = "disabled";
295                 };
296
297                 crypto: crypto@73a000 {
298                         compatible = "qcom,crypto-v5.1";
299                         reg = <0x0073a000 0x6000>;
300                         clocks = <&gcc GCC_CRYPTO_AHB_CLK>,
301                                  <&gcc GCC_CRYPTO_AXI_CLK>,
302                                  <&gcc GCC_CRYPTO_CLK>;
303                         clock-names = "iface", "bus", "core";
304                         dmas = <&cryptobam 2>, <&cryptobam 3>;
305                         dma-names = "rx", "tx";
306                         status = "disabled";
307                 };
308
309                 tlmm: pinctrl@1000000 {
310                         compatible = "qcom,ipq8074-pinctrl";
311                         reg = <0x01000000 0x300000>;
312                         interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
313                         gpio-controller;
314                         gpio-ranges = <&tlmm 0 0 70>;
315                         #gpio-cells = <2>;
316                         interrupt-controller;
317                         #interrupt-cells = <2>;
318
319                         serial_4_pins: serial4-state {
320                                 pins = "gpio23", "gpio24";
321                                 function = "blsp4_uart1";
322                                 drive-strength = <8>;
323                                 bias-disable;
324                         };
325
326                         i2c_0_pins: i2c-0-state {
327                                 pins = "gpio42", "gpio43";
328                                 function = "blsp1_i2c";
329                                 drive-strength = <8>;
330                                 bias-disable;
331                         };
332
333                         spi_0_pins: spi-0-state {
334                                 pins = "gpio38", "gpio39", "gpio40", "gpio41";
335                                 function = "blsp0_spi";
336                                 drive-strength = <8>;
337                                 bias-disable;
338                         };
339
340                         hsuart_pins: hsuart-state {
341                                 pins = "gpio46", "gpio47", "gpio48", "gpio49";
342                                 function = "blsp2_uart";
343                                 drive-strength = <8>;
344                                 bias-disable;
345                         };
346
347                         qpic_pins: qpic-state {
348                                 pins = "gpio1", "gpio3", "gpio4",
349                                        "gpio5", "gpio6", "gpio7",
350                                        "gpio8", "gpio10", "gpio11",
351                                        "gpio12", "gpio13", "gpio14",
352                                        "gpio15", "gpio16", "gpio17";
353                                 function = "qpic";
354                                 drive-strength = <8>;
355                                 bias-disable;
356                         };
357                 };
358
359                 gcc: gcc@1800000 {
360                         compatible = "qcom,gcc-ipq8074";
361                         reg = <0x01800000 0x80000>;
362                         clocks = <&xo>,
363                                  <&sleep_clk>,
364                                  <&pcie_qmp0>,
365                                  <&pcie_qmp1>;
366                         clock-names = "xo",
367                                       "sleep_clk",
368                                       "pcie0_pipe",
369                                       "pcie1_pipe";
370                         #clock-cells = <1>;
371                         #power-domain-cells = <1>;
372                         #reset-cells = <1>;
373                 };
374
375                 tcsr_mutex: hwlock@1905000 {
376                         compatible = "qcom,tcsr-mutex";
377                         reg = <0x01905000 0x20000>;
378                         #hwlock-cells = <1>;
379                 };
380
381                 tcsr: syscon@1937000 {
382                         compatible = "qcom,tcsr-ipq8074", "syscon";
383                         reg = <0x01937000 0x21000>;
384                 };
385
386                 spmi_bus: spmi@200f000 {
387                         compatible = "qcom,spmi-pmic-arb";
388                         reg = <0x0200f000 0x001000>,
389                               <0x02400000 0x800000>,
390                               <0x02c00000 0x800000>,
391                               <0x03800000 0x200000>,
392                               <0x0200a000 0x000700>;
393                         reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
394                         interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
395                         interrupt-names = "periph_irq";
396                         qcom,ee = <0>;
397                         qcom,channel = <0>;
398                         #address-cells = <2>;
399                         #size-cells = <0>;
400                         interrupt-controller;
401                         #interrupt-cells = <4>;
402                 };
403
404                 sdhc_1: mmc@7824900 {
405                         compatible = "qcom,ipq8074-sdhci", "qcom,sdhci-msm-v4";
406                         reg = <0x7824900 0x500>, <0x7824000 0x800>;
407                         reg-names = "hc", "core";
408
409                         interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
410                                      <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
411                         interrupt-names = "hc_irq", "pwr_irq";
412
413                         clocks = <&gcc GCC_SDCC1_AHB_CLK>,
414                                  <&gcc GCC_SDCC1_APPS_CLK>,
415                                  <&xo>;
416                         clock-names = "iface", "core", "xo";
417                         resets = <&gcc GCC_SDCC1_BCR>;
418                         max-frequency = <384000000>;
419                         mmc-ddr-1_8v;
420                         mmc-hs200-1_8v;
421                         mmc-hs400-1_8v;
422                         bus-width = <8>;
423
424                         status = "disabled";
425                 };
426
427                 blsp_dma: dma-controller@7884000 {
428                         compatible = "qcom,bam-v1.7.0";
429                         reg = <0x07884000 0x2b000>;
430                         interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
431                         clocks = <&gcc GCC_BLSP1_AHB_CLK>;
432                         clock-names = "bam_clk";
433                         #dma-cells = <1>;
434                         qcom,ee = <0>;
435                 };
436
437                 blsp1_uart1: serial@78af000 {
438                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
439                         reg = <0x078af000 0x200>;
440                         interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
441                         clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>,
442                                  <&gcc GCC_BLSP1_AHB_CLK>;
443                         clock-names = "core", "iface";
444                         status = "disabled";
445                 };
446
447                 blsp1_uart3: serial@78b1000 {
448                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
449                         reg = <0x078b1000 0x200>;
450                         interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>;
451                         clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>,
452                                 <&gcc GCC_BLSP1_AHB_CLK>;
453                         clock-names = "core", "iface";
454                         dmas = <&blsp_dma 4>,
455                                 <&blsp_dma 5>;
456                         dma-names = "tx", "rx";
457                         pinctrl-0 = <&hsuart_pins>;
458                         pinctrl-names = "default";
459                         status = "disabled";
460                 };
461
462                 blsp1_uart5: serial@78b3000 {
463                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
464                         reg = <0x078b3000 0x200>;
465                         interrupts = <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>;
466                         clocks = <&gcc GCC_BLSP1_UART5_APPS_CLK>,
467                                  <&gcc GCC_BLSP1_AHB_CLK>;
468                         clock-names = "core", "iface";
469                         pinctrl-0 = <&serial_4_pins>;
470                         pinctrl-names = "default";
471                         status = "disabled";
472                 };
473
474                 blsp1_spi1: spi@78b5000 {
475                         compatible = "qcom,spi-qup-v2.2.1";
476                         #address-cells = <1>;
477                         #size-cells = <0>;
478                         reg = <0x078b5000 0x600>;
479                         interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
480                         clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
481                                 <&gcc GCC_BLSP1_AHB_CLK>;
482                         clock-names = "core", "iface";
483                         dmas = <&blsp_dma 12>, <&blsp_dma 13>;
484                         dma-names = "tx", "rx";
485                         pinctrl-0 = <&spi_0_pins>;
486                         pinctrl-names = "default";
487                         status = "disabled";
488                 };
489
490                 blsp1_i2c2: i2c@78b6000 {
491                         compatible = "qcom,i2c-qup-v2.2.1";
492                         #address-cells = <1>;
493                         #size-cells = <0>;
494                         reg = <0x078b6000 0x600>;
495                         interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
496                         clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
497                                  <&gcc GCC_BLSP1_AHB_CLK>;
498                         clock-names = "core", "iface";
499                         clock-frequency = <400000>;
500                         dmas = <&blsp_dma 14>, <&blsp_dma 15>;
501                         dma-names = "tx", "rx";
502                         pinctrl-0 = <&i2c_0_pins>;
503                         pinctrl-names = "default";
504                         status = "disabled";
505                 };
506
507                 blsp1_i2c3: i2c@78b7000 {
508                         compatible = "qcom,i2c-qup-v2.2.1";
509                         #address-cells = <1>;
510                         #size-cells = <0>;
511                         reg = <0x078b7000 0x600>;
512                         interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
513                         clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
514                                  <&gcc GCC_BLSP1_AHB_CLK>;
515                         clock-names = "core", "iface";
516                         clock-frequency = <100000>;
517                         dmas = <&blsp_dma 16>, <&blsp_dma 17>;
518                         dma-names = "tx", "rx";
519                         status = "disabled";
520                 };
521
522                 blsp1_spi4: spi@78b8000 {
523                         compatible = "qcom,spi-qup-v2.2.1";
524                         #address-cells = <1>;
525                         #size-cells = <0>;
526                         reg = <0x78b8000 0x600>;
527                         interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
528                         clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>,
529                                  <&gcc GCC_BLSP1_AHB_CLK>;
530                         clock-names = "core", "iface";
531                         dmas = <&blsp_dma 18>, <&blsp_dma 19>;
532                         dma-names = "tx", "rx";
533                         status = "disabled";
534                 };
535
536                 blsp1_i2c5: i2c@78b9000 {
537                         compatible = "qcom,i2c-qup-v2.2.1";
538                         #address-cells = <1>;
539                         #size-cells = <0>;
540                         reg = <0x78b9000 0x600>;
541                         interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
542                         clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>,
543                                  <&gcc GCC_BLSP1_AHB_CLK>;
544                         clock-names = "core", "iface";
545                         clock-frequency = <400000>;
546                         dmas = <&blsp_dma 20>, <&blsp_dma 21>;
547                         dma-names = "tx", "rx";
548                         status = "disabled";
549                 };
550
551                 blsp1_spi5: spi@78b9000 {
552                         compatible = "qcom,spi-qup-v2.2.1";
553                         #address-cells = <1>;
554                         #size-cells = <0>;
555                         reg = <0x78b9000 0x600>;
556                         interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
557                         clocks = <&gcc GCC_BLSP1_QUP5_SPI_APPS_CLK>,
558                                  <&gcc GCC_BLSP1_AHB_CLK>;
559                         clock-names = "core", "iface";
560                         dmas = <&blsp_dma 20>, <&blsp_dma 21>;
561                         dma-names = "tx", "rx";
562                         status = "disabled";
563                 };
564
565                 blsp1_i2c6: i2c@78ba000 {
566                         compatible = "qcom,i2c-qup-v2.2.1";
567                         #address-cells = <1>;
568                         #size-cells = <0>;
569                         reg = <0x078ba000 0x600>;
570                         interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
571                         clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>,
572                                  <&gcc GCC_BLSP1_AHB_CLK>;
573                         clock-names = "core", "iface";
574                         clock-frequency = <100000>;
575                         dmas = <&blsp_dma 22>, <&blsp_dma 23>;
576                         dma-names = "tx", "rx";
577                         status = "disabled";
578                 };
579
580                 qpic_bam: dma-controller@7984000 {
581                         compatible = "qcom,bam-v1.7.0";
582                         reg = <0x07984000 0x1a000>;
583                         interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
584                         clocks = <&gcc GCC_QPIC_AHB_CLK>;
585                         clock-names = "bam_clk";
586                         #dma-cells = <1>;
587                         qcom,ee = <0>;
588                         status = "disabled";
589                 };
590
591                 qpic_nand: nand-controller@79b0000 {
592                         compatible = "qcom,ipq8074-nand";
593                         reg = <0x079b0000 0x10000>;
594                         #address-cells = <1>;
595                         #size-cells = <0>;
596                         clocks = <&gcc GCC_QPIC_CLK>,
597                                  <&gcc GCC_QPIC_AHB_CLK>;
598                         clock-names = "core", "aon";
599
600                         dmas = <&qpic_bam 0>,
601                                <&qpic_bam 1>,
602                                <&qpic_bam 2>;
603                         dma-names = "tx", "rx", "cmd";
604                         pinctrl-0 = <&qpic_pins>;
605                         pinctrl-names = "default";
606                         status = "disabled";
607                 };
608
609                 usb_0: usb@8af8800 {
610                         compatible = "qcom,ipq8074-dwc3", "qcom,dwc3";
611                         reg = <0x08af8800 0x400>;
612                         #address-cells = <1>;
613                         #size-cells = <1>;
614                         ranges;
615
616                         clocks = <&gcc GCC_SYS_NOC_USB0_AXI_CLK>,
617                                 <&gcc GCC_USB0_MASTER_CLK>,
618                                 <&gcc GCC_USB0_SLEEP_CLK>,
619                                 <&gcc GCC_USB0_MOCK_UTMI_CLK>;
620                         clock-names = "cfg_noc",
621                                 "core",
622                                 "sleep",
623                                 "mock_utmi";
624
625                         assigned-clocks = <&gcc GCC_SYS_NOC_USB0_AXI_CLK>,
626                                           <&gcc GCC_USB0_MASTER_CLK>,
627                                           <&gcc GCC_USB0_MOCK_UTMI_CLK>;
628                         assigned-clock-rates = <133330000>,
629                                                 <133330000>,
630                                                 <19200000>;
631
632                         interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
633                                      <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
634                                      <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
635                         interrupt-names = "pwr_event",
636                                           "qusb2_phy",
637                                           "ss_phy_irq";
638
639                         power-domains = <&gcc USB0_GDSC>;
640
641                         resets = <&gcc GCC_USB0_BCR>;
642                         status = "disabled";
643
644                         dwc_0: usb@8a00000 {
645                                 compatible = "snps,dwc3";
646                                 reg = <0x8a00000 0xcd00>;
647                                 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
648                                 phys = <&qusb_phy_0>, <&ssphy_0>;
649                                 phy-names = "usb2-phy", "usb3-phy";
650                                 snps,is-utmi-l1-suspend;
651                                 snps,hird-threshold = /bits/ 8 <0x0>;
652                                 snps,dis_u2_susphy_quirk;
653                                 snps,dis_u3_susphy_quirk;
654                                 dr_mode = "host";
655                         };
656                 };
657
658                 usb_1: usb@8cf8800 {
659                         compatible = "qcom,ipq8074-dwc3", "qcom,dwc3";
660                         reg = <0x08cf8800 0x400>;
661                         #address-cells = <1>;
662                         #size-cells = <1>;
663                         ranges;
664
665                         clocks = <&gcc GCC_SYS_NOC_USB1_AXI_CLK>,
666                                 <&gcc GCC_USB1_MASTER_CLK>,
667                                 <&gcc GCC_USB1_SLEEP_CLK>,
668                                 <&gcc GCC_USB1_MOCK_UTMI_CLK>;
669                         clock-names = "cfg_noc",
670                                 "core",
671                                 "sleep",
672                                 "mock_utmi";
673
674                         assigned-clocks = <&gcc GCC_SYS_NOC_USB1_AXI_CLK>,
675                                           <&gcc GCC_USB1_MASTER_CLK>,
676                                           <&gcc GCC_USB1_MOCK_UTMI_CLK>;
677                         assigned-clock-rates = <133330000>,
678                                                 <133330000>,
679                                                 <19200000>;
680
681                         interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
682                                      <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
683                                      <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
684                         interrupt-names = "pwr_event",
685                                           "qusb2_phy",
686                                           "ss_phy_irq";
687
688                         power-domains = <&gcc USB1_GDSC>;
689
690                         resets = <&gcc GCC_USB1_BCR>;
691                         status = "disabled";
692
693                         dwc_1: usb@8c00000 {
694                                 compatible = "snps,dwc3";
695                                 reg = <0x8c00000 0xcd00>;
696                                 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
697                                 phys = <&qusb_phy_1>, <&ssphy_1>;
698                                 phy-names = "usb2-phy", "usb3-phy";
699                                 snps,is-utmi-l1-suspend;
700                                 snps,hird-threshold = /bits/ 8 <0x0>;
701                                 snps,dis_u2_susphy_quirk;
702                                 snps,dis_u3_susphy_quirk;
703                                 dr_mode = "host";
704                         };
705                 };
706
707                 intc: interrupt-controller@b000000 {
708                         compatible = "qcom,msm-qgic2";
709                         #address-cells = <1>;
710                         #size-cells = <1>;
711                         interrupt-controller;
712                         #interrupt-cells = <3>;
713                         reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>;
714                         ranges = <0 0xb00a000 0xffd>;
715
716                         v2m@0 {
717                                 compatible = "arm,gic-v2m-frame";
718                                 msi-controller;
719                                 reg = <0x0 0xffd>;
720                         };
721                 };
722
723                 watchdog: watchdog@b017000 {
724                         compatible = "qcom,kpss-wdt";
725                         reg = <0xb017000 0x1000>;
726                         interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
727                         clocks = <&sleep_clk>;
728                         timeout-sec = <30>;
729                 };
730
731                 apcs_glb: mailbox@b111000 {
732                         compatible = "qcom,ipq8074-apcs-apps-global",
733                                      "qcom,ipq6018-apcs-apps-global";
734                         reg = <0x0b111000 0x1000>;
735                         clocks = <&a53pll>, <&xo>, <&gcc GPLL0>;
736                         clock-names = "pll", "xo", "gpll0";
737
738                         #clock-cells = <1>;
739                         #mbox-cells = <1>;
740                 };
741
742                 a53pll: clock@b116000 {
743                         compatible = "qcom,ipq8074-a53pll";
744                         reg = <0x0b116000 0x40>;
745                         #clock-cells = <0>;
746                         clocks = <&xo>;
747                         clock-names = "xo";
748                 };
749
750                 timer@b120000 {
751                         #address-cells = <1>;
752                         #size-cells = <1>;
753                         ranges;
754                         compatible = "arm,armv7-timer-mem";
755                         reg = <0x0b120000 0x1000>;
756
757                         frame@b120000 {
758                                 frame-number = <0>;
759                                 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
760                                              <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
761                                 reg = <0x0b121000 0x1000>,
762                                       <0x0b122000 0x1000>;
763                         };
764
765                         frame@b123000 {
766                                 frame-number = <1>;
767                                 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
768                                 reg = <0x0b123000 0x1000>;
769                                 status = "disabled";
770                         };
771
772                         frame@b124000 {
773                                 frame-number = <2>;
774                                 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
775                                 reg = <0x0b124000 0x1000>;
776                                 status = "disabled";
777                         };
778
779                         frame@b125000 {
780                                 frame-number = <3>;
781                                 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
782                                 reg = <0x0b125000 0x1000>;
783                                 status = "disabled";
784                         };
785
786                         frame@b126000 {
787                                 frame-number = <4>;
788                                 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
789                                 reg = <0x0b126000 0x1000>;
790                                 status = "disabled";
791                         };
792
793                         frame@b127000 {
794                                 frame-number = <5>;
795                                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
796                                 reg = <0x0b127000 0x1000>;
797                                 status = "disabled";
798                         };
799
800                         frame@b128000 {
801                                 frame-number = <6>;
802                                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
803                                 reg = <0x0b128000 0x1000>;
804                                 status = "disabled";
805                         };
806                 };
807
808                 pcie1: pcie@10000000 {
809                         compatible = "qcom,pcie-ipq8074";
810                         reg = <0x10000000 0xf1d>,
811                               <0x10000f20 0xa8>,
812                               <0x00088000 0x2000>,
813                               <0x10100000 0x1000>;
814                         reg-names = "dbi", "elbi", "parf", "config";
815                         device_type = "pci";
816                         linux,pci-domain = <1>;
817                         bus-range = <0x00 0xff>;
818                         num-lanes = <1>;
819                         max-link-speed = <2>;
820                         #address-cells = <3>;
821                         #size-cells = <2>;
822
823                         phys = <&pcie_qmp1>;
824                         phy-names = "pciephy";
825
826                         ranges = <0x81000000 0x0 0x00000000 0x10200000 0x0 0x10000>,   /* I/O */
827                                  <0x82000000 0x0 0x10220000 0x10220000 0x0 0xfde0000>; /* MEM */
828
829                         interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
830                         interrupt-names = "msi";
831                         #interrupt-cells = <1>;
832                         interrupt-map-mask = <0 0 0 0x7>;
833                         interrupt-map = <0 0 0 1 &intc 0 0 142
834                                          IRQ_TYPE_LEVEL_HIGH>, /* int_a */
835                                         <0 0 0 2 &intc 0 0 143
836                                          IRQ_TYPE_LEVEL_HIGH>, /* int_b */
837                                         <0 0 0 3 &intc 0 0 144
838                                          IRQ_TYPE_LEVEL_HIGH>, /* int_c */
839                                         <0 0 0 4 &intc 0 0 145
840                                          IRQ_TYPE_LEVEL_HIGH>; /* int_d */
841
842                         clocks = <&gcc GCC_SYS_NOC_PCIE1_AXI_CLK>,
843                                  <&gcc GCC_PCIE1_AXI_M_CLK>,
844                                  <&gcc GCC_PCIE1_AXI_S_CLK>,
845                                  <&gcc GCC_PCIE1_AHB_CLK>,
846                                  <&gcc GCC_PCIE1_AUX_CLK>;
847                         clock-names = "iface",
848                                       "axi_m",
849                                       "axi_s",
850                                       "ahb",
851                                       "aux";
852                         resets = <&gcc GCC_PCIE1_PIPE_ARES>,
853                                  <&gcc GCC_PCIE1_SLEEP_ARES>,
854                                  <&gcc GCC_PCIE1_CORE_STICKY_ARES>,
855                                  <&gcc GCC_PCIE1_AXI_MASTER_ARES>,
856                                  <&gcc GCC_PCIE1_AXI_SLAVE_ARES>,
857                                  <&gcc GCC_PCIE1_AHB_ARES>,
858                                  <&gcc GCC_PCIE1_AXI_MASTER_STICKY_ARES>;
859                         reset-names = "pipe",
860                                       "sleep",
861                                       "sticky",
862                                       "axi_m",
863                                       "axi_s",
864                                       "ahb",
865                                       "axi_m_sticky";
866                         status = "disabled";
867                 };
868
869                 pcie0: pcie@20000000 {
870                         compatible = "qcom,pcie-ipq8074-gen3";
871                         reg = <0x20000000 0xf1d>,
872                               <0x20000f20 0xa8>,
873                               <0x20001000 0x1000>,
874                               <0x00080000 0x4000>,
875                               <0x20100000 0x1000>;
876                         reg-names = "dbi", "elbi", "atu", "parf", "config";
877                         device_type = "pci";
878                         linux,pci-domain = <0>;
879                         bus-range = <0x00 0xff>;
880                         num-lanes = <1>;
881                         max-link-speed = <3>;
882                         #address-cells = <3>;
883                         #size-cells = <2>;
884
885                         phys = <&pcie_qmp0>;
886                         phy-names = "pciephy";
887
888                         ranges = <0x81000000 0x0 0x00000000 0x20200000 0x0 0x10000>,   /* I/O */
889                                  <0x82000000 0x0 0x20220000 0x20220000 0x0 0xfde0000>; /* MEM */
890
891                         interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
892                         interrupt-names = "msi";
893                         #interrupt-cells = <1>;
894                         interrupt-map-mask = <0 0 0 0x7>;
895                         interrupt-map = <0 0 0 1 &intc 0 0 75
896                                          IRQ_TYPE_LEVEL_HIGH>, /* int_a */
897                                         <0 0 0 2 &intc 0 0 78
898                                          IRQ_TYPE_LEVEL_HIGH>, /* int_b */
899                                         <0 0 0 3 &intc 0 0 79
900                                          IRQ_TYPE_LEVEL_HIGH>, /* int_c */
901                                         <0 0 0 4 &intc 0 0 83
902                                          IRQ_TYPE_LEVEL_HIGH>; /* int_d */
903
904                         clocks = <&gcc GCC_SYS_NOC_PCIE0_AXI_CLK>,
905                                  <&gcc GCC_PCIE0_AXI_M_CLK>,
906                                  <&gcc GCC_PCIE0_AXI_S_CLK>,
907                                  <&gcc GCC_PCIE0_AXI_S_BRIDGE_CLK>,
908                                  <&gcc GCC_PCIE0_RCHNG_CLK>;
909                         clock-names = "iface",
910                                       "axi_m",
911                                       "axi_s",
912                                       "axi_bridge",
913                                       "rchng";
914
915                         resets = <&gcc GCC_PCIE0_PIPE_ARES>,
916                                  <&gcc GCC_PCIE0_SLEEP_ARES>,
917                                  <&gcc GCC_PCIE0_CORE_STICKY_ARES>,
918                                  <&gcc GCC_PCIE0_AXI_MASTER_ARES>,
919                                  <&gcc GCC_PCIE0_AXI_SLAVE_ARES>,
920                                  <&gcc GCC_PCIE0_AHB_ARES>,
921                                  <&gcc GCC_PCIE0_AXI_MASTER_STICKY_ARES>,
922                                  <&gcc GCC_PCIE0_AXI_SLAVE_STICKY_ARES>;
923                         reset-names = "pipe",
924                                       "sleep",
925                                       "sticky",
926                                       "axi_m",
927                                       "axi_s",
928                                       "ahb",
929                                       "axi_m_sticky",
930                                       "axi_s_sticky";
931                         status = "disabled";
932                 };
933         };
934
935         timer {
936                 compatible = "arm,armv8-timer";
937                 interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
938                              <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
939                              <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
940                              <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
941         };
942
943         thermal-zones {
944                 nss-top-thermal {
945                         polling-delay-passive = <250>;
946                         polling-delay = <1000>;
947
948                         thermal-sensors = <&tsens 4>;
949
950                         trips {
951                                 nss-top-crit {
952                                         temperature = <110000>;
953                                         hysteresis = <1000>;
954                                         type = "critical";
955                                 };
956                         };
957                 };
958
959                 nss0-thermal {
960                         polling-delay-passive = <250>;
961                         polling-delay = <1000>;
962
963                         thermal-sensors = <&tsens 5>;
964
965                         trips {
966                                 nss-0-crit {
967                                         temperature = <110000>;
968                                         hysteresis = <1000>;
969                                         type = "critical";
970                                 };
971                         };
972                 };
973
974                 nss1-thermal {
975                         polling-delay-passive = <250>;
976                         polling-delay = <1000>;
977
978                         thermal-sensors = <&tsens 6>;
979
980                         trips {
981                                 nss-1-crit {
982                                         temperature = <110000>;
983                                         hysteresis = <1000>;
984                                         type = "critical";
985                                 };
986                         };
987                 };
988
989                 wcss-phya0-thermal {
990                         polling-delay-passive = <250>;
991                         polling-delay = <1000>;
992
993                         thermal-sensors = <&tsens 7>;
994
995                         trips {
996                                 wcss-phya0-crit {
997                                         temperature = <110000>;
998                                         hysteresis = <1000>;
999                                         type = "critical";
1000                                 };
1001                         };
1002                 };
1003
1004                 wcss-phya1-thermal {
1005                         polling-delay-passive = <250>;
1006                         polling-delay = <1000>;
1007
1008                         thermal-sensors = <&tsens 8>;
1009
1010                         trips {
1011                                 wcss-phya1-crit {
1012                                         temperature = <110000>;
1013                                         hysteresis = <1000>;
1014                                         type = "critical";
1015                                 };
1016                         };
1017                 };
1018
1019                 cpu0_thermal: cpu0-thermal {
1020                         polling-delay-passive = <250>;
1021                         polling-delay = <1000>;
1022
1023                         thermal-sensors = <&tsens 9>;
1024
1025                         trips {
1026                                 cpu0-crit {
1027                                         temperature = <110000>;
1028                                         hysteresis = <1000>;
1029                                         type = "critical";
1030                                 };
1031                         };
1032                 };
1033
1034                 cpu1_thermal: cpu1-thermal {
1035                         polling-delay-passive = <250>;
1036                         polling-delay = <1000>;
1037
1038                         thermal-sensors = <&tsens 10>;
1039
1040                         trips {
1041                                 cpu1-crit {
1042                                         temperature = <110000>;
1043                                         hysteresis = <1000>;
1044                                         type = "critical";
1045                                 };
1046                         };
1047                 };
1048
1049                 cpu2_thermal: cpu2-thermal {
1050                         polling-delay-passive = <250>;
1051                         polling-delay = <1000>;
1052
1053                         thermal-sensors = <&tsens 11>;
1054
1055                         trips {
1056                                 cpu2-crit {
1057                                         temperature = <110000>;
1058                                         hysteresis = <1000>;
1059                                         type = "critical";
1060                                 };
1061                         };
1062                 };
1063
1064                 cpu3_thermal: cpu3-thermal {
1065                         polling-delay-passive = <250>;
1066                         polling-delay = <1000>;
1067
1068                         thermal-sensors = <&tsens 12>;
1069
1070                         trips {
1071                                 cpu3-crit {
1072                                         temperature = <110000>;
1073                                         hysteresis = <1000>;
1074                                         type = "critical";
1075                                 };
1076                         };
1077                 };
1078
1079                 cluster_thermal: cluster-thermal {
1080                         polling-delay-passive = <250>;
1081                         polling-delay = <1000>;
1082
1083                         thermal-sensors = <&tsens 13>;
1084
1085                         trips {
1086                                 cluster-crit {
1087                                         temperature = <110000>;
1088                                         hysteresis = <1000>;
1089                                         type = "critical";
1090                                 };
1091                         };
1092                 };
1093
1094                 wcss-phyb0-thermal {
1095                         polling-delay-passive = <250>;
1096                         polling-delay = <1000>;
1097
1098                         thermal-sensors = <&tsens 14>;
1099
1100                         trips {
1101                                 wcss-phyb0-crit {
1102                                         temperature = <110000>;
1103                                         hysteresis = <1000>;
1104                                         type = "critical";
1105                                 };
1106                         };
1107                 };
1108
1109                 wcss-phyb1-thermal {
1110                         polling-delay-passive = <250>;
1111                         polling-delay = <1000>;
1112
1113                         thermal-sensors = <&tsens 15>;
1114
1115                         trips {
1116                                 wcss-phyb1-crit {
1117                                         temperature = <110000>;
1118                                         hysteresis = <1000>;
1119                                         type = "critical";
1120                                 };
1121                         };
1122                 };
1123         };
1124 };