0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003 * Copyright (c) 2017, The Linux Foundation. All rights reserved.
0004 */
0005
0006 #include <dt-bindings/interrupt-controller/arm-gic.h>
0007 #include <dt-bindings/clock/qcom,gcc-ipq8074.h>
0008
0009 / {
0010 #address-cells = <2>;
0011 #size-cells = <2>;
0012
0013 model = "Qualcomm Technologies, Inc. IPQ8074";
0014 compatible = "qcom,ipq8074";
0015 interrupt-parent = <&intc>;
0016
0017 clocks {
0018 sleep_clk: sleep_clk {
0019 compatible = "fixed-clock";
0020 clock-frequency = <32768>;
0021 #clock-cells = <0>;
0022 };
0023
0024 xo: xo {
0025 compatible = "fixed-clock";
0026 clock-frequency = <19200000>;
0027 #clock-cells = <0>;
0028 };
0029 };
0030
0031 cpus {
0032 #address-cells = <0x1>;
0033 #size-cells = <0x0>;
0034
0035 CPU0: cpu@0 {
0036 device_type = "cpu";
0037 compatible = "arm,cortex-a53";
0038 reg = <0x0>;
0039 next-level-cache = <&L2_0>;
0040 enable-method = "psci";
0041 };
0042
0043 CPU1: cpu@1 {
0044 device_type = "cpu";
0045 compatible = "arm,cortex-a53";
0046 enable-method = "psci";
0047 reg = <0x1>;
0048 next-level-cache = <&L2_0>;
0049 };
0050
0051 CPU2: cpu@2 {
0052 device_type = "cpu";
0053 compatible = "arm,cortex-a53";
0054 enable-method = "psci";
0055 reg = <0x2>;
0056 next-level-cache = <&L2_0>;
0057 };
0058
0059 CPU3: cpu@3 {
0060 device_type = "cpu";
0061 compatible = "arm,cortex-a53";
0062 enable-method = "psci";
0063 reg = <0x3>;
0064 next-level-cache = <&L2_0>;
0065 };
0066
0067 L2_0: l2-cache {
0068 compatible = "cache";
0069 cache-level = <0x2>;
0070 };
0071 };
0072
0073 pmu {
0074 compatible = "arm,cortex-a53-pmu";
0075 interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
0076 };
0077
0078 psci {
0079 compatible = "arm,psci-1.0";
0080 method = "smc";
0081 };
0082
0083 reserved-memory {
0084 #address-cells = <2>;
0085 #size-cells = <2>;
0086 ranges;
0087
0088 smem@4ab00000 {
0089 compatible = "qcom,smem";
0090 reg = <0x0 0x4ab00000 0x0 0x00100000>;
0091 no-map;
0092
0093 hwlocks = <&tcsr_mutex 0>;
0094 };
0095
0096 memory@4ac00000 {
0097 no-map;
0098 reg = <0x0 0x4ac00000 0x0 0x00400000>;
0099 };
0100 };
0101
0102 firmware {
0103 scm {
0104 compatible = "qcom,scm-ipq8074", "qcom,scm";
0105 };
0106 };
0107
0108 soc: soc {
0109 #address-cells = <0x1>;
0110 #size-cells = <0x1>;
0111 ranges = <0 0 0 0xffffffff>;
0112 compatible = "simple-bus";
0113
0114 ssphy_1: phy@58000 {
0115 compatible = "qcom,ipq8074-qmp-usb3-phy";
0116 reg = <0x00058000 0x1c4>;
0117 #address-cells = <1>;
0118 #size-cells = <1>;
0119 ranges;
0120
0121 clocks = <&gcc GCC_USB1_AUX_CLK>,
0122 <&gcc GCC_USB1_PHY_CFG_AHB_CLK>,
0123 <&xo>;
0124 clock-names = "aux", "cfg_ahb", "ref";
0125
0126 resets = <&gcc GCC_USB1_PHY_BCR>,
0127 <&gcc GCC_USB3PHY_1_PHY_BCR>;
0128 reset-names = "phy","common";
0129 status = "disabled";
0130
0131 usb1_ssphy: phy@58200 {
0132 reg = <0x00058200 0x130>, /* Tx */
0133 <0x00058400 0x200>, /* Rx */
0134 <0x00058800 0x1f8>, /* PCS */
0135 <0x00058600 0x044>; /* PCS misc*/
0136 #phy-cells = <0>;
0137 #clock-cells = <0>;
0138 clocks = <&gcc GCC_USB1_PIPE_CLK>;
0139 clock-names = "pipe0";
0140 clock-output-names = "gcc_usb1_pipe_clk_src";
0141 };
0142 };
0143
0144 qusb_phy_1: phy@59000 {
0145 compatible = "qcom,ipq8074-qusb2-phy";
0146 reg = <0x00059000 0x180>;
0147 #phy-cells = <0>;
0148
0149 clocks = <&gcc GCC_USB1_PHY_CFG_AHB_CLK>,
0150 <&xo>;
0151 clock-names = "cfg_ahb", "ref";
0152
0153 resets = <&gcc GCC_QUSB2_1_PHY_BCR>;
0154 status = "disabled";
0155 };
0156
0157 ssphy_0: phy@78000 {
0158 compatible = "qcom,ipq8074-qmp-usb3-phy";
0159 reg = <0x00078000 0x1c4>;
0160 #address-cells = <1>;
0161 #size-cells = <1>;
0162 ranges;
0163
0164 clocks = <&gcc GCC_USB0_AUX_CLK>,
0165 <&gcc GCC_USB0_PHY_CFG_AHB_CLK>,
0166 <&xo>;
0167 clock-names = "aux", "cfg_ahb", "ref";
0168
0169 resets = <&gcc GCC_USB0_PHY_BCR>,
0170 <&gcc GCC_USB3PHY_0_PHY_BCR>;
0171 reset-names = "phy","common";
0172 status = "disabled";
0173
0174 usb0_ssphy: phy@78200 {
0175 reg = <0x00078200 0x130>, /* Tx */
0176 <0x00078400 0x200>, /* Rx */
0177 <0x00078800 0x1f8>, /* PCS */
0178 <0x00078600 0x044>; /* PCS misc*/
0179 #phy-cells = <0>;
0180 #clock-cells = <0>;
0181 clocks = <&gcc GCC_USB0_PIPE_CLK>;
0182 clock-names = "pipe0";
0183 clock-output-names = "gcc_usb0_pipe_clk_src";
0184 };
0185 };
0186
0187 qusb_phy_0: phy@79000 {
0188 compatible = "qcom,ipq8074-qusb2-phy";
0189 reg = <0x00079000 0x180>;
0190 #phy-cells = <0>;
0191
0192 clocks = <&gcc GCC_USB0_PHY_CFG_AHB_CLK>,
0193 <&xo>;
0194 clock-names = "cfg_ahb", "ref";
0195
0196 resets = <&gcc GCC_QUSB2_0_PHY_BCR>;
0197 status = "disabled";
0198 };
0199
0200 pcie_qmp0: phy@86000 {
0201 compatible = "qcom,ipq8074-qmp-pcie-phy";
0202 reg = <0x00086000 0x1000>;
0203 #address-cells = <1>;
0204 #size-cells = <1>;
0205 ranges;
0206
0207 clocks = <&gcc GCC_PCIE0_AUX_CLK>,
0208 <&gcc GCC_PCIE0_AHB_CLK>;
0209 clock-names = "aux", "cfg_ahb";
0210 resets = <&gcc GCC_PCIE0_PHY_BCR>,
0211 <&gcc GCC_PCIE0PHY_PHY_BCR>;
0212 reset-names = "phy",
0213 "common";
0214 status = "disabled";
0215
0216 pcie_phy0: phy@86200 {
0217 reg = <0x86200 0x16c>,
0218 <0x86400 0x200>,
0219 <0x86800 0x4f4>;
0220 #phy-cells = <0>;
0221 #clock-cells = <0>;
0222 clocks = <&gcc GCC_PCIE0_PIPE_CLK>;
0223 clock-names = "pipe0";
0224 clock-output-names = "pcie_0_pipe_clk";
0225 };
0226 };
0227
0228 pcie_qmp1: phy@8e000 {
0229 compatible = "qcom,ipq8074-qmp-pcie-phy";
0230 reg = <0x0008e000 0x1000>;
0231 #address-cells = <1>;
0232 #size-cells = <1>;
0233 ranges;
0234
0235 clocks = <&gcc GCC_PCIE1_AUX_CLK>,
0236 <&gcc GCC_PCIE1_AHB_CLK>;
0237 clock-names = "aux", "cfg_ahb";
0238 resets = <&gcc GCC_PCIE1_PHY_BCR>,
0239 <&gcc GCC_PCIE1PHY_PHY_BCR>;
0240 reset-names = "phy",
0241 "common";
0242 status = "disabled";
0243
0244 pcie_phy1: phy@8e200 {
0245 reg = <0x8e200 0x16c>,
0246 <0x8e400 0x200>,
0247 <0x8e800 0x4f4>;
0248 #phy-cells = <0>;
0249 #clock-cells = <0>;
0250 clocks = <&gcc GCC_PCIE1_PIPE_CLK>;
0251 clock-names = "pipe0";
0252 clock-output-names = "pcie_1_pipe_clk";
0253 };
0254 };
0255
0256 mdio: mdio@90000 {
0257 compatible = "qcom,ipq4019-mdio";
0258 reg = <0x00090000 0x64>;
0259 #address-cells = <1>;
0260 #size-cells = <0>;
0261
0262 clocks = <&gcc GCC_MDIO_AHB_CLK>;
0263 clock-names = "gcc_mdio_ahb_clk";
0264
0265 status = "disabled";
0266 };
0267
0268 prng: rng@e3000 {
0269 compatible = "qcom,prng-ee";
0270 reg = <0x000e3000 0x1000>;
0271 clocks = <&gcc GCC_PRNG_AHB_CLK>;
0272 clock-names = "core";
0273 status = "disabled";
0274 };
0275
0276 cryptobam: dma-controller@704000 {
0277 compatible = "qcom,bam-v1.7.0";
0278 reg = <0x00704000 0x20000>;
0279 interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>;
0280 clocks = <&gcc GCC_CRYPTO_AHB_CLK>;
0281 clock-names = "bam_clk";
0282 #dma-cells = <1>;
0283 qcom,ee = <1>;
0284 qcom,controlled-remotely;
0285 status = "disabled";
0286 };
0287
0288 crypto: crypto@73a000 {
0289 compatible = "qcom,crypto-v5.1";
0290 reg = <0x0073a000 0x6000>;
0291 clocks = <&gcc GCC_CRYPTO_AHB_CLK>,
0292 <&gcc GCC_CRYPTO_AXI_CLK>,
0293 <&gcc GCC_CRYPTO_CLK>;
0294 clock-names = "iface", "bus", "core";
0295 dmas = <&cryptobam 2>, <&cryptobam 3>;
0296 dma-names = "rx", "tx";
0297 status = "disabled";
0298 };
0299
0300 tlmm: pinctrl@1000000 {
0301 compatible = "qcom,ipq8074-pinctrl";
0302 reg = <0x01000000 0x300000>;
0303 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
0304 gpio-controller;
0305 gpio-ranges = <&tlmm 0 0 70>;
0306 #gpio-cells = <0x2>;
0307 interrupt-controller;
0308 #interrupt-cells = <0x2>;
0309
0310 serial_4_pins: serial4-pinmux {
0311 pins = "gpio23", "gpio24";
0312 function = "blsp4_uart1";
0313 drive-strength = <8>;
0314 bias-disable;
0315 };
0316
0317 i2c_0_pins: i2c-0-pinmux {
0318 pins = "gpio42", "gpio43";
0319 function = "blsp1_i2c";
0320 drive-strength = <8>;
0321 bias-disable;
0322 };
0323
0324 spi_0_pins: spi-0-pins {
0325 pins = "gpio38", "gpio39", "gpio40", "gpio41";
0326 function = "blsp0_spi";
0327 drive-strength = <8>;
0328 bias-disable;
0329 };
0330
0331 hsuart_pins: hsuart-pins {
0332 pins = "gpio46", "gpio47", "gpio48", "gpio49";
0333 function = "blsp2_uart";
0334 drive-strength = <8>;
0335 bias-disable;
0336 };
0337
0338 qpic_pins: qpic-pins {
0339 pins = "gpio1", "gpio3", "gpio4",
0340 "gpio5", "gpio6", "gpio7",
0341 "gpio8", "gpio10", "gpio11",
0342 "gpio12", "gpio13", "gpio14",
0343 "gpio15", "gpio16", "gpio17";
0344 function = "qpic";
0345 drive-strength = <8>;
0346 bias-disable;
0347 };
0348 };
0349
0350 gcc: gcc@1800000 {
0351 compatible = "qcom,gcc-ipq8074";
0352 reg = <0x01800000 0x80000>;
0353 #clock-cells = <0x1>;
0354 #power-domain-cells = <1>;
0355 #reset-cells = <0x1>;
0356 };
0357
0358 tcsr_mutex: hwlock@1905000 {
0359 compatible = "qcom,tcsr-mutex";
0360 reg = <0x01905000 0x20000>;
0361 #hwlock-cells = <1>;
0362 };
0363
0364 spmi_bus: spmi@200f000 {
0365 compatible = "qcom,spmi-pmic-arb";
0366 reg = <0x0200f000 0x001000>,
0367 <0x02400000 0x800000>,
0368 <0x02c00000 0x800000>,
0369 <0x03800000 0x200000>,
0370 <0x0200a000 0x000700>;
0371 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
0372 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
0373 interrupt-names = "periph_irq";
0374 qcom,ee = <0>;
0375 qcom,channel = <0>;
0376 #address-cells = <2>;
0377 #size-cells = <0>;
0378 interrupt-controller;
0379 #interrupt-cells = <4>;
0380 cell-index = <0>;
0381 };
0382
0383 sdhc_1: mmc@7824900 {
0384 compatible = "qcom,sdhci-msm-v4";
0385 reg = <0x7824900 0x500>, <0x7824000 0x800>;
0386 reg-names = "hc_mem", "core_mem";
0387
0388 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
0389 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
0390 interrupt-names = "hc_irq", "pwr_irq";
0391
0392 clocks = <&gcc GCC_SDCC1_AHB_CLK>,
0393 <&gcc GCC_SDCC1_APPS_CLK>,
0394 <&xo>;
0395 clock-names = "iface", "core", "xo";
0396 resets = <&gcc GCC_SDCC1_BCR>;
0397 max-frequency = <384000000>;
0398 mmc-ddr-1_8v;
0399 mmc-hs200-1_8v;
0400 mmc-hs400-1_8v;
0401 bus-width = <8>;
0402
0403 status = "disabled";
0404 };
0405
0406 blsp_dma: dma-controller@7884000 {
0407 compatible = "qcom,bam-v1.7.0";
0408 reg = <0x07884000 0x2b000>;
0409 interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
0410 clocks = <&gcc GCC_BLSP1_AHB_CLK>;
0411 clock-names = "bam_clk";
0412 #dma-cells = <1>;
0413 qcom,ee = <0>;
0414 };
0415
0416 blsp1_uart1: serial@78af000 {
0417 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
0418 reg = <0x078af000 0x200>;
0419 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
0420 clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>,
0421 <&gcc GCC_BLSP1_AHB_CLK>;
0422 clock-names = "core", "iface";
0423 status = "disabled";
0424 };
0425
0426 blsp1_uart3: serial@78b1000 {
0427 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
0428 reg = <0x078b1000 0x200>;
0429 interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>;
0430 clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>,
0431 <&gcc GCC_BLSP1_AHB_CLK>;
0432 clock-names = "core", "iface";
0433 dmas = <&blsp_dma 4>,
0434 <&blsp_dma 5>;
0435 dma-names = "tx", "rx";
0436 pinctrl-0 = <&hsuart_pins>;
0437 pinctrl-names = "default";
0438 status = "disabled";
0439 };
0440
0441 blsp1_uart5: serial@78b3000 {
0442 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
0443 reg = <0x078b3000 0x200>;
0444 interrupts = <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>;
0445 clocks = <&gcc GCC_BLSP1_UART5_APPS_CLK>,
0446 <&gcc GCC_BLSP1_AHB_CLK>;
0447 clock-names = "core", "iface";
0448 pinctrl-0 = <&serial_4_pins>;
0449 pinctrl-names = "default";
0450 status = "disabled";
0451 };
0452
0453 blsp1_spi1: spi@78b5000 {
0454 compatible = "qcom,spi-qup-v2.2.1";
0455 #address-cells = <1>;
0456 #size-cells = <0>;
0457 reg = <0x078b5000 0x600>;
0458 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
0459 spi-max-frequency = <50000000>;
0460 clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
0461 <&gcc GCC_BLSP1_AHB_CLK>;
0462 clock-names = "core", "iface";
0463 dmas = <&blsp_dma 12>, <&blsp_dma 13>;
0464 dma-names = "tx", "rx";
0465 pinctrl-0 = <&spi_0_pins>;
0466 pinctrl-names = "default";
0467 status = "disabled";
0468 };
0469
0470 blsp1_i2c2: i2c@78b6000 {
0471 compatible = "qcom,i2c-qup-v2.2.1";
0472 #address-cells = <1>;
0473 #size-cells = <0>;
0474 reg = <0x078b6000 0x600>;
0475 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
0476 clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
0477 <&gcc GCC_BLSP1_AHB_CLK>;
0478 clock-names = "core", "iface";
0479 clock-frequency = <400000>;
0480 dmas = <&blsp_dma 14>, <&blsp_dma 15>;
0481 dma-names = "tx", "rx";
0482 pinctrl-0 = <&i2c_0_pins>;
0483 pinctrl-names = "default";
0484 status = "disabled";
0485 };
0486
0487 blsp1_i2c3: i2c@78b7000 {
0488 compatible = "qcom,i2c-qup-v2.2.1";
0489 #address-cells = <1>;
0490 #size-cells = <0>;
0491 reg = <0x078b7000 0x600>;
0492 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
0493 clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
0494 <&gcc GCC_BLSP1_AHB_CLK>;
0495 clock-names = "core", "iface";
0496 clock-frequency = <100000>;
0497 dmas = <&blsp_dma 16>, <&blsp_dma 17>;
0498 dma-names = "tx", "rx";
0499 status = "disabled";
0500 };
0501
0502 blsp1_i2c5: i2c@78b9000 {
0503 compatible = "qcom,i2c-qup-v2.2.1";
0504 #address-cells = <1>;
0505 #size-cells = <0>;
0506 reg = <0x78b9000 0x600>;
0507 interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
0508 clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>,
0509 <&gcc GCC_BLSP1_AHB_CLK>;
0510 clock-names = "core", "iface";
0511 clock-frequency = <400000>;
0512 dmas = <&blsp_dma 20>, <&blsp_dma 21>;
0513 dma-names = "tx", "rx";
0514 status = "disabled";
0515 };
0516
0517 blsp1_i2c6: i2c@78ba000 {
0518 compatible = "qcom,i2c-qup-v2.2.1";
0519 #address-cells = <1>;
0520 #size-cells = <0>;
0521 reg = <0x078ba000 0x600>;
0522 interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
0523 clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>,
0524 <&gcc GCC_BLSP1_AHB_CLK>;
0525 clock-names = "core", "iface";
0526 clock-frequency = <100000>;
0527 dmas = <&blsp_dma 22>, <&blsp_dma 23>;
0528 dma-names = "tx", "rx";
0529 status = "disabled";
0530 };
0531
0532 qpic_bam: dma-controller@7984000 {
0533 compatible = "qcom,bam-v1.7.0";
0534 reg = <0x07984000 0x1a000>;
0535 interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
0536 clocks = <&gcc GCC_QPIC_AHB_CLK>;
0537 clock-names = "bam_clk";
0538 #dma-cells = <1>;
0539 qcom,ee = <0>;
0540 status = "disabled";
0541 };
0542
0543 qpic_nand: nand-controller@79b0000 {
0544 compatible = "qcom,ipq8074-nand";
0545 reg = <0x079b0000 0x10000>;
0546 #address-cells = <1>;
0547 #size-cells = <0>;
0548 clocks = <&gcc GCC_QPIC_CLK>,
0549 <&gcc GCC_QPIC_AHB_CLK>;
0550 clock-names = "core", "aon";
0551
0552 dmas = <&qpic_bam 0>,
0553 <&qpic_bam 1>,
0554 <&qpic_bam 2>;
0555 dma-names = "tx", "rx", "cmd";
0556 pinctrl-0 = <&qpic_pins>;
0557 pinctrl-names = "default";
0558 status = "disabled";
0559 };
0560
0561 usb_0: usb@8af8800 {
0562 compatible = "qcom,ipq8074-dwc3", "qcom,dwc3";
0563 reg = <0x08af8800 0x400>;
0564 #address-cells = <1>;
0565 #size-cells = <1>;
0566 ranges;
0567
0568 clocks = <&gcc GCC_SYS_NOC_USB0_AXI_CLK>,
0569 <&gcc GCC_USB0_MASTER_CLK>,
0570 <&gcc GCC_USB0_SLEEP_CLK>,
0571 <&gcc GCC_USB0_MOCK_UTMI_CLK>;
0572 clock-names = "cfg_noc",
0573 "core",
0574 "sleep",
0575 "mock_utmi";
0576
0577 assigned-clocks = <&gcc GCC_SYS_NOC_USB0_AXI_CLK>,
0578 <&gcc GCC_USB0_MASTER_CLK>,
0579 <&gcc GCC_USB0_MOCK_UTMI_CLK>;
0580 assigned-clock-rates = <133330000>,
0581 <133330000>,
0582 <19200000>;
0583
0584 power-domains = <&gcc USB0_GDSC>;
0585
0586 resets = <&gcc GCC_USB0_BCR>;
0587 status = "disabled";
0588
0589 dwc_0: usb@8a00000 {
0590 compatible = "snps,dwc3";
0591 reg = <0x8a00000 0xcd00>;
0592 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
0593 phys = <&qusb_phy_0>, <&usb0_ssphy>;
0594 phy-names = "usb2-phy", "usb3-phy";
0595 snps,is-utmi-l1-suspend;
0596 snps,hird-threshold = /bits/ 8 <0x0>;
0597 snps,dis_u2_susphy_quirk;
0598 snps,dis_u3_susphy_quirk;
0599 dr_mode = "host";
0600 };
0601 };
0602
0603 usb_1: usb@8cf8800 {
0604 compatible = "qcom,ipq8074-dwc3", "qcom,dwc3";
0605 reg = <0x08cf8800 0x400>;
0606 #address-cells = <1>;
0607 #size-cells = <1>;
0608 ranges;
0609
0610 clocks = <&gcc GCC_SYS_NOC_USB1_AXI_CLK>,
0611 <&gcc GCC_USB1_MASTER_CLK>,
0612 <&gcc GCC_USB1_SLEEP_CLK>,
0613 <&gcc GCC_USB1_MOCK_UTMI_CLK>;
0614 clock-names = "cfg_noc",
0615 "core",
0616 "sleep",
0617 "mock_utmi";
0618
0619 assigned-clocks = <&gcc GCC_SYS_NOC_USB1_AXI_CLK>,
0620 <&gcc GCC_USB1_MASTER_CLK>,
0621 <&gcc GCC_USB1_MOCK_UTMI_CLK>;
0622 assigned-clock-rates = <133330000>,
0623 <133330000>,
0624 <19200000>;
0625
0626 power-domains = <&gcc USB1_GDSC>;
0627
0628 resets = <&gcc GCC_USB1_BCR>;
0629 status = "disabled";
0630
0631 dwc_1: usb@8c00000 {
0632 compatible = "snps,dwc3";
0633 reg = <0x8c00000 0xcd00>;
0634 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
0635 phys = <&qusb_phy_1>, <&usb1_ssphy>;
0636 phy-names = "usb2-phy", "usb3-phy";
0637 snps,is-utmi-l1-suspend;
0638 snps,hird-threshold = /bits/ 8 <0x0>;
0639 snps,dis_u2_susphy_quirk;
0640 snps,dis_u3_susphy_quirk;
0641 dr_mode = "host";
0642 };
0643 };
0644
0645 intc: interrupt-controller@b000000 {
0646 compatible = "qcom,msm-qgic2";
0647 #address-cells = <1>;
0648 #size-cells = <1>;
0649 interrupt-controller;
0650 #interrupt-cells = <0x3>;
0651 reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>;
0652 ranges = <0 0xb00a000 0xffd>;
0653
0654 v2m@0 {
0655 compatible = "arm,gic-v2m-frame";
0656 msi-controller;
0657 reg = <0x0 0xffd>;
0658 };
0659 };
0660
0661 watchdog: watchdog@b017000 {
0662 compatible = "qcom,kpss-wdt";
0663 reg = <0xb017000 0x1000>;
0664 interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
0665 clocks = <&sleep_clk>;
0666 timeout-sec = <30>;
0667 };
0668
0669 apcs_glb: mailbox@b111000 {
0670 compatible = "qcom,ipq8074-apcs-apps-global";
0671 reg = <0x0b111000 0x6000>;
0672
0673 #clock-cells = <1>;
0674 #mbox-cells = <1>;
0675 };
0676
0677 timer@b120000 {
0678 #address-cells = <1>;
0679 #size-cells = <1>;
0680 ranges;
0681 compatible = "arm,armv7-timer-mem";
0682 reg = <0x0b120000 0x1000>;
0683
0684 frame@b120000 {
0685 frame-number = <0>;
0686 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
0687 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
0688 reg = <0x0b121000 0x1000>,
0689 <0x0b122000 0x1000>;
0690 };
0691
0692 frame@b123000 {
0693 frame-number = <1>;
0694 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
0695 reg = <0x0b123000 0x1000>;
0696 status = "disabled";
0697 };
0698
0699 frame@b124000 {
0700 frame-number = <2>;
0701 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
0702 reg = <0x0b124000 0x1000>;
0703 status = "disabled";
0704 };
0705
0706 frame@b125000 {
0707 frame-number = <3>;
0708 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
0709 reg = <0x0b125000 0x1000>;
0710 status = "disabled";
0711 };
0712
0713 frame@b126000 {
0714 frame-number = <4>;
0715 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
0716 reg = <0x0b126000 0x1000>;
0717 status = "disabled";
0718 };
0719
0720 frame@b127000 {
0721 frame-number = <5>;
0722 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
0723 reg = <0x0b127000 0x1000>;
0724 status = "disabled";
0725 };
0726
0727 frame@b128000 {
0728 frame-number = <6>;
0729 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
0730 reg = <0x0b128000 0x1000>;
0731 status = "disabled";
0732 };
0733 };
0734
0735 pcie1: pci@10000000 {
0736 compatible = "qcom,pcie-ipq8074";
0737 reg = <0x10000000 0xf1d>,
0738 <0x10000f20 0xa8>,
0739 <0x00088000 0x2000>,
0740 <0x10100000 0x1000>;
0741 reg-names = "dbi", "elbi", "parf", "config";
0742 device_type = "pci";
0743 linux,pci-domain = <1>;
0744 bus-range = <0x00 0xff>;
0745 num-lanes = <1>;
0746 #address-cells = <3>;
0747 #size-cells = <2>;
0748
0749 phys = <&pcie_phy1>;
0750 phy-names = "pciephy";
0751
0752 ranges = <0x81000000 0 0x10200000 0x10200000
0753 0 0x100000 /* downstream I/O */
0754 0x82000000 0 0x10300000 0x10300000
0755 0 0xd00000>; /* non-prefetchable memory */
0756
0757 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
0758 interrupt-names = "msi";
0759 #interrupt-cells = <1>;
0760 interrupt-map-mask = <0 0 0 0x7>;
0761 interrupt-map = <0 0 0 1 &intc 0 142
0762 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
0763 <0 0 0 2 &intc 0 143
0764 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
0765 <0 0 0 3 &intc 0 144
0766 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
0767 <0 0 0 4 &intc 0 145
0768 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
0769
0770 clocks = <&gcc GCC_SYS_NOC_PCIE1_AXI_CLK>,
0771 <&gcc GCC_PCIE1_AXI_M_CLK>,
0772 <&gcc GCC_PCIE1_AXI_S_CLK>,
0773 <&gcc GCC_PCIE1_AHB_CLK>,
0774 <&gcc GCC_PCIE1_AUX_CLK>;
0775 clock-names = "iface",
0776 "axi_m",
0777 "axi_s",
0778 "ahb",
0779 "aux";
0780 resets = <&gcc GCC_PCIE1_PIPE_ARES>,
0781 <&gcc GCC_PCIE1_SLEEP_ARES>,
0782 <&gcc GCC_PCIE1_CORE_STICKY_ARES>,
0783 <&gcc GCC_PCIE1_AXI_MASTER_ARES>,
0784 <&gcc GCC_PCIE1_AXI_SLAVE_ARES>,
0785 <&gcc GCC_PCIE1_AHB_ARES>,
0786 <&gcc GCC_PCIE1_AXI_MASTER_STICKY_ARES>;
0787 reset-names = "pipe",
0788 "sleep",
0789 "sticky",
0790 "axi_m",
0791 "axi_s",
0792 "ahb",
0793 "axi_m_sticky";
0794 status = "disabled";
0795 };
0796
0797 pcie0: pci@20000000 {
0798 compatible = "qcom,pcie-ipq8074";
0799 reg = <0x20000000 0xf1d>,
0800 <0x20000f20 0xa8>,
0801 <0x00080000 0x2000>,
0802 <0x20100000 0x1000>;
0803 reg-names = "dbi", "elbi", "parf", "config";
0804 device_type = "pci";
0805 linux,pci-domain = <0>;
0806 bus-range = <0x00 0xff>;
0807 num-lanes = <1>;
0808 #address-cells = <3>;
0809 #size-cells = <2>;
0810
0811 phys = <&pcie_phy0>;
0812 phy-names = "pciephy";
0813
0814 ranges = <0x81000000 0 0x20200000 0x20200000
0815 0 0x100000 /* downstream I/O */
0816 0x82000000 0 0x20300000 0x20300000
0817 0 0xd00000>; /* non-prefetchable memory */
0818
0819 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
0820 interrupt-names = "msi";
0821 #interrupt-cells = <1>;
0822 interrupt-map-mask = <0 0 0 0x7>;
0823 interrupt-map = <0 0 0 1 &intc 0 75
0824 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
0825 <0 0 0 2 &intc 0 78
0826 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
0827 <0 0 0 3 &intc 0 79
0828 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
0829 <0 0 0 4 &intc 0 83
0830 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
0831
0832 clocks = <&gcc GCC_SYS_NOC_PCIE0_AXI_CLK>,
0833 <&gcc GCC_PCIE0_AXI_M_CLK>,
0834 <&gcc GCC_PCIE0_AXI_S_CLK>,
0835 <&gcc GCC_PCIE0_AHB_CLK>,
0836 <&gcc GCC_PCIE0_AUX_CLK>;
0837
0838 clock-names = "iface",
0839 "axi_m",
0840 "axi_s",
0841 "ahb",
0842 "aux";
0843 resets = <&gcc GCC_PCIE0_PIPE_ARES>,
0844 <&gcc GCC_PCIE0_SLEEP_ARES>,
0845 <&gcc GCC_PCIE0_CORE_STICKY_ARES>,
0846 <&gcc GCC_PCIE0_AXI_MASTER_ARES>,
0847 <&gcc GCC_PCIE0_AXI_SLAVE_ARES>,
0848 <&gcc GCC_PCIE0_AHB_ARES>,
0849 <&gcc GCC_PCIE0_AXI_MASTER_STICKY_ARES>;
0850 reset-names = "pipe",
0851 "sleep",
0852 "sticky",
0853 "axi_m",
0854 "axi_s",
0855 "ahb",
0856 "axi_m_sticky";
0857 status = "disabled";
0858 };
0859 };
0860
0861 timer {
0862 compatible = "arm,armv8-timer";
0863 interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
0864 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
0865 <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
0866 <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
0867 };
0868 };