Merge branch 'work.gfs2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.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         model = "Qualcomm Technologies, Inc. IPQ8074";
11         compatible = "qcom,ipq8074";
12
13         clocks {
14                 sleep_clk: sleep_clk {
15                         compatible = "fixed-clock";
16                         clock-frequency = <32000>;
17                         #clock-cells = <0>;
18                 };
19
20                 xo: xo {
21                         compatible = "fixed-clock";
22                         clock-frequency = <19200000>;
23                         #clock-cells = <0>;
24                 };
25         };
26
27         cpus {
28                 #address-cells = <0x1>;
29                 #size-cells = <0x0>;
30
31                 CPU0: cpu@0 {
32                         device_type = "cpu";
33                         compatible = "arm,cortex-a53";
34                         reg = <0x0>;
35                         next-level-cache = <&L2_0>;
36                         enable-method = "psci";
37                 };
38
39                 CPU1: cpu@1 {
40                         device_type = "cpu";
41                         compatible = "arm,cortex-a53";
42                         enable-method = "psci";
43                         reg = <0x1>;
44                         next-level-cache = <&L2_0>;
45                 };
46
47                 CPU2: cpu@2 {
48                         device_type = "cpu";
49                         compatible = "arm,cortex-a53";
50                         enable-method = "psci";
51                         reg = <0x2>;
52                         next-level-cache = <&L2_0>;
53                 };
54
55                 CPU3: cpu@3 {
56                         device_type = "cpu";
57                         compatible = "arm,cortex-a53";
58                         enable-method = "psci";
59                         reg = <0x3>;
60                         next-level-cache = <&L2_0>;
61                 };
62
63                 L2_0: l2-cache {
64                         compatible = "cache";
65                         cache-level = <0x2>;
66                 };
67         };
68
69         pmu {
70                 compatible = "arm,cortex-a53-pmu";
71                 interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
72         };
73
74         psci {
75                 compatible = "arm,psci-1.0";
76                 method = "smc";
77         };
78
79         firmware {
80                 scm {
81                         compatible = "qcom,scm-ipq8074", "qcom,scm";
82                 };
83         };
84
85         soc: soc {
86                 #address-cells = <0x1>;
87                 #size-cells = <0x1>;
88                 ranges = <0 0 0 0xffffffff>;
89                 compatible = "simple-bus";
90
91                 ssphy_1: phy@58000 {
92                         compatible = "qcom,ipq8074-qmp-usb3-phy";
93                         reg = <0x00058000 0x1c4>;
94                         #clock-cells = <1>;
95                         #address-cells = <1>;
96                         #size-cells = <1>;
97                         ranges;
98
99                         clocks = <&gcc GCC_USB1_AUX_CLK>,
100                                 <&gcc GCC_USB1_PHY_CFG_AHB_CLK>,
101                                 <&xo>;
102                         clock-names = "aux", "cfg_ahb", "ref";
103
104                         resets =  <&gcc GCC_USB1_PHY_BCR>,
105                                 <&gcc GCC_USB3PHY_1_PHY_BCR>;
106                         reset-names = "phy","common";
107                         status = "disabled";
108
109                         usb1_ssphy: lane@58200 {
110                                 reg = <0x00058200 0x130>,       /* Tx */
111                                       <0x00058400 0x200>,     /* Rx */
112                                       <0x00058800 0x1f8>,     /* PCS  */
113                                       <0x00058600 0x044>;     /* PCS misc*/
114                                 #phy-cells = <0>;
115                                 clocks = <&gcc GCC_USB1_PIPE_CLK>;
116                                 clock-names = "pipe0";
117                                 clock-output-names = "gcc_usb1_pipe_clk_src";
118                         };
119                 };
120
121                 qusb_phy_1: phy@59000 {
122                         compatible = "qcom,ipq8074-qusb2-phy";
123                         reg = <0x00059000 0x180>;
124                         #phy-cells = <0>;
125
126                         clocks = <&gcc GCC_USB1_PHY_CFG_AHB_CLK>,
127                                  <&xo>;
128                         clock-names = "cfg_ahb", "ref";
129
130                         resets = <&gcc GCC_QUSB2_1_PHY_BCR>;
131                         status = "disabled";
132                 };
133
134                 ssphy_0: phy@78000 {
135                         compatible = "qcom,ipq8074-qmp-usb3-phy";
136                         reg = <0x00078000 0x1c4>;
137                         #clock-cells = <1>;
138                         #address-cells = <1>;
139                         #size-cells = <1>;
140                         ranges;
141
142                         clocks = <&gcc GCC_USB0_AUX_CLK>,
143                                 <&gcc GCC_USB0_PHY_CFG_AHB_CLK>,
144                                 <&xo>;
145                         clock-names = "aux", "cfg_ahb", "ref";
146
147                         resets =  <&gcc GCC_USB0_PHY_BCR>,
148                                 <&gcc GCC_USB3PHY_0_PHY_BCR>;
149                         reset-names = "phy","common";
150                         status = "disabled";
151
152                         usb0_ssphy: lane@78200 {
153                                 reg = <0x00078200 0x130>,       /* Tx */
154                                       <0x00078400 0x200>,     /* Rx */
155                                       <0x00078800 0x1f8>,     /* PCS  */
156                                       <0x00078600 0x044>;     /* PCS misc*/
157                                 #phy-cells = <0>;
158                                 clocks = <&gcc GCC_USB0_PIPE_CLK>;
159                                 clock-names = "pipe0";
160                                 clock-output-names = "gcc_usb0_pipe_clk_src";
161                         };
162                 };
163
164                 qusb_phy_0: phy@79000 {
165                         compatible = "qcom,ipq8074-qusb2-phy";
166                         reg = <0x00079000 0x180>;
167                         #phy-cells = <0>;
168
169                         clocks = <&gcc GCC_USB0_PHY_CFG_AHB_CLK>,
170                                  <&xo>;
171                         clock-names = "cfg_ahb", "ref";
172
173                         resets = <&gcc GCC_QUSB2_0_PHY_BCR>;
174                         status = "disabled";
175                 };
176
177                 pcie_phy0: phy@86000 {
178                         compatible = "qcom,ipq8074-qmp-pcie-phy";
179                         reg = <0x00086000 0x1000>;
180                         #phy-cells = <0>;
181                         clocks = <&gcc GCC_PCIE0_PIPE_CLK>;
182                         clock-names = "pipe_clk";
183                         clock-output-names = "pcie20_phy0_pipe_clk";
184
185                         resets = <&gcc GCC_PCIE0_PHY_BCR>,
186                                 <&gcc GCC_PCIE0PHY_PHY_BCR>;
187                         reset-names = "phy",
188                                       "common";
189                         status = "disabled";
190                 };
191
192                 pcie_phy1: phy@8e000 {
193                         compatible = "qcom,ipq8074-qmp-pcie-phy";
194                         reg = <0x0008e000 0x1000>;
195                         #phy-cells = <0>;
196                         clocks = <&gcc GCC_PCIE1_PIPE_CLK>;
197                         clock-names = "pipe_clk";
198                         clock-output-names = "pcie20_phy1_pipe_clk";
199
200                         resets = <&gcc GCC_PCIE1_PHY_BCR>,
201                                 <&gcc GCC_PCIE1PHY_PHY_BCR>;
202                         reset-names = "phy",
203                                       "common";
204                         status = "disabled";
205                 };
206
207                 prng: rng@e3000 {
208                         compatible = "qcom,prng-ee";
209                         reg = <0x000e3000 0x1000>;
210                         clocks = <&gcc GCC_PRNG_AHB_CLK>;
211                         clock-names = "core";
212                         status = "disabled";
213                 };
214
215                 cryptobam: dma@704000 {
216                         compatible = "qcom,bam-v1.7.0";
217                         reg = <0x00704000 0x20000>;
218                         interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>;
219                         clocks = <&gcc GCC_CRYPTO_AHB_CLK>;
220                         clock-names = "bam_clk";
221                         #dma-cells = <1>;
222                         qcom,ee = <1>;
223                         qcom,controlled-remotely = <1>;
224                         status = "disabled";
225                 };
226
227                 crypto: crypto@73a000 {
228                         compatible = "qcom,crypto-v5.1";
229                         reg = <0x0073a000 0x6000>;
230                         clocks = <&gcc GCC_CRYPTO_AHB_CLK>,
231                                  <&gcc GCC_CRYPTO_AXI_CLK>,
232                                  <&gcc GCC_CRYPTO_CLK>;
233                         clock-names = "iface", "bus", "core";
234                         dmas = <&cryptobam 2>, <&cryptobam 3>;
235                         dma-names = "rx", "tx";
236                         status = "disabled";
237                 };
238
239                 tlmm: pinctrl@1000000 {
240                         compatible = "qcom,ipq8074-pinctrl";
241                         reg = <0x01000000 0x300000>;
242                         interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
243                         gpio-controller;
244                         gpio-ranges = <&tlmm 0 0 70>;
245                         #gpio-cells = <0x2>;
246                         interrupt-controller;
247                         #interrupt-cells = <0x2>;
248
249                         serial_4_pins: serial4-pinmux {
250                                 pins = "gpio23", "gpio24";
251                                 function = "blsp4_uart1";
252                                 drive-strength = <8>;
253                                 bias-disable;
254                         };
255
256                         i2c_0_pins: i2c-0-pinmux {
257                                 pins = "gpio42", "gpio43";
258                                 function = "blsp1_i2c";
259                                 drive-strength = <8>;
260                                 bias-disable;
261                         };
262
263                         spi_0_pins: spi-0-pins {
264                                 pins = "gpio38", "gpio39", "gpio40", "gpio41";
265                                 function = "blsp0_spi";
266                                 drive-strength = <8>;
267                                 bias-disable;
268                         };
269
270                         hsuart_pins: hsuart-pins {
271                                 pins = "gpio46", "gpio47", "gpio48", "gpio49";
272                                 function = "blsp2_uart";
273                                 drive-strength = <8>;
274                                 bias-disable;
275                         };
276
277                         qpic_pins: qpic-pins {
278                                 pins = "gpio1", "gpio3", "gpio4",
279                                        "gpio5", "gpio6", "gpio7",
280                                        "gpio8", "gpio10", "gpio11",
281                                        "gpio12", "gpio13", "gpio14",
282                                        "gpio15", "gpio16", "gpio17";
283                                 function = "qpic";
284                                 drive-strength = <8>;
285                                 bias-disable;
286                         };
287                 };
288
289                 gcc: gcc@1800000 {
290                         compatible = "qcom,gcc-ipq8074";
291                         reg = <0x01800000 0x80000>;
292                         #clock-cells = <0x1>;
293                         #reset-cells = <0x1>;
294                 };
295
296                 sdhc_1: sdhci@7824900 {
297                         compatible = "qcom,sdhci-msm-v4";
298                         reg = <0x7824900 0x500>, <0x7824000 0x800>;
299                         reg-names = "hc_mem", "core_mem";
300
301                         interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
302                                      <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
303                         interrupt-names = "hc_irq", "pwr_irq";
304
305                         clocks = <&xo>,
306                                  <&gcc GCC_SDCC1_AHB_CLK>,
307                                  <&gcc GCC_SDCC1_APPS_CLK>;
308                         clock-names = "xo", "iface", "core";
309                         max-frequency = <384000000>;
310                         mmc-ddr-1_8v;
311                         mmc-hs200-1_8v;
312                         mmc-hs400-1_8v;
313                         bus-width = <8>;
314
315                         status = "disabled";
316                 };
317
318                 blsp_dma: dma-controller@7884000 {
319                         compatible = "qcom,bam-v1.7.0";
320                         reg = <0x07884000 0x2b000>;
321                         interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
322                         clocks = <&gcc GCC_BLSP1_AHB_CLK>;
323                         clock-names = "bam_clk";
324                         #dma-cells = <1>;
325                         qcom,ee = <0>;
326                 };
327
328                 blsp1_uart1: serial@78af000 {
329                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
330                         reg = <0x078af000 0x200>;
331                         interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
332                         clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>,
333                                  <&gcc GCC_BLSP1_AHB_CLK>;
334                         clock-names = "core", "iface";
335                         status = "disabled";
336                 };
337
338                 blsp1_uart3: serial@78b1000 {
339                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
340                         reg = <0x078b1000 0x200>;
341                         interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>;
342                         clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>,
343                                 <&gcc GCC_BLSP1_AHB_CLK>;
344                         clock-names = "core", "iface";
345                         dmas = <&blsp_dma 4>,
346                                 <&blsp_dma 5>;
347                         dma-names = "tx", "rx";
348                         pinctrl-0 = <&hsuart_pins>;
349                         pinctrl-names = "default";
350                         status = "disabled";
351                 };
352
353                 blsp1_uart5: serial@78b3000 {
354                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
355                         reg = <0x078b3000 0x200>;
356                         interrupts = <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>;
357                         clocks = <&gcc GCC_BLSP1_UART5_APPS_CLK>,
358                                  <&gcc GCC_BLSP1_AHB_CLK>;
359                         clock-names = "core", "iface";
360                         pinctrl-0 = <&serial_4_pins>;
361                         pinctrl-names = "default";
362                         status = "disabled";
363                 };
364
365                 blsp1_spi1: spi@78b5000 {
366                         compatible = "qcom,spi-qup-v2.2.1";
367                         #address-cells = <1>;
368                         #size-cells = <0>;
369                         reg = <0x078b5000 0x600>;
370                         interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
371                         spi-max-frequency = <50000000>;
372                         clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
373                                 <&gcc GCC_BLSP1_AHB_CLK>;
374                         clock-names = "core", "iface";
375                         dmas = <&blsp_dma 12>, <&blsp_dma 13>;
376                         dma-names = "tx", "rx";
377                         pinctrl-0 = <&spi_0_pins>;
378                         pinctrl-names = "default";
379                         status = "disabled";
380                 };
381
382                 blsp1_i2c2: i2c@78b6000 {
383                         compatible = "qcom,i2c-qup-v2.2.1";
384                         #address-cells = <1>;
385                         #size-cells = <0>;
386                         reg = <0x078b6000 0x600>;
387                         interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
388                         clocks = <&gcc GCC_BLSP1_AHB_CLK>,
389                                 <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>;
390                         clock-names = "iface", "core";
391                         clock-frequency = <400000>;
392                         dmas = <&blsp_dma 15>, <&blsp_dma 14>;
393                         dma-names = "rx", "tx";
394                         pinctrl-0 = <&i2c_0_pins>;
395                         pinctrl-names = "default";
396                         status = "disabled";
397                 };
398
399                 blsp1_i2c3: i2c@78b7000 {
400                         compatible = "qcom,i2c-qup-v2.2.1";
401                         #address-cells = <1>;
402                         #size-cells = <0>;
403                         reg = <0x078b7000 0x600>;
404                         interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
405                         clocks = <&gcc GCC_BLSP1_AHB_CLK>,
406                                 <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>;
407                         clock-names = "iface", "core";
408                         clock-frequency = <100000>;
409                         dmas = <&blsp_dma 17>, <&blsp_dma 16>;
410                         dma-names = "rx", "tx";
411                         status = "disabled";
412                 };
413
414                 blsp1_i2c6: i2c@78ba000 {
415                         compatible = "qcom,i2c-qup-v2.2.1";
416                         #address-cells = <1>;
417                         #size-cells = <0>;
418                         reg = <0x078ba000 0x600>;
419                         interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
420                         clocks = <&gcc GCC_BLSP1_AHB_CLK>,
421                                  <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>;
422                         clock-names = "iface", "core";
423                         clock-frequency = <100000>;
424                         dmas = <&blsp_dma 23>, <&blsp_dma 22>;
425                         dma-names = "rx", "tx";
426                         status = "disabled";
427                 };
428
429                 qpic_bam: dma-controller@7984000 {
430                         compatible = "qcom,bam-v1.7.0";
431                         reg = <0x07984000 0x1a000>;
432                         interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
433                         clocks = <&gcc GCC_QPIC_AHB_CLK>;
434                         clock-names = "bam_clk";
435                         #dma-cells = <1>;
436                         qcom,ee = <0>;
437                         status = "disabled";
438                 };
439
440                 qpic_nand: nand@79b0000 {
441                         compatible = "qcom,ipq8074-nand";
442                         reg = <0x079b0000 0x10000>;
443                         #address-cells = <1>;
444                         #size-cells = <0>;
445                         clocks = <&gcc GCC_QPIC_CLK>,
446                                  <&gcc GCC_QPIC_AHB_CLK>;
447                         clock-names = "core", "aon";
448
449                         dmas = <&qpic_bam 0>,
450                                <&qpic_bam 1>,
451                                <&qpic_bam 2>;
452                         dma-names = "tx", "rx", "cmd";
453                         pinctrl-0 = <&qpic_pins>;
454                         pinctrl-names = "default";
455                         status = "disabled";
456                 };
457
458                 usb_0: usb@8af8800 {
459                         compatible = "qcom,dwc3";
460                         reg = <0x08af8800 0x400>;
461                         #address-cells = <1>;
462                         #size-cells = <1>;
463                         ranges;
464
465                         clocks = <&gcc GCC_SYS_NOC_USB0_AXI_CLK>,
466                                 <&gcc GCC_USB0_MASTER_CLK>,
467                                 <&gcc GCC_USB0_SLEEP_CLK>,
468                                 <&gcc GCC_USB0_MOCK_UTMI_CLK>;
469                         clock-names = "sys_noc_axi",
470                                 "master",
471                                 "sleep",
472                                 "mock_utmi";
473
474                         assigned-clocks = <&gcc GCC_SYS_NOC_USB0_AXI_CLK>,
475                                           <&gcc GCC_USB0_MASTER_CLK>,
476                                           <&gcc GCC_USB0_MOCK_UTMI_CLK>;
477                         assigned-clock-rates = <133330000>,
478                                                 <133330000>,
479                                                 <19200000>;
480
481                         resets = <&gcc GCC_USB0_BCR>;
482                         status = "disabled";
483
484                         dwc_0: dwc3@8a00000 {
485                                 compatible = "snps,dwc3";
486                                 reg = <0x8a00000 0xcd00>;
487                                 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
488                                 phys = <&qusb_phy_0>, <&usb0_ssphy>;
489                                 phy-names = "usb2-phy", "usb3-phy";
490                                 tx-fifo-resize;
491                                 snps,is-utmi-l1-suspend;
492                                 snps,hird-threshold = /bits/ 8 <0x0>;
493                                 snps,dis_u2_susphy_quirk;
494                                 snps,dis_u3_susphy_quirk;
495                                 dr_mode = "host";
496                         };
497                 };
498
499                 usb_1: usb@8cf8800 {
500                         compatible = "qcom,dwc3";
501                         reg = <0x08cf8800 0x400>;
502                         #address-cells = <1>;
503                         #size-cells = <1>;
504                         ranges;
505
506                         clocks = <&gcc GCC_SYS_NOC_USB1_AXI_CLK>,
507                                 <&gcc GCC_USB1_MASTER_CLK>,
508                                 <&gcc GCC_USB1_SLEEP_CLK>,
509                                 <&gcc GCC_USB1_MOCK_UTMI_CLK>;
510                         clock-names = "sys_noc_axi",
511                                 "master",
512                                 "sleep",
513                                 "mock_utmi";
514
515                         assigned-clocks = <&gcc GCC_SYS_NOC_USB1_AXI_CLK>,
516                                           <&gcc GCC_USB1_MASTER_CLK>,
517                                           <&gcc GCC_USB1_MOCK_UTMI_CLK>;
518                         assigned-clock-rates = <133330000>,
519                                                 <133330000>,
520                                                 <19200000>;
521
522                         resets = <&gcc GCC_USB1_BCR>;
523                         status = "disabled";
524
525                         dwc_1: dwc3@8c00000 {
526                                 compatible = "snps,dwc3";
527                                 reg = <0x8c00000 0xcd00>;
528                                 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
529                                 phys = <&qusb_phy_1>, <&usb1_ssphy>;
530                                 phy-names = "usb2-phy", "usb3-phy";
531                                 tx-fifo-resize;
532                                 snps,is-utmi-l1-suspend;
533                                 snps,hird-threshold = /bits/ 8 <0x0>;
534                                 snps,dis_u2_susphy_quirk;
535                                 snps,dis_u3_susphy_quirk;
536                                 dr_mode = "host";
537                         };
538                 };
539
540                 intc: interrupt-controller@b000000 {
541                         compatible = "qcom,msm-qgic2";
542                         interrupt-controller;
543                         #interrupt-cells = <0x3>;
544                         reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>;
545                 };
546
547                 timer {
548                         compatible = "arm,armv8-timer";
549                         interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
550                                      <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
551                                      <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
552                                      <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
553                 };
554
555                 watchdog: watchdog@b017000 {
556                         compatible = "qcom,kpss-wdt";
557                         reg = <0xb017000 0x1000>;
558                         interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
559                         clocks = <&sleep_clk>;
560                         timeout-sec = <30>;
561                 };
562
563                 timer@b120000 {
564                         #address-cells = <1>;
565                         #size-cells = <1>;
566                         ranges;
567                         compatible = "arm,armv7-timer-mem";
568                         reg = <0x0b120000 0x1000>;
569                         clock-frequency = <19200000>;
570
571                         frame@b120000 {
572                                 frame-number = <0>;
573                                 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
574                                              <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
575                                 reg = <0x0b121000 0x1000>,
576                                       <0x0b122000 0x1000>;
577                         };
578
579                         frame@b123000 {
580                                 frame-number = <1>;
581                                 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
582                                 reg = <0x0b123000 0x1000>;
583                                 status = "disabled";
584                         };
585
586                         frame@b124000 {
587                                 frame-number = <2>;
588                                 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
589                                 reg = <0x0b124000 0x1000>;
590                                 status = "disabled";
591                         };
592
593                         frame@b125000 {
594                                 frame-number = <3>;
595                                 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
596                                 reg = <0x0b125000 0x1000>;
597                                 status = "disabled";
598                         };
599
600                         frame@b126000 {
601                                 frame-number = <4>;
602                                 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
603                                 reg = <0x0b126000 0x1000>;
604                                 status = "disabled";
605                         };
606
607                         frame@b127000 {
608                                 frame-number = <5>;
609                                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
610                                 reg = <0x0b127000 0x1000>;
611                                 status = "disabled";
612                         };
613
614                         frame@b128000 {
615                                 frame-number = <6>;
616                                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
617                                 reg = <0x0b128000 0x1000>;
618                                 status = "disabled";
619                         };
620                 };
621
622                 pcie1: pci@10000000 {
623                         compatible = "qcom,pcie-ipq8074";
624                         reg =  <0x10000000 0xf1d>,
625                                <0x10000f20 0xa8>,
626                                <0x00088000 0x2000>,
627                                <0x10100000 0x1000>;
628                         reg-names = "dbi", "elbi", "parf", "config";
629                         device_type = "pci";
630                         linux,pci-domain = <1>;
631                         bus-range = <0x00 0xff>;
632                         num-lanes = <1>;
633                         #address-cells = <3>;
634                         #size-cells = <2>;
635
636                         phys = <&pcie_phy1>;
637                         phy-names = "pciephy";
638
639                         ranges = <0x81000000 0 0x10200000 0x10200000
640                                   0 0x100000   /* downstream I/O */
641                                   0x82000000 0 0x10300000 0x10300000
642                                   0 0xd00000>; /* non-prefetchable memory */
643
644                         interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
645                         interrupt-names = "msi";
646                         #interrupt-cells = <1>;
647                         interrupt-map-mask = <0 0 0 0x7>;
648                         interrupt-map = <0 0 0 1 &intc 0 142
649                                          IRQ_TYPE_LEVEL_HIGH>, /* int_a */
650                                         <0 0 0 2 &intc 0 143
651                                          IRQ_TYPE_LEVEL_HIGH>, /* int_b */
652                                         <0 0 0 3 &intc 0 144
653                                          IRQ_TYPE_LEVEL_HIGH>, /* int_c */
654                                         <0 0 0 4 &intc 0 145
655                                          IRQ_TYPE_LEVEL_HIGH>; /* int_d */
656
657                         clocks = <&gcc GCC_SYS_NOC_PCIE1_AXI_CLK>,
658                                  <&gcc GCC_PCIE1_AXI_M_CLK>,
659                                  <&gcc GCC_PCIE1_AXI_S_CLK>,
660                                  <&gcc GCC_PCIE1_AHB_CLK>,
661                                  <&gcc GCC_PCIE1_AUX_CLK>;
662                         clock-names = "iface",
663                                       "axi_m",
664                                       "axi_s",
665                                       "ahb",
666                                       "aux";
667                         resets = <&gcc GCC_PCIE1_PIPE_ARES>,
668                                  <&gcc GCC_PCIE1_SLEEP_ARES>,
669                                  <&gcc GCC_PCIE1_CORE_STICKY_ARES>,
670                                  <&gcc GCC_PCIE1_AXI_MASTER_ARES>,
671                                  <&gcc GCC_PCIE1_AXI_SLAVE_ARES>,
672                                  <&gcc GCC_PCIE1_AHB_ARES>,
673                                  <&gcc GCC_PCIE1_AXI_MASTER_STICKY_ARES>;
674                         reset-names = "pipe",
675                                       "sleep",
676                                       "sticky",
677                                       "axi_m",
678                                       "axi_s",
679                                       "ahb",
680                                       "axi_m_sticky";
681                         status = "disabled";
682                 };
683
684                 pcie0: pci@20000000 {
685                         compatible = "qcom,pcie-ipq8074";
686                         reg = <0x20000000 0xf1d>,
687                               <0x20000f20 0xa8>,
688                               <0x00080000 0x2000>,
689                               <0x20100000 0x1000>;
690                         reg-names = "dbi", "elbi", "parf", "config";
691                         device_type = "pci";
692                         linux,pci-domain = <0>;
693                         bus-range = <0x00 0xff>;
694                         num-lanes = <1>;
695                         #address-cells = <3>;
696                         #size-cells = <2>;
697
698                         phys = <&pcie_phy0>;
699                         phy-names = "pciephy";
700
701                         ranges = <0x81000000 0 0x20200000 0x20200000
702                                   0 0x100000   /* downstream I/O */
703                                   0x82000000 0 0x20300000 0x20300000
704                                   0 0xd00000>; /* non-prefetchable memory */
705
706                         interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
707                         interrupt-names = "msi";
708                         #interrupt-cells = <1>;
709                         interrupt-map-mask = <0 0 0 0x7>;
710                         interrupt-map = <0 0 0 1 &intc 0 75
711                                          IRQ_TYPE_LEVEL_HIGH>, /* int_a */
712                                         <0 0 0 2 &intc 0 78
713                                          IRQ_TYPE_LEVEL_HIGH>, /* int_b */
714                                         <0 0 0 3 &intc 0 79
715                                          IRQ_TYPE_LEVEL_HIGH>, /* int_c */
716                                         <0 0 0 4 &intc 0 83
717                                          IRQ_TYPE_LEVEL_HIGH>; /* int_d */
718
719                         clocks = <&gcc GCC_SYS_NOC_PCIE0_AXI_CLK>,
720                                  <&gcc GCC_PCIE0_AXI_M_CLK>,
721                                  <&gcc GCC_PCIE0_AXI_S_CLK>,
722                                  <&gcc GCC_PCIE0_AHB_CLK>,
723                                  <&gcc GCC_PCIE0_AUX_CLK>;
724
725                         clock-names = "iface",
726                                       "axi_m",
727                                       "axi_s",
728                                       "ahb",
729                                       "aux";
730                         resets = <&gcc GCC_PCIE0_PIPE_ARES>,
731                                  <&gcc GCC_PCIE0_SLEEP_ARES>,
732                                  <&gcc GCC_PCIE0_CORE_STICKY_ARES>,
733                                  <&gcc GCC_PCIE0_AXI_MASTER_ARES>,
734                                  <&gcc GCC_PCIE0_AXI_SLAVE_ARES>,
735                                  <&gcc GCC_PCIE0_AHB_ARES>,
736                                  <&gcc GCC_PCIE0_AXI_MASTER_STICKY_ARES>;
737                         reset-names = "pipe",
738                                       "sleep",
739                                       "sticky",
740                                       "axi_m",
741                                       "axi_s",
742                                       "ahb",
743                                       "axi_m_sticky";
744                         status = "disabled";
745                 };
746         };
747 };