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