Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
[platform/kernel/linux-rpi.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                                 snps,is-utmi-l1-suspend;
491                                 snps,hird-threshold = /bits/ 8 <0x0>;
492                                 snps,dis_u2_susphy_quirk;
493                                 snps,dis_u3_susphy_quirk;
494                                 dr_mode = "host";
495                         };
496                 };
497
498                 usb_1: usb@8cf8800 {
499                         compatible = "qcom,dwc3";
500                         reg = <0x08cf8800 0x400>;
501                         #address-cells = <1>;
502                         #size-cells = <1>;
503                         ranges;
504
505                         clocks = <&gcc GCC_SYS_NOC_USB1_AXI_CLK>,
506                                 <&gcc GCC_USB1_MASTER_CLK>,
507                                 <&gcc GCC_USB1_SLEEP_CLK>,
508                                 <&gcc GCC_USB1_MOCK_UTMI_CLK>;
509                         clock-names = "sys_noc_axi",
510                                 "master",
511                                 "sleep",
512                                 "mock_utmi";
513
514                         assigned-clocks = <&gcc GCC_SYS_NOC_USB1_AXI_CLK>,
515                                           <&gcc GCC_USB1_MASTER_CLK>,
516                                           <&gcc GCC_USB1_MOCK_UTMI_CLK>;
517                         assigned-clock-rates = <133330000>,
518                                                 <133330000>,
519                                                 <19200000>;
520
521                         resets = <&gcc GCC_USB1_BCR>;
522                         status = "disabled";
523
524                         dwc_1: dwc3@8c00000 {
525                                 compatible = "snps,dwc3";
526                                 reg = <0x8c00000 0xcd00>;
527                                 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
528                                 phys = <&qusb_phy_1>, <&usb1_ssphy>;
529                                 phy-names = "usb2-phy", "usb3-phy";
530                                 snps,is-utmi-l1-suspend;
531                                 snps,hird-threshold = /bits/ 8 <0x0>;
532                                 snps,dis_u2_susphy_quirk;
533                                 snps,dis_u3_susphy_quirk;
534                                 dr_mode = "host";
535                         };
536                 };
537
538                 intc: interrupt-controller@b000000 {
539                         compatible = "qcom,msm-qgic2";
540                         interrupt-controller;
541                         #interrupt-cells = <0x3>;
542                         reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>;
543                 };
544
545                 timer {
546                         compatible = "arm,armv8-timer";
547                         interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
548                                      <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
549                                      <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
550                                      <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
551                 };
552
553                 watchdog: watchdog@b017000 {
554                         compatible = "qcom,kpss-wdt";
555                         reg = <0xb017000 0x1000>;
556                         interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
557                         clocks = <&sleep_clk>;
558                         timeout-sec = <30>;
559                 };
560
561                 timer@b120000 {
562                         #address-cells = <1>;
563                         #size-cells = <1>;
564                         ranges;
565                         compatible = "arm,armv7-timer-mem";
566                         reg = <0x0b120000 0x1000>;
567                         clock-frequency = <19200000>;
568
569                         frame@b120000 {
570                                 frame-number = <0>;
571                                 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
572                                              <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
573                                 reg = <0x0b121000 0x1000>,
574                                       <0x0b122000 0x1000>;
575                         };
576
577                         frame@b123000 {
578                                 frame-number = <1>;
579                                 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
580                                 reg = <0x0b123000 0x1000>;
581                                 status = "disabled";
582                         };
583
584                         frame@b124000 {
585                                 frame-number = <2>;
586                                 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
587                                 reg = <0x0b124000 0x1000>;
588                                 status = "disabled";
589                         };
590
591                         frame@b125000 {
592                                 frame-number = <3>;
593                                 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
594                                 reg = <0x0b125000 0x1000>;
595                                 status = "disabled";
596                         };
597
598                         frame@b126000 {
599                                 frame-number = <4>;
600                                 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
601                                 reg = <0x0b126000 0x1000>;
602                                 status = "disabled";
603                         };
604
605                         frame@b127000 {
606                                 frame-number = <5>;
607                                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
608                                 reg = <0x0b127000 0x1000>;
609                                 status = "disabled";
610                         };
611
612                         frame@b128000 {
613                                 frame-number = <6>;
614                                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
615                                 reg = <0x0b128000 0x1000>;
616                                 status = "disabled";
617                         };
618                 };
619
620                 pcie1: pci@10000000 {
621                         compatible = "qcom,pcie-ipq8074";
622                         reg =  <0x10000000 0xf1d>,
623                                <0x10000f20 0xa8>,
624                                <0x00088000 0x2000>,
625                                <0x10100000 0x1000>;
626                         reg-names = "dbi", "elbi", "parf", "config";
627                         device_type = "pci";
628                         linux,pci-domain = <1>;
629                         bus-range = <0x00 0xff>;
630                         num-lanes = <1>;
631                         #address-cells = <3>;
632                         #size-cells = <2>;
633
634                         phys = <&pcie_phy1>;
635                         phy-names = "pciephy";
636
637                         ranges = <0x81000000 0 0x10200000 0x10200000
638                                   0 0x100000   /* downstream I/O */
639                                   0x82000000 0 0x10300000 0x10300000
640                                   0 0xd00000>; /* non-prefetchable memory */
641
642                         interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
643                         interrupt-names = "msi";
644                         #interrupt-cells = <1>;
645                         interrupt-map-mask = <0 0 0 0x7>;
646                         interrupt-map = <0 0 0 1 &intc 0 142
647                                          IRQ_TYPE_LEVEL_HIGH>, /* int_a */
648                                         <0 0 0 2 &intc 0 143
649                                          IRQ_TYPE_LEVEL_HIGH>, /* int_b */
650                                         <0 0 0 3 &intc 0 144
651                                          IRQ_TYPE_LEVEL_HIGH>, /* int_c */
652                                         <0 0 0 4 &intc 0 145
653                                          IRQ_TYPE_LEVEL_HIGH>; /* int_d */
654
655                         clocks = <&gcc GCC_SYS_NOC_PCIE1_AXI_CLK>,
656                                  <&gcc GCC_PCIE1_AXI_M_CLK>,
657                                  <&gcc GCC_PCIE1_AXI_S_CLK>,
658                                  <&gcc GCC_PCIE1_AHB_CLK>,
659                                  <&gcc GCC_PCIE1_AUX_CLK>;
660                         clock-names = "iface",
661                                       "axi_m",
662                                       "axi_s",
663                                       "ahb",
664                                       "aux";
665                         resets = <&gcc GCC_PCIE1_PIPE_ARES>,
666                                  <&gcc GCC_PCIE1_SLEEP_ARES>,
667                                  <&gcc GCC_PCIE1_CORE_STICKY_ARES>,
668                                  <&gcc GCC_PCIE1_AXI_MASTER_ARES>,
669                                  <&gcc GCC_PCIE1_AXI_SLAVE_ARES>,
670                                  <&gcc GCC_PCIE1_AHB_ARES>,
671                                  <&gcc GCC_PCIE1_AXI_MASTER_STICKY_ARES>;
672                         reset-names = "pipe",
673                                       "sleep",
674                                       "sticky",
675                                       "axi_m",
676                                       "axi_s",
677                                       "ahb",
678                                       "axi_m_sticky";
679                         status = "disabled";
680                 };
681
682                 pcie0: pci@20000000 {
683                         compatible = "qcom,pcie-ipq8074";
684                         reg = <0x20000000 0xf1d>,
685                               <0x20000f20 0xa8>,
686                               <0x00080000 0x2000>,
687                               <0x20100000 0x1000>;
688                         reg-names = "dbi", "elbi", "parf", "config";
689                         device_type = "pci";
690                         linux,pci-domain = <0>;
691                         bus-range = <0x00 0xff>;
692                         num-lanes = <1>;
693                         #address-cells = <3>;
694                         #size-cells = <2>;
695
696                         phys = <&pcie_phy0>;
697                         phy-names = "pciephy";
698
699                         ranges = <0x81000000 0 0x20200000 0x20200000
700                                   0 0x100000   /* downstream I/O */
701                                   0x82000000 0 0x20300000 0x20300000
702                                   0 0xd00000>; /* non-prefetchable memory */
703
704                         interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
705                         interrupt-names = "msi";
706                         #interrupt-cells = <1>;
707                         interrupt-map-mask = <0 0 0 0x7>;
708                         interrupt-map = <0 0 0 1 &intc 0 75
709                                          IRQ_TYPE_LEVEL_HIGH>, /* int_a */
710                                         <0 0 0 2 &intc 0 78
711                                          IRQ_TYPE_LEVEL_HIGH>, /* int_b */
712                                         <0 0 0 3 &intc 0 79
713                                          IRQ_TYPE_LEVEL_HIGH>, /* int_c */
714                                         <0 0 0 4 &intc 0 83
715                                          IRQ_TYPE_LEVEL_HIGH>; /* int_d */
716
717                         clocks = <&gcc GCC_SYS_NOC_PCIE0_AXI_CLK>,
718                                  <&gcc GCC_PCIE0_AXI_M_CLK>,
719                                  <&gcc GCC_PCIE0_AXI_S_CLK>,
720                                  <&gcc GCC_PCIE0_AHB_CLK>,
721                                  <&gcc GCC_PCIE0_AUX_CLK>;
722
723                         clock-names = "iface",
724                                       "axi_m",
725                                       "axi_s",
726                                       "ahb",
727                                       "aux";
728                         resets = <&gcc GCC_PCIE0_PIPE_ARES>,
729                                  <&gcc GCC_PCIE0_SLEEP_ARES>,
730                                  <&gcc GCC_PCIE0_CORE_STICKY_ARES>,
731                                  <&gcc GCC_PCIE0_AXI_MASTER_ARES>,
732                                  <&gcc GCC_PCIE0_AXI_SLAVE_ARES>,
733                                  <&gcc GCC_PCIE0_AHB_ARES>,
734                                  <&gcc GCC_PCIE0_AXI_MASTER_STICKY_ARES>;
735                         reset-names = "pipe",
736                                       "sleep",
737                                       "sticky",
738                                       "axi_m",
739                                       "axi_s",
740                                       "ahb",
741                                       "axi_m_sticky";
742                         status = "disabled";
743                 };
744         };
745 };