Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'qcom-dts-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/dt

Qualcomm DeviceTree updates for v5.17

To SDX55 this introduces the description of the IPA, PCIe PHY and PCIe
endpoint controller, as well as enables these for the FN960 device.

The SDX65 5G platform is introduced, currently with definitions
necessary to boot to a shell.

The undocumented property "input-name" is dropped throughout the dts
files, dwc3 nodes throughout gains more specific compatibles and lastly
building of the Dragonboard 410c DTB on ARM32 is enabled, in addition to
its normal operation in 64-bit mode.

* tag 'qcom-dts-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
ARM: dts: qcom: Drop input-name property
ARM: dts: qcom: sdx65: Add pincontrol node
ARM: dts: qcom: Add SDX65 platform and MTP board support
dt-bindings: arm: qcom: Document SDX65 platform and boards
dt-bindings: clock: Add SDX65 GCC clock bindings
ARM: dts: qcom: Build apq8016-sbc/DragonBoard 410c DTB on ARM32
ARM: dts: qcom: sdx55-t55: Enable IPA
ARM: dts: qcom: sdx55-fn980: Enable IPA
ARM: dts: qcom: sdx55-fn980: Enable PCIe EP
ARM: dts: qcom: sdx55: Add support for PCIe EP
ARM: dts: qcom: sdx55-fn980: Enable PCIE0 PHY
ARM: dts: qcom: sdx55: Add support for PCIe PHY
ARM: dts: qcom: update USB nodes with new platform specific compatible

Link: https://lore.kernel.org/r/20211221042154.3621955-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+609 -12
+6
Documentation/devicetree/bindings/arm/qcom.yaml
··· 48 48 sdx65 49 49 sm7225 50 50 sm8150 51 + sdx65 51 52 sm8250 52 53 sm8350 53 54 ··· 219 218 - qcom,sdx55-telit-fn980-tlb 220 219 - qcom,sdx55-t55 221 220 - const: qcom,sdx55 221 + 222 + - items: 223 + - enum: 224 + - qcom,sdx65-mtp 225 + - const: qcom,sdx65 222 226 223 227 - items: 224 228 - enum:
+80
Documentation/devicetree/bindings/clock/qcom,gcc-sdx65.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/clock/qcom,gcc-sdx65.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Qualcomm Global Clock & Reset Controller Binding for SDX65 8 + 9 + maintainers: 10 + - Vamsi krishna Lanka <quic_vamslank@quicinc.com> 11 + 12 + description: | 13 + Qualcomm global clock control module which supports the clocks, resets and 14 + power domains on SDX65 15 + 16 + See also: 17 + - dt-bindings/clock/qcom,gcc-sdx65.h 18 + 19 + properties: 20 + compatible: 21 + const: qcom,gcc-sdx65 22 + 23 + reg: 24 + maxItems: 1 25 + 26 + clocks: 27 + items: 28 + - description: Board XO source 29 + - description: Board active XO source 30 + - description: Sleep clock source 31 + - description: PCIE Pipe clock source 32 + - description: USB3 phy wrapper pipe clock source 33 + - description: PLL test clock source (Optional clock) 34 + minItems: 5 35 + 36 + clock-names: 37 + items: 38 + - const: bi_tcxo 39 + - const: bi_tcxo_ao 40 + - const: sleep_clk 41 + - const: pcie_pipe_clk 42 + - const: usb3_phy_wrapper_gcc_usb30_pipe_clk 43 + - const: core_bi_pll_test_se # Optional clock 44 + minItems: 5 45 + 46 + '#clock-cells': 47 + const: 1 48 + 49 + '#reset-cells': 50 + const: 1 51 + 52 + '#power-domain-cells': 53 + const: 1 54 + 55 + required: 56 + - compatible 57 + - reg 58 + - clocks 59 + - clock-names 60 + - '#clock-cells' 61 + - '#reset-cells' 62 + - '#power-domain-cells' 63 + 64 + additionalProperties: false 65 + 66 + examples: 67 + - | 68 + #include <dt-bindings/clock/qcom,rpmh.h> 69 + clock-controller@100000 { 70 + compatible = "qcom,gcc-sdx65"; 71 + reg = <0x100000 0x1f7400>; 72 + clocks = <&rpmhcc RPMH_CXO_CLK>, <&rpmhcc RPMH_CXO_CLK_A>, <&sleep_clk>, 73 + <&pcie_pipe_clk>, <&usb3_phy_wrapper_gcc_usb30_pipe_clk>, <&pll_test_clk>; 74 + clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk", 75 + "pcie_pipe_clk", "usb3_phy_wrapper_gcc_usb30_pipe_clk", "core_bi_pll_test_se"; 76 + #clock-cells = <1>; 77 + #reset-cells = <1>; 78 + #power-domain-cells = <1>; 79 + }; 80 + ...
+3 -1
arch/arm/boot/dts/Makefile
··· 966 966 ox810se-wd-mbwe.dtb \ 967 967 ox820-cloudengines-pogoplug-series-3.dtb 968 968 dtb-$(CONFIG_ARCH_QCOM) += \ 969 + qcom-apq8016-sbc.dtb \ 969 970 qcom-apq8026-lg-lenok.dtb \ 970 971 qcom-apq8060-dragonboard.dtb \ 971 972 qcom-apq8064-cm-qs600.dtb \ ··· 999 998 qcom-mdm9615-wp8548-mangoh-green.dtb \ 1000 999 qcom-sdx55-mtp.dtb \ 1001 1000 qcom-sdx55-t55.dtb \ 1002 - qcom-sdx55-telit-fn980-tlb.dtb 1001 + qcom-sdx55-telit-fn980-tlb.dtb \ 1002 + qcom-sdx65-mtp.dtb 1003 1003 dtb-$(CONFIG_ARCH_RDA) += \ 1004 1004 rda8810pl-orangepi-2g-iot.dtb \ 1005 1005 rda8810pl-orangepi-i96.dtb
+2
arch/arm/boot/dts/qcom-apq8016-sbc.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0-only 2 + #include "arm64/qcom/apq8016-sbc.dts"
-1
arch/arm/boot/dts/qcom-apq8064-sony-xperia-yuga.dts
··· 19 19 20 20 gpio-keys { 21 21 compatible = "gpio-keys"; 22 - input-name = "gpio-keys"; 23 22 24 23 pinctrl-names = "default"; 25 24 pinctrl-0 = <&gpio_keys_pin_a>;
+2 -2
arch/arm/boot/dts/qcom-ipq4019.dtsi
··· 637 637 }; 638 638 639 639 usb3: usb3@8af8800 { 640 - compatible = "qcom,dwc3"; 640 + compatible = "qcom,ipq4019-dwc3", "qcom,dwc3"; 641 641 reg = <0x8af8800 0x100>; 642 642 #address-cells = <1>; 643 643 #size-cells = <1>; ··· 669 669 }; 670 670 671 671 usb2: usb2@60f8800 { 672 - compatible = "qcom,dwc3"; 672 + compatible = "qcom,ipq4019-dwc3", "qcom,dwc3"; 673 673 reg = <0x60f8800 0x100>; 674 674 #address-cells = <1>; 675 675 #size-cells = <1>;
+2 -2
arch/arm/boot/dts/qcom-ipq8064.dtsi
··· 1080 1080 }; 1081 1081 1082 1082 usb3_0: usb3@100f8800 { 1083 - compatible = "qcom,dwc3", "syscon"; 1083 + compatible = "qcom,ipq8064-dwc3", "qcom,dwc3"; 1084 1084 #address-cells = <1>; 1085 1085 #size-cells = <1>; 1086 1086 reg = <0x100f8800 0x8000>; ··· 1122 1122 }; 1123 1123 1124 1124 usb3_1: usb3@110f8800 { 1125 - compatible = "qcom,dwc3", "syscon"; 1125 + compatible = "qcom,ipq8064-dwc3", "qcom,dwc3"; 1126 1126 #address-cells = <1>; 1127 1127 #size-cells = <1>; 1128 1128 reg = <0x110f8800 0x8000>;
-1
arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dts
··· 20 20 21 21 gpio-keys { 22 22 compatible = "gpio-keys"; 23 - input-name = "gpio-keys"; 24 23 25 24 pinctrl-names = "default"; 26 25 pinctrl-0 = <&gpio_keys_pin_a>;
-1
arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts
··· 450 450 451 451 gpio-keys { 452 452 compatible = "gpio-keys"; 453 - input-name = "gpio-keys"; 454 453 455 454 pinctrl-names = "default"; 456 455 pinctrl-0 = <&gpio_keys_pin_a>;
-1
arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
··· 349 349 350 350 gpio-keys { 351 351 compatible = "gpio-keys"; 352 - input-name = "gpio-keys"; 353 352 354 353 pinctrl-names = "default"; 355 354 pinctrl-0 = <&gpio_keys_pin_a>;
-1
arch/arm/boot/dts/qcom-msm8974-sony-xperia-amami.dts
··· 20 20 21 21 gpio-keys { 22 22 compatible = "gpio-keys"; 23 - input-name = "gpio-keys"; 24 23 25 24 pinctrl-names = "default"; 26 25 pinctrl-0 = <&gpio_keys_pin_a>;
-1
arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dts
··· 20 20 21 21 gpio-keys { 22 22 compatible = "gpio-keys"; 23 - input-name = "gpio-keys"; 24 23 25 24 pinctrl-names = "default"; 26 25 pinctrl-0 = <&gpio_keys_pin_a>;
-1
arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dts
··· 20 20 21 21 gpio-keys { 22 22 compatible = "gpio-keys"; 23 - input-name = "gpio-keys"; 24 23 25 24 pinctrl-names = "default"; 26 25 pinctrl-0 = <&gpio_keys_pin_a>;
+6
arch/arm/boot/dts/qcom-sdx55-t55.dts
··· 236 236 status = "ok"; 237 237 }; 238 238 239 + &ipa { 240 + status = "okay"; 241 + 242 + memory-region = <&ipa_fw_mem>; 243 + }; 244 + 239 245 &qpic_bam { 240 246 status = "ok"; 241 247 };
+59
arch/arm/boot/dts/qcom-sdx55-telit-fn980-tlb.dts
··· 236 236 status = "ok"; 237 237 }; 238 238 239 + &ipa { 240 + status = "okay"; 241 + 242 + memory-region = <&ipa_fw_mem>; 243 + }; 244 + 245 + &pcie0_phy { 246 + status = "okay"; 247 + 248 + vdda-phy-supply = <&vreg_l1e_bb_1p2>; 249 + vdda-pll-supply = <&vreg_l4e_bb_0p875>; 250 + }; 251 + 252 + &pcie_ep { 253 + status = "okay"; 254 + 255 + pinctrl-names = "default"; 256 + pinctrl-0 = <&pcie_ep_clkreq_default &pcie_ep_perst_default 257 + &pcie_ep_wake_default>; 258 + }; 259 + 239 260 &qpic_bam { 240 261 status = "ok"; 241 262 }; ··· 279 258 &remoteproc_mpss { 280 259 status = "okay"; 281 260 memory-region = <&mpss_adsp_mem>; 261 + }; 262 + 263 + &tlmm { 264 + pcie_ep_clkreq_default: pcie_ep_clkreq_default { 265 + mux { 266 + pins = "gpio56"; 267 + function = "pcie_clkreq"; 268 + }; 269 + config { 270 + pins = "gpio56"; 271 + drive-strength = <2>; 272 + bias-disable; 273 + }; 274 + }; 275 + 276 + pcie_ep_perst_default: pcie_ep_perst_default { 277 + mux { 278 + pins = "gpio57"; 279 + function = "gpio"; 280 + }; 281 + config { 282 + pins = "gpio57"; 283 + drive-strength = <2>; 284 + bias-pull-down; 285 + }; 286 + }; 287 + 288 + pcie_ep_wake_default: pcie_ep_wake_default { 289 + mux { 290 + pins = "gpio53"; 291 + function = "gpio"; 292 + }; 293 + config { 294 + pins = "gpio53"; 295 + drive-strength = <2>; 296 + bias-disable; 297 + }; 298 + }; 282 299 }; 283 300 284 301 &usb_hsphy {
+80
arch/arm/boot/dts/qcom-sdx55.dtsi
··· 8 8 9 9 #include <dt-bindings/clock/qcom,gcc-sdx55.h> 10 10 #include <dt-bindings/clock/qcom,rpmh.h> 11 + #include <dt-bindings/gpio/gpio.h> 11 12 #include <dt-bindings/interconnect/qcom,sdx55.h> 12 13 #include <dt-bindings/interrupt-controller/arm-gic.h> 13 14 #include <dt-bindings/power/qcom-rpmpd.h> ··· 310 309 status = "disabled"; 311 310 }; 312 311 312 + pcie0_phy: phy@1c07000 { 313 + compatible = "qcom,sdx55-qmp-pcie-phy"; 314 + reg = <0x01c07000 0x1c4>; 315 + #address-cells = <1>; 316 + #size-cells = <1>; 317 + ranges; 318 + clocks = <&gcc GCC_PCIE_AUX_PHY_CLK_SRC>, 319 + <&gcc GCC_PCIE_CFG_AHB_CLK>, 320 + <&gcc GCC_PCIE_0_CLKREF_CLK>, 321 + <&gcc GCC_PCIE_RCHNG_PHY_CLK>; 322 + clock-names = "aux", "cfg_ahb", "ref", "refgen"; 323 + 324 + resets = <&gcc GCC_PCIE_PHY_BCR>; 325 + reset-names = "phy"; 326 + 327 + assigned-clocks = <&gcc GCC_PCIE_RCHNG_PHY_CLK>; 328 + assigned-clock-rates = <100000000>; 329 + 330 + status = "disabled"; 331 + 332 + pcie0_lane: lanes@1c06000 { 333 + reg = <0x01c06000 0x104>, /* tx0 */ 334 + <0x01c06200 0x328>, /* rx0 */ 335 + <0x01c07200 0x1e8>, /* pcs */ 336 + <0x01c06800 0x104>, /* tx1 */ 337 + <0x01c06a00 0x328>, /* rx1 */ 338 + <0x01c07600 0x800>; /* pcs_misc */ 339 + clocks = <&gcc GCC_PCIE_PIPE_CLK>; 340 + clock-names = "pipe0"; 341 + 342 + #phy-cells = <0>; 343 + clock-output-names = "pcie_pipe_clk"; 344 + }; 345 + }; 346 + 313 347 ipa: ipa@1e40000 { 314 348 compatible = "qcom,sdx55-ipa"; 315 349 ··· 392 356 #hwlock-cells = <1>; 393 357 }; 394 358 359 + tcsr: syscon@1fcb000 { 360 + compatible = "syscon"; 361 + reg = <0x01fc0000 0x1000>; 362 + }; 363 + 395 364 sdhc_1: sdhci@8804000 { 396 365 compatible = "qcom,sdx55-sdhci", "qcom,sdhci-msm-v5"; 397 366 reg = <0x08804000 0x1000>; ··· 406 365 clocks = <&gcc GCC_SDCC1_AHB_CLK>, 407 366 <&gcc GCC_SDCC1_APPS_CLK>; 408 367 clock-names = "iface", "core"; 368 + status = "disabled"; 369 + }; 370 + 371 + pcie_ep: pcie-ep@40000000 { 372 + compatible = "qcom,sdx55-pcie-ep"; 373 + reg = <0x01c00000 0x3000>, 374 + <0x40000000 0xf1d>, 375 + <0x40000f20 0xc8>, 376 + <0x40001000 0x1000>, 377 + <0x40002000 0x10000>, 378 + <0x01c03000 0x3000>; 379 + reg-names = "parf", "dbi", "elbi", "atu", "addr_space", 380 + "mmio"; 381 + 382 + qcom,perst-regs = <&tcsr 0xb258 0xb270>; 383 + 384 + clocks = <&gcc GCC_PCIE_AUX_CLK>, 385 + <&gcc GCC_PCIE_CFG_AHB_CLK>, 386 + <&gcc GCC_PCIE_MSTR_AXI_CLK>, 387 + <&gcc GCC_PCIE_SLV_AXI_CLK>, 388 + <&gcc GCC_PCIE_SLV_Q2A_AXI_CLK>, 389 + <&gcc GCC_PCIE_SLEEP_CLK>, 390 + <&gcc GCC_PCIE_0_CLKREF_CLK>; 391 + clock-names = "aux", "cfg", "bus_master", "bus_slave", 392 + "slave_q2a", "sleep", "ref"; 393 + 394 + interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>, 395 + <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; 396 + interrupt-names = "global", "doorbell"; 397 + reset-gpios = <&tlmm 57 GPIO_ACTIVE_LOW>; 398 + wake-gpios = <&tlmm 53 GPIO_ACTIVE_LOW>; 399 + resets = <&gcc GCC_PCIE_BCR>; 400 + reset-names = "core"; 401 + power-domains = <&gcc PCIE_GDSC>; 402 + phys = <&pcie0_lane>; 403 + phy-names = "pciephy"; 404 + max-link-speed = <3>; 405 + num-lanes = <2>; 406 + 409 407 status = "disabled"; 410 408 }; 411 409
+25
arch/arm/boot/dts/qcom-sdx65-mtp.dts
··· 1 + // SPDX-License-Identifier: BSD-3-Clause 2 + /* 3 + * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved. 4 + */ 5 + /dts-v1/; 6 + 7 + #include "qcom-sdx65.dtsi" 8 + 9 + / { 10 + model = "Qualcomm Technologies, Inc. SDX65 MTP"; 11 + compatible = "qcom,sdx65-mtp", "qcom,sdx65"; 12 + qcom,board-id = <0x2010008 0x302>; 13 + 14 + aliases { 15 + serial0 = &blsp1_uart3; 16 + }; 17 + 18 + chosen { 19 + stdout-path = "serial0:115200n8"; 20 + }; 21 + }; 22 + 23 + &blsp1_uart3 { 24 + status = "ok"; 25 + };
+222
arch/arm/boot/dts/qcom-sdx65.dtsi
··· 1 + // SPDX-License-Identifier: BSD-3-Clause 2 + /* 3 + * SDX65 SoC device tree source 4 + * 5 + * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved. 6 + * 7 + */ 8 + 9 + #include <dt-bindings/clock/qcom,gcc-sdx65.h> 10 + #include <dt-bindings/clock/qcom,rpmh.h> 11 + #include <dt-bindings/interrupt-controller/arm-gic.h> 12 + #include <dt-bindings/soc/qcom,rpmh-rsc.h> 13 + 14 + / { 15 + #address-cells = <1>; 16 + #size-cells = <1>; 17 + qcom,msm-id = <458 0x10000>, <483 0x10000>, <509 0x10000>; 18 + interrupt-parent = <&intc>; 19 + 20 + memory { 21 + device_type = "memory"; 22 + reg = <0 0>; 23 + }; 24 + 25 + clocks { 26 + xo_board: xo-board { 27 + compatible = "fixed-clock"; 28 + clock-frequency = <76800000>; 29 + clock-output-names = "xo_board"; 30 + #clock-cells = <0>; 31 + }; 32 + 33 + sleep_clk: sleep-clk { 34 + compatible = "fixed-clock"; 35 + clock-frequency = <32764>; 36 + clock-output-names = "sleep_clk"; 37 + #clock-cells = <0>; 38 + }; 39 + }; 40 + 41 + cpus { 42 + #address-cells = <1>; 43 + #size-cells = <0>; 44 + 45 + cpu0: cpu@0 { 46 + device_type = "cpu"; 47 + compatible = "arm,cortex-a7"; 48 + reg = <0x0>; 49 + enable-method = "psci"; 50 + }; 51 + }; 52 + 53 + psci { 54 + compatible = "arm,psci-1.0"; 55 + method = "smc"; 56 + }; 57 + 58 + reserved_memory: reserved-memory { 59 + #address-cells = <1>; 60 + #size-cells = <1>; 61 + ranges; 62 + 63 + cmd_db: reserved-memory@8fee0000 { 64 + compatible = "qcom,cmd-db"; 65 + reg = <0x8fee0000 0x20000>; 66 + no-map; 67 + }; 68 + }; 69 + 70 + soc: soc { 71 + #address-cells = <1>; 72 + #size-cells = <1>; 73 + ranges; 74 + compatible = "simple-bus"; 75 + 76 + gcc: clock-controller@100000 { 77 + compatible = "qcom,gcc-sdx65"; 78 + reg = <0x00100000 0x001f7400>; 79 + clocks = <&rpmhcc RPMH_CXO_CLK>, <&rpmhcc RPMH_CXO_CLK_A>, <&sleep_clk>; 80 + clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk"; 81 + #clock-cells = <1>; 82 + #reset-cells = <1>; 83 + }; 84 + 85 + blsp1_uart3: serial@831000 { 86 + compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 87 + reg = <0x00831000 0x200>; 88 + interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 89 + clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 90 + clock-names = "core", "iface"; 91 + status = "disabled"; 92 + }; 93 + 94 + tlmm: pinctrl@f100000 { 95 + compatible = "qcom,sdx65-tlmm"; 96 + reg = <0xf100000 0x300000>; 97 + interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>; 98 + gpio-controller; 99 + #gpio-cells = <2>; 100 + gpio-ranges = <&tlmm 0 0 109>; 101 + interrupt-controller; 102 + interrupt-parent = <&intc>; 103 + #interrupt-cells = <2>; 104 + }; 105 + 106 + pdc: interrupt-controller@b210000 { 107 + compatible = "qcom,sdx65-pdc", "qcom,pdc"; 108 + reg = <0xb210000 0x10000>; 109 + qcom,pdc-ranges = <0 147 52>, <52 266 32>; 110 + #interrupt-cells = <2>; 111 + interrupt-parent = <&intc>; 112 + interrupt-controller; 113 + }; 114 + 115 + intc: interrupt-controller@17800000 { 116 + compatible = "qcom,msm-qgic2"; 117 + interrupt-controller; 118 + interrupt-parent = <&intc>; 119 + #interrupt-cells = <3>; 120 + reg = <0x17800000 0x1000>, 121 + <0x17802000 0x1000>; 122 + }; 123 + 124 + timer@17820000 { 125 + #address-cells = <1>; 126 + #size-cells = <1>; 127 + ranges; 128 + compatible = "arm,armv7-timer-mem"; 129 + reg = <0x17820000 0x1000>; 130 + clock-frequency = <19200000>; 131 + 132 + frame@17821000 { 133 + frame-number = <0>; 134 + interrupts = <GIC_SPI 7 0x4>, 135 + <GIC_SPI 6 0x4>; 136 + reg = <0x17821000 0x1000>, 137 + <0x17822000 0x1000>; 138 + }; 139 + 140 + frame@17823000 { 141 + frame-number = <1>; 142 + interrupts = <GIC_SPI 8 0x4>; 143 + reg = <0x17823000 0x1000>; 144 + status = "disabled"; 145 + }; 146 + 147 + frame@17824000 { 148 + frame-number = <2>; 149 + interrupts = <GIC_SPI 9 0x4>; 150 + reg = <0x17824000 0x1000>; 151 + status = "disabled"; 152 + }; 153 + 154 + frame@17825000 { 155 + frame-number = <3>; 156 + interrupts = <GIC_SPI 10 0x4>; 157 + reg = <0x17825000 0x1000>; 158 + status = "disabled"; 159 + }; 160 + 161 + frame@17826000 { 162 + frame-number = <4>; 163 + interrupts = <GIC_SPI 11 0x4>; 164 + reg = <0x17826000 0x1000>; 165 + status = "disabled"; 166 + }; 167 + 168 + frame@17827000 { 169 + frame-number = <5>; 170 + interrupts = <GIC_SPI 12 0x4>; 171 + reg = <0x17827000 0x1000>; 172 + status = "disabled"; 173 + }; 174 + 175 + frame@17828000 { 176 + frame-number = <6>; 177 + interrupts = <GIC_SPI 13 0x4>; 178 + reg = <0x17828000 0x1000>; 179 + status = "disabled"; 180 + }; 181 + 182 + frame@17829000 { 183 + frame-number = <7>; 184 + interrupts = <GIC_SPI 14 0x4>; 185 + reg = <0x17829000 0x1000>; 186 + status = "disabled"; 187 + }; 188 + }; 189 + 190 + apps_rsc: rsc@17830000 { 191 + label = "apps_rsc"; 192 + compatible = "qcom,rpmh-rsc"; 193 + reg = <0x17830000 0x10000>, 194 + <0x17840000 0x10000>; 195 + reg-names = "drv-0", "drv-1"; 196 + interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 197 + <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 198 + qcom,tcs-offset = <0xd00>; 199 + qcom,drv-id = <1>; 200 + qcom,tcs-config = <ACTIVE_TCS 2>, 201 + <SLEEP_TCS 2>, 202 + <WAKE_TCS 2>, 203 + <CONTROL_TCS 1>; 204 + 205 + rpmhcc: clock-controller@1 { 206 + compatible = "qcom,sdx65-rpmh-clk"; 207 + #clock-cells = <1>; 208 + clock-names = "xo"; 209 + clocks = <&xo_board>; 210 + }; 211 + }; 212 + }; 213 + 214 + timer { 215 + compatible = "arm,armv7-timer"; 216 + interrupts = <1 13 0xf08>, 217 + <1 12 0xf08>, 218 + <1 10 0xf08>, 219 + <1 11 0xf08>; 220 + clock-frequency = <19200000>; 221 + }; 222 + };
+122
include/dt-bindings/clock/qcom,gcc-sdx65.h
··· 1 + /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ 2 + /* 3 + * Copyright (c) 2021, Qualcomm Innovation Center, Inc. All rights reserved. 4 + */ 5 + 6 + #ifndef _DT_BINDINGS_CLK_QCOM_GCC_SDX65_H 7 + #define _DT_BINDINGS_CLK_QCOM_GCC_SDX65_H 8 + 9 + /* GCC clocks */ 10 + #define GPLL0 0 11 + #define GPLL0_OUT_EVEN 1 12 + #define GCC_AHB_PCIE_LINK_CLK 2 13 + #define GCC_BLSP1_AHB_CLK 3 14 + #define GCC_BLSP1_QUP1_I2C_APPS_CLK 4 15 + #define GCC_BLSP1_QUP1_I2C_APPS_CLK_SRC 5 16 + #define GCC_BLSP1_QUP1_SPI_APPS_CLK 6 17 + #define GCC_BLSP1_QUP1_SPI_APPS_CLK_SRC 7 18 + #define GCC_BLSP1_QUP2_I2C_APPS_CLK 8 19 + #define GCC_BLSP1_QUP2_I2C_APPS_CLK_SRC 9 20 + #define GCC_BLSP1_QUP2_SPI_APPS_CLK 10 21 + #define GCC_BLSP1_QUP2_SPI_APPS_CLK_SRC 11 22 + #define GCC_BLSP1_QUP3_I2C_APPS_CLK 12 23 + #define GCC_BLSP1_QUP3_I2C_APPS_CLK_SRC 13 24 + #define GCC_BLSP1_QUP3_SPI_APPS_CLK 14 25 + #define GCC_BLSP1_QUP3_SPI_APPS_CLK_SRC 15 26 + #define GCC_BLSP1_QUP4_I2C_APPS_CLK 16 27 + #define GCC_BLSP1_QUP4_I2C_APPS_CLK_SRC 17 28 + #define GCC_BLSP1_QUP4_SPI_APPS_CLK 18 29 + #define GCC_BLSP1_QUP4_SPI_APPS_CLK_SRC 19 30 + #define GCC_BLSP1_SLEEP_CLK 20 31 + #define GCC_BLSP1_UART1_APPS_CLK 21 32 + #define GCC_BLSP1_UART1_APPS_CLK_SRC 22 33 + #define GCC_BLSP1_UART2_APPS_CLK 23 34 + #define GCC_BLSP1_UART2_APPS_CLK_SRC 24 35 + #define GCC_BLSP1_UART3_APPS_CLK 25 36 + #define GCC_BLSP1_UART3_APPS_CLK_SRC 26 37 + #define GCC_BLSP1_UART4_APPS_CLK 27 38 + #define GCC_BLSP1_UART4_APPS_CLK_SRC 28 39 + #define GCC_BOOT_ROM_AHB_CLK 29 40 + #define GCC_CPUSS_AHB_CLK 30 41 + #define GCC_CPUSS_AHB_CLK_SRC 31 42 + #define GCC_CPUSS_AHB_POSTDIV_CLK_SRC 32 43 + #define GCC_CPUSS_GNOC_CLK 33 44 + #define GCC_GP1_CLK 34 45 + #define GCC_GP1_CLK_SRC 35 46 + #define GCC_GP2_CLK 36 47 + #define GCC_GP2_CLK_SRC 37 48 + #define GCC_GP3_CLK 38 49 + #define GCC_GP3_CLK_SRC 39 50 + #define GCC_PCIE_0_CLKREF_EN 40 51 + #define GCC_PCIE_AUX_CLK 41 52 + #define GCC_PCIE_AUX_CLK_SRC 42 53 + #define GCC_PCIE_AUX_PHY_CLK_SRC 43 54 + #define GCC_PCIE_CFG_AHB_CLK 44 55 + #define GCC_PCIE_MSTR_AXI_CLK 45 56 + #define GCC_PCIE_PIPE_CLK 46 57 + #define GCC_PCIE_PIPE_CLK_SRC 47 58 + #define GCC_PCIE_RCHNG_PHY_CLK 48 59 + #define GCC_PCIE_RCHNG_PHY_CLK_SRC 49 60 + #define GCC_PCIE_SLEEP_CLK 50 61 + #define GCC_PCIE_SLV_AXI_CLK 51 62 + #define GCC_PCIE_SLV_Q2A_AXI_CLK 52 63 + #define GCC_PDM2_CLK 53 64 + #define GCC_PDM2_CLK_SRC 54 65 + #define GCC_PDM_AHB_CLK 55 66 + #define GCC_PDM_XO4_CLK 56 67 + #define GCC_RX1_USB2_CLKREF_EN 57 68 + #define GCC_SDCC1_AHB_CLK 58 69 + #define GCC_SDCC1_APPS_CLK 59 70 + #define GCC_SDCC1_APPS_CLK_SRC 60 71 + #define GCC_SPMI_FETCHER_AHB_CLK 61 72 + #define GCC_SPMI_FETCHER_CLK 62 73 + #define GCC_SPMI_FETCHER_CLK_SRC 63 74 + #define GCC_SYS_NOC_CPUSS_AHB_CLK 64 75 + #define GCC_USB30_MASTER_CLK 65 76 + #define GCC_USB30_MASTER_CLK_SRC 66 77 + #define GCC_USB30_MOCK_UTMI_CLK 67 78 + #define GCC_USB30_MOCK_UTMI_CLK_SRC 68 79 + #define GCC_USB30_MOCK_UTMI_POSTDIV_CLK_SRC 69 80 + #define GCC_USB30_MSTR_AXI_CLK 70 81 + #define GCC_USB30_SLEEP_CLK 71 82 + #define GCC_USB30_SLV_AHB_CLK 72 83 + #define GCC_USB3_PHY_AUX_CLK 73 84 + #define GCC_USB3_PHY_AUX_CLK_SRC 74 85 + #define GCC_USB3_PHY_PIPE_CLK 75 86 + #define GCC_USB3_PHY_PIPE_CLK_SRC 76 87 + #define GCC_USB3_PRIM_CLKREF_EN 77 88 + #define GCC_USB_PHY_CFG_AHB2PHY_CLK 78 89 + #define GCC_XO_DIV4_CLK 79 90 + #define GCC_XO_PCIE_LINK_CLK 80 91 + 92 + /* GCC resets */ 93 + #define GCC_BLSP1_QUP1_BCR 0 94 + #define GCC_BLSP1_QUP2_BCR 1 95 + #define GCC_BLSP1_QUP3_BCR 2 96 + #define GCC_BLSP1_QUP4_BCR 3 97 + #define GCC_BLSP1_UART1_BCR 4 98 + #define GCC_BLSP1_UART2_BCR 5 99 + #define GCC_BLSP1_UART3_BCR 6 100 + #define GCC_BLSP1_UART4_BCR 7 101 + #define GCC_PCIE_BCR 8 102 + #define GCC_PCIE_LINK_DOWN_BCR 9 103 + #define GCC_PCIE_NOCSR_COM_PHY_BCR 10 104 + #define GCC_PCIE_PHY_BCR 11 105 + #define GCC_PCIE_PHY_CFG_AHB_BCR 12 106 + #define GCC_PCIE_PHY_COM_BCR 13 107 + #define GCC_PCIE_PHY_NOCSR_COM_PHY_BCR 14 108 + #define GCC_PDM_BCR 15 109 + #define GCC_QUSB2PHY_BCR 16 110 + #define GCC_SDCC1_BCR 17 111 + #define GCC_SPMI_FETCHER_BCR 18 112 + #define GCC_TCSR_PCIE_BCR 19 113 + #define GCC_USB30_BCR 20 114 + #define GCC_USB3_PHY_BCR 21 115 + #define GCC_USB3PHY_PHY_BCR 22 116 + #define GCC_USB_PHY_CFG_AHB2PHY_BCR 23 117 + 118 + /* GCC power domains */ 119 + #define USB30_GDSC 0 120 + #define PCIE_GDSC 1 121 + 122 + #endif