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

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

Qualcomm ARM64 DT updates for v5.19

This adds MDIO bus description on the IPQ6018 platform.

On MSM8916 the BAM-DMUX WWAN network device is added and the Huawei
Ascend G7 gains sound card definition and clarified installation
instructions.

MSM8992 and MSM8994 continues to be worked on, gaining multimedia clock
controller, on-chip memory, watchdog and various cleanup changes. The
Xiaomi Mi 4C gains CPU regulators and fixes to the framebuffer
definition, while Huawei Nexus 6P gains eMMC support.

On MSM8996 the modem and sensor remtoeprocs are added and enabled in the
Dragonboard 820c and the Xiaomi devices.

On MSM8998 a few newly added clocks related to the sensor subsystem bus
are marked as protected by default and the OnePlus devices gains NFC.

The SC7180 platform and devices thereon are further polished and
limozeen moves to using edp-panel for EDID-based detection, over
statically defined panels.

On SC7280 GPI DMA, WiFi remoteproc and network device, LPASS audio
clocks, resets for SDCC controllers and a new CRD revision are added. A
supply glitch on the PCIe power and a current leak for Bluetooth during
suspend are corrected. The Herobrine board gains eDP support and the IDP
gains backlight. USB is marked wakeup capable.

On SDM845 the IPA, WLED based backlight and second WiFi channel are
enabled for Xiaomi Pocophone F1, the firmware name is modified to not
conflict with other boards. On RB3 the CAN bus controller is added and
the WiFi calibration variant is defined to allow adding the board's
calibration information into linux-firmware.

SM6350 gains I2C busses, UFS and WiFi support, and the numbering of
uart9 is corrected.

On SM7225 and the Fairphone 4 UFS, WiFi and haptics are enabled.

On SM8150 PCIe, Ethernet and uSD card support is added, and enabled for
the SA8155p ADP board. The PDC interrupt controller is also added and
described as wakup interrupt parent for TLMM.

Camera subsystem and control interface are defined for SM8250. On the
Sony Xperia 1 II the audio amplifiers are enabled.

On SM8350 GPI DMA engines are added and linked to the I2C and SPI
serial engines. Surface Duo 2 gains battery charger support.

On SM8450 the two PCIe controller/PHYs are enabled, GPI DMA and QUP
serial engine instances are added. Remoteproc instances are enabled on
SM8450 HDK.

Last, but not least, a number of DeviceTree validation errors across
various boards are corrected.

* tag 'qcom-arm64-for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (150 commits)
arm64: dts: qcom: Only include sc7180.dtsi in sc7180-trogdor.dtsi
arm64: dts: qcom: sc7180-trogdor: Simplify spi0/spi6 labeling
arm64: dts: qcom: sc7180-trogdor: Simplify trackpad enabling
arm64: dts: qcom: sc7280: eDP for herobrine boards
arm64: dts: qcom: sa8155p-adp: Disable multiple Tx and Rx queues for ethernet IP
arm64: dts: qcom: sm8150: Fix iommu sid value for SDC2 controller
arm64: dts: qcom: sm8350-duo2: enable battery charger
arm64: dts: qcom: Enable pm8350c pwm for sc7280-idp2
arm64: dts: qcom: pm8350c: Add pwm support
arm64: dts: qcom: sc7280-qcard: Configure CTS pin to bias-bus-hold for bluetooth
arm64: dts: qcom: sc7280-idp: Configure CTS pin to bias-bus-hold for bluetooth
arm64: dts: qcom: sc7180: Remove ipa interconnect node
arm64: dts: qcom: sc7280-idp: Enable GPI DMAs
arm64: dts: qcom: sc7280: Add GENI I2C/SPI DMA channels
arm64: dts: qcom: sc7280: Add GPI DMAengines
arm64: dts: qcom: sm8450: Fix qmp phy node (use phy@ instead of lanes@)
arm64: dts: qcom: db845c: Add support for MCP2517FD
arm64: dts: qcom: qrb5165-rb5: Fix can-clock node name
arm64: dts: qcom: sc7280: Add SAR sensors to herobrine crd
arm64: dts: qcom: sm8250: camss: Add CCI definitions
...

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

+6481 -1863
+172
Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.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,sc7280-lpasscorecc.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Qualcomm LPASS Core & Audio Clock Controller Binding for SC7280 8 + 9 + maintainers: 10 + - Taniya Das <tdas@codeaurora.org> 11 + 12 + description: | 13 + Qualcomm LPASS core and audio clock control module which supports the 14 + clocks and power domains on SC7280. 15 + 16 + See also: 17 + - dt-bindings/clock/qcom,lpasscorecc-sc7280.h 18 + - dt-bindings/clock/qcom,lpassaudiocc-sc7280.h 19 + 20 + properties: 21 + clocks: true 22 + 23 + clock-names: true 24 + 25 + compatible: 26 + enum: 27 + - qcom,sc7280-lpassaoncc 28 + - qcom,sc7280-lpassaudiocc 29 + - qcom,sc7280-lpasscorecc 30 + - qcom,sc7280-lpasshm 31 + 32 + power-domains: 33 + maxItems: 1 34 + 35 + '#clock-cells': 36 + const: 1 37 + 38 + '#power-domain-cells': 39 + const: 1 40 + 41 + reg: 42 + maxItems: 1 43 + 44 + required: 45 + - compatible 46 + - reg 47 + - clocks 48 + - clock-names 49 + - '#clock-cells' 50 + - '#power-domain-cells' 51 + 52 + additionalProperties: false 53 + 54 + allOf: 55 + - if: 56 + properties: 57 + compatible: 58 + contains: 59 + const: qcom,sc7280-lpassaudiocc 60 + 61 + then: 62 + properties: 63 + clocks: 64 + items: 65 + - description: Board XO source 66 + - description: LPASS_AON_CC_MAIN_RCG_CLK_SRC 67 + 68 + clock-names: 69 + items: 70 + - const: bi_tcxo 71 + - const: lpass_aon_cc_main_rcg_clk_src 72 + - if: 73 + properties: 74 + compatible: 75 + contains: 76 + enum: 77 + - qcom,sc7280-lpassaoncc 78 + 79 + then: 80 + properties: 81 + clocks: 82 + items: 83 + - description: Board XO source 84 + - description: Board XO active only source 85 + - description: LPASS_AON_CC_MAIN_RCG_CLK_SRC 86 + 87 + clock-names: 88 + items: 89 + - const: bi_tcxo 90 + - const: bi_tcxo_ao 91 + - const: iface 92 + 93 + - if: 94 + properties: 95 + compatible: 96 + contains: 97 + enum: 98 + - qcom,sc7280-lpasshm 99 + - qcom,sc7280-lpasscorecc 100 + 101 + then: 102 + properties: 103 + clocks: 104 + items: 105 + - description: Board XO source 106 + 107 + clock-names: 108 + items: 109 + - const: bi_tcxo 110 + 111 + examples: 112 + - | 113 + #include <dt-bindings/clock/qcom,rpmh.h> 114 + #include <dt-bindings/clock/qcom,gcc-sc7280.h> 115 + #include <dt-bindings/clock/qcom,lpassaudiocc-sc7280.h> 116 + #include <dt-bindings/clock/qcom,lpasscorecc-sc7280.h> 117 + lpass_audiocc: clock-controller@3300000 { 118 + compatible = "qcom,sc7280-lpassaudiocc"; 119 + reg = <0x3300000 0x30000>; 120 + clocks = <&rpmhcc RPMH_CXO_CLK>, 121 + <&lpass_aon LPASS_AON_CC_MAIN_RCG_CLK_SRC>; 122 + clock-names = "bi_tcxo", "lpass_aon_cc_main_rcg_clk_src"; 123 + power-domains = <&lpass_aon LPASS_AON_CC_LPASS_AUDIO_HM_GDSC>; 124 + #clock-cells = <1>; 125 + #power-domain-cells = <1>; 126 + }; 127 + 128 + - | 129 + #include <dt-bindings/clock/qcom,rpmh.h> 130 + #include <dt-bindings/clock/qcom,gcc-sc7280.h> 131 + #include <dt-bindings/clock/qcom,lpassaudiocc-sc7280.h> 132 + #include <dt-bindings/clock/qcom,lpasscorecc-sc7280.h> 133 + lpass_hm: clock-controller@3c00000 { 134 + compatible = "qcom,sc7280-lpasshm"; 135 + reg = <0x3c00000 0x28>; 136 + clocks = <&rpmhcc RPMH_CXO_CLK>; 137 + clock-names = "bi_tcxo"; 138 + #clock-cells = <1>; 139 + #power-domain-cells = <1>; 140 + }; 141 + 142 + - | 143 + #include <dt-bindings/clock/qcom,rpmh.h> 144 + #include <dt-bindings/clock/qcom,gcc-sc7280.h> 145 + #include <dt-bindings/clock/qcom,lpassaudiocc-sc7280.h> 146 + #include <dt-bindings/clock/qcom,lpasscorecc-sc7280.h> 147 + lpasscore: clock-controller@3900000 { 148 + compatible = "qcom,sc7280-lpasscorecc"; 149 + reg = <0x3900000 0x50000>; 150 + clocks = <&rpmhcc RPMH_CXO_CLK>; 151 + clock-names = "bi_tcxo"; 152 + power-domains = <&lpass_hm LPASS_CORE_CC_LPASS_CORE_HM_GDSC>; 153 + #clock-cells = <1>; 154 + #power-domain-cells = <1>; 155 + }; 156 + 157 + - | 158 + #include <dt-bindings/clock/qcom,rpmh.h> 159 + #include <dt-bindings/clock/qcom,gcc-sc7280.h> 160 + #include <dt-bindings/clock/qcom,lpassaudiocc-sc7280.h> 161 + #include <dt-bindings/clock/qcom,lpasscorecc-sc7280.h> 162 + lpass_aon: clock-controller@3380000 { 163 + compatible = "qcom,sc7280-lpassaoncc"; 164 + reg = <0x3380000 0x30000>; 165 + clocks = <&rpmhcc RPMH_CXO_CLK>, <&rpmhcc RPMH_CXO_CLK_A>, 166 + <&lpasscore LPASS_CORE_CC_CORE_CLK>; 167 + clock-names = "bi_tcxo", "bi_tcxo_ao","iface"; 168 + #clock-cells = <1>; 169 + #power-domain-cells = <1>; 170 + }; 171 + 172 + ...
+3 -2
arch/arm64/boot/dts/qcom/Makefile
··· 83 83 dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-pompom-r3-lte.dtb 84 84 dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-r1.dtb 85 85 dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-r1-lte.dtb 86 - dtb-$(CONFIG_ARCH_QCOM) += sc7280-herobrine-herobrine-r0.dtb 86 + dtb-$(CONFIG_ARCH_QCOM) += sc7280-herobrine-crd.dtb 87 87 dtb-$(CONFIG_ARCH_QCOM) += sc7280-herobrine-herobrine-r1.dtb 88 + dtb-$(CONFIG_ARCH_QCOM) += sc7280-herobrine-villager-r0.dtb 88 89 dtb-$(CONFIG_ARCH_QCOM) += sc7280-idp.dtb 89 90 dtb-$(CONFIG_ARCH_QCOM) += sc7280-idp2.dtb 90 - dtb-$(CONFIG_ARCH_QCOM) += sc7280-crd.dtb 91 + dtb-$(CONFIG_ARCH_QCOM) += sc7280-crd-r3.dtb 91 92 dtb-$(CONFIG_ARCH_QCOM) += sdm630-sony-xperia-ganges-kirin.dtb 92 93 dtb-$(CONFIG_ARCH_QCOM) += sdm630-sony-xperia-nile-discovery.dtb 93 94 dtb-$(CONFIG_ARCH_QCOM) += sdm630-sony-xperia-nile-pioneer.dtb
+6
arch/arm64/boot/dts/qcom/apq8096-db820c.dts
··· 258 258 vdd-gfx-supply = <&vdd_gfx>; 259 259 }; 260 260 261 + &mss_pil { 262 + status = "okay"; 263 + pll-supply = <&vreg_l12a_1p8>; 264 + firmware-name = "qcom/apq8096/mba.mbn", "qcom/apq8096/modem.mbn"; 265 + }; 266 + 261 267 &pm8994_resin { 262 268 status = "okay"; 263 269 linux,code = <KEY_VOLUMEDOWN>;
+1 -1
arch/arm64/boot/dts/qcom/ipq6018-cp01-c1.dts
··· 39 39 cs-select = <0>; 40 40 status = "okay"; 41 41 42 - m25p80@0 { 42 + flash@0 { 43 43 #address-cells = <1>; 44 44 #size-cells = <1>; 45 45 reg = <0>;
+22 -12
arch/arm64/boot/dts/qcom/ipq6018.dtsi
··· 318 318 #size-cells = <0>; 319 319 reg = <0x0 0x078b6000 0x0 0x600>; 320 320 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 321 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 322 - <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>; 323 - clock-names = "iface", "core"; 321 + clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, 322 + <&gcc GCC_BLSP1_AHB_CLK>; 323 + clock-names = "core", "iface"; 324 324 clock-frequency = <400000>; 325 - dmas = <&blsp_dma 15>, <&blsp_dma 14>; 326 - dma-names = "rx", "tx"; 325 + dmas = <&blsp_dma 14>, <&blsp_dma 15>; 326 + dma-names = "tx", "rx"; 327 327 status = "disabled"; 328 328 }; 329 329 ··· 333 333 #size-cells = <0>; 334 334 reg = <0x0 0x078b7000 0x0 0x600>; 335 335 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 336 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 337 - <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>; 338 - clock-names = "iface", "core"; 336 + clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>, 337 + <&gcc GCC_BLSP1_AHB_CLK>; 338 + clock-names = "core", "iface"; 339 339 clock-frequency = <400000>; 340 - dmas = <&blsp_dma 17>, <&blsp_dma 16>; 341 - dma-names = "rx", "tx"; 340 + dmas = <&blsp_dma 16>, <&blsp_dma 17>; 341 + dma-names = "tx", "rx"; 342 342 status = "disabled"; 343 343 }; 344 344 ··· 630 630 }; 631 631 }; 632 632 633 + mdio: mdio@90000 { 634 + #address-cells = <1>; 635 + #size-cells = <0>; 636 + compatible = "qcom,ipq6018-mdio", "qcom,ipq4019-mdio"; 637 + reg = <0x0 0x90000 0x0 0x64>; 638 + clocks = <&gcc GCC_MDIO_AHB_CLK>; 639 + clock-names = "gcc_mdio_ahb_clk"; 640 + status = "disabled"; 641 + }; 642 + 633 643 qusb_phy_1: qusb@59000 { 634 644 compatible = "qcom,ipq6018-qusb2-phy"; 635 645 reg = <0x0 0x059000 0x0 0x180>; ··· 693 683 reg = <0x0 0x78000 0x0 0x1C4>; 694 684 #address-cells = <2>; 695 685 #size-cells = <2>; 696 - #clock-cells = <1>; 697 686 ranges; 698 687 699 688 clocks = <&gcc GCC_USB0_AUX_CLK>, ··· 704 695 reset-names = "phy","common"; 705 696 status = "disabled"; 706 697 707 - usb0_ssphy: lane@78200 { 698 + usb0_ssphy: phy@78200 { 708 699 reg = <0x0 0x00078200 0x0 0x130>, /* Tx */ 709 700 <0x0 0x00078400 0x0 0x200>, /* Rx */ 710 701 <0x0 0x00078800 0x0 0x1F8>, /* PCS */ 711 702 <0x0 0x00078600 0x0 0x044>; /* PCS misc */ 712 703 #phy-cells = <0>; 704 + #clock-cells = <1>; 713 705 clocks = <&gcc GCC_USB0_PIPE_CLK>; 714 706 clock-names = "pipe0"; 715 707 clock-output-names = "gcc_usb0_pipe_clk_src";
+1 -1
arch/arm64/boot/dts/qcom/ipq8074-hk01.dts
··· 35 35 &blsp1_spi1 { 36 36 status = "okay"; 37 37 38 - m25p80@0 { 38 + flash@0 { 39 39 #address-cells = <1>; 40 40 #size-cells = <1>; 41 41 compatible = "jedec,spi-nor";
+1 -1
arch/arm64/boot/dts/qcom/ipq8074-hk10.dtsi
··· 29 29 &blsp1_spi1 { 30 30 status = "ok"; 31 31 32 - m25p80@0 { 32 + flash@0 { 33 33 #address-cells = <1>; 34 34 #size-cells = <1>; 35 35 compatible = "jedec,spi-nor";
+21 -21
arch/arm64/boot/dts/qcom/ipq8074.dtsi
··· 13 13 clocks { 14 14 sleep_clk: sleep_clk { 15 15 compatible = "fixed-clock"; 16 - clock-frequency = <32000>; 16 + clock-frequency = <32768>; 17 17 #clock-cells = <0>; 18 18 }; 19 19 ··· 467 467 #size-cells = <0>; 468 468 reg = <0x078b6000 0x600>; 469 469 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 470 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 471 - <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>; 472 - clock-names = "iface", "core"; 470 + clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, 471 + <&gcc GCC_BLSP1_AHB_CLK>; 472 + clock-names = "core", "iface"; 473 473 clock-frequency = <400000>; 474 - dmas = <&blsp_dma 15>, <&blsp_dma 14>; 475 - dma-names = "rx", "tx"; 474 + dmas = <&blsp_dma 14>, <&blsp_dma 15>; 475 + dma-names = "tx", "rx"; 476 476 pinctrl-0 = <&i2c_0_pins>; 477 477 pinctrl-names = "default"; 478 478 status = "disabled"; ··· 484 484 #size-cells = <0>; 485 485 reg = <0x078b7000 0x600>; 486 486 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 487 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 488 - <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>; 489 - clock-names = "iface", "core"; 487 + clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>, 488 + <&gcc GCC_BLSP1_AHB_CLK>; 489 + clock-names = "core", "iface"; 490 490 clock-frequency = <100000>; 491 - dmas = <&blsp_dma 17>, <&blsp_dma 16>; 492 - dma-names = "rx", "tx"; 491 + dmas = <&blsp_dma 16>, <&blsp_dma 17>; 492 + dma-names = "tx", "rx"; 493 493 status = "disabled"; 494 494 }; 495 495 ··· 499 499 #size-cells = <0>; 500 500 reg = <0x78b9000 0x600>; 501 501 interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>; 502 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 503 - <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>; 504 - clock-names = "iface", "core"; 502 + clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>, 503 + <&gcc GCC_BLSP1_AHB_CLK>; 504 + clock-names = "core", "iface"; 505 505 clock-frequency = <400000>; 506 - dmas = <&blsp_dma 21>, <&blsp_dma 20>; 507 - dma-names = "rx", "tx"; 506 + dmas = <&blsp_dma 20>, <&blsp_dma 21>; 507 + dma-names = "tx", "rx"; 508 508 status = "disabled"; 509 509 }; 510 510 ··· 514 514 #size-cells = <0>; 515 515 reg = <0x078ba000 0x600>; 516 516 interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>; 517 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 518 - <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>; 519 - clock-names = "iface", "core"; 517 + clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>, 518 + <&gcc GCC_BLSP1_AHB_CLK>; 519 + clock-names = "core", "iface"; 520 520 clock-frequency = <100000>; 521 - dmas = <&blsp_dma 23>, <&blsp_dma 22>; 522 - dma-names = "rx", "tx"; 521 + dmas = <&blsp_dma 22>, <&blsp_dma 23>; 522 + dma-names = "tx", "rx"; 523 523 status = "disabled"; 524 524 }; 525 525
+50 -9
arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dts
··· 8 8 #include <dt-bindings/input/input.h> 9 9 #include <dt-bindings/interrupt-controller/irq.h> 10 10 #include <dt-bindings/leds/common.h> 11 + #include <dt-bindings/sound/apq8016-lpass.h> 11 12 12 13 /* 13 14 * Note: The original firmware from Huawei can only boot 32-bit kernels. 14 - * To boot arm64 kernels it is necessary to flash 64-bit TZ/HYP firmware 15 - * with EDL, e.g. taken from the DragonBoard 410c. This works because Huawei 16 - * forgot to set up (firmware) secure boot for some reason. 17 - * 18 - * Also note that Huawei no longer provides bootloader unlock codes. 19 - * This can be bypassed by patching the bootloader from a custom HYP firmware, 20 - * making it think the bootloader is unlocked. 21 - * 22 - * See: https://wiki.postmarketos.org/wiki/Huawei_Ascend_G7_(huawei-g7) 15 + * To boot this device tree using arm64 it is necessary to flash 64-bit TZ/HYP 16 + * firmware (e.g. taken from the DragonBoard 410c). 17 + * See https://wiki.postmarketos.org/wiki/Huawei_Ascend_G7_(huawei-g7) 18 + * for suggested installation instructions. 23 19 */ 24 20 25 21 / { ··· 212 216 status = "okay"; 213 217 }; 214 218 219 + &lpass { 220 + status = "okay"; 221 + }; 222 + 215 223 &pm8916_resin { 216 224 status = "okay"; 217 225 linux,code = <KEY_VOLUMEDOWN>; ··· 260 260 cd-gpios = <&msmgpio 56 GPIO_ACTIVE_LOW>; 261 261 }; 262 262 263 + &sound { 264 + status = "okay"; 265 + 266 + model = "msm8916"; 267 + audio-routing = 268 + "AMIC1", "MIC BIAS External1", 269 + "AMIC2", "MIC BIAS External2", 270 + "AMIC3", "MIC BIAS External1"; 271 + 272 + pinctrl-names = "default", "sleep"; 273 + pinctrl-0 = <&cdc_pdm_lines_act>; 274 + pinctrl-1 = <&cdc_pdm_lines_sus>; 275 + 276 + primary-dai-link { 277 + link-name = "WCD"; 278 + cpu { 279 + sound-dai = <&lpass MI2S_PRIMARY>; 280 + }; 281 + codec { 282 + sound-dai = <&lpass_codec 0>, <&wcd_codec 0>; 283 + }; 284 + }; 285 + 286 + tertiary-dai-link { 287 + link-name = "WCD-Capture"; 288 + cpu { 289 + sound-dai = <&lpass MI2S_TERTIARY>; 290 + }; 291 + codec { 292 + sound-dai = <&lpass_codec 1>, <&wcd_codec 1>; 293 + }; 294 + }; 295 + }; 296 + 263 297 &usb { 264 298 status = "okay"; 265 299 extcon = <&usb_id>, <&usb_id>; ··· 301 267 302 268 &usb_hs_phy { 303 269 extcon = <&usb_id>; 270 + }; 271 + 272 + &wcd_codec { 273 + qcom,micbias-lvl = <2800>; 274 + qcom,mbhc-vthreshold-low = <75 150 237 450 500>; 275 + qcom,mbhc-vthreshold-high = <75 150 237 450 500>; 276 + qcom,hphl-jack-type-normally-open; 304 277 }; 305 278 306 279 &smd_rpm_regulators {
+66 -36
arch/arm64/boot/dts/qcom/msm8916.dtsi
··· 299 299 qcom,smd-channels = "rpm_requests"; 300 300 301 301 rpmcc: clock-controller { 302 - compatible = "qcom,rpmcc-msm8916"; 302 + compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc"; 303 303 #clock-cells = <1>; 304 304 }; 305 305 ··· 1314 1314 #interrupt-cells = <4>; 1315 1315 }; 1316 1316 1317 + bam_dmux_dma: dma-controller@4044000 { 1318 + compatible = "qcom,bam-v1.7.0"; 1319 + reg = <0x04044000 0x19000>; 1320 + interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 1321 + #dma-cells = <1>; 1322 + qcom,ee = <0>; 1323 + 1324 + num-channels = <6>; 1325 + qcom,num-ees = <1>; 1326 + qcom,powered-remotely; 1327 + 1328 + status = "disabled"; 1329 + }; 1330 + 1317 1331 mpss: remoteproc@4080000 { 1318 1332 compatible = "qcom,msm8916-mss-pil", "qcom,q6v5-pil"; 1319 1333 reg = <0x04080000 0x100>, ··· 1369 1355 1370 1356 mpss { 1371 1357 memory-region = <&mpss_mem>; 1358 + }; 1359 + 1360 + bam_dmux: bam-dmux { 1361 + compatible = "qcom,bam-dmux"; 1362 + 1363 + interrupt-parent = <&hexagon_smsm>; 1364 + interrupts = <1 IRQ_TYPE_EDGE_BOTH>, <11 IRQ_TYPE_EDGE_BOTH>; 1365 + interrupt-names = "pc", "pc-ack"; 1366 + 1367 + qcom,smem-states = <&apps_smsm 1>, <&apps_smsm 11>; 1368 + qcom,smem-state-names = "pc", "pc-ack"; 1369 + 1370 + dmas = <&bam_dmux_dma 4>, <&bam_dmux_dma 5>; 1371 + dma-names = "tx", "rx"; 1372 + 1373 + status = "disabled"; 1372 1374 }; 1373 1375 1374 1376 smd-edge { ··· 1515 1485 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 1516 1486 clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 1517 1487 clock-names = "core", "iface"; 1518 - dmas = <&blsp_dma 1>, <&blsp_dma 0>; 1519 - dma-names = "rx", "tx"; 1488 + dmas = <&blsp_dma 0>, <&blsp_dma 1>; 1489 + dma-names = "tx", "rx"; 1520 1490 pinctrl-names = "default", "sleep"; 1521 1491 pinctrl-0 = <&blsp1_uart1_default>; 1522 1492 pinctrl-1 = <&blsp1_uart1_sleep>; ··· 1529 1499 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 1530 1500 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 1531 1501 clock-names = "core", "iface"; 1532 - dmas = <&blsp_dma 3>, <&blsp_dma 2>; 1533 - dma-names = "rx", "tx"; 1502 + dmas = <&blsp_dma 2>, <&blsp_dma 3>; 1503 + dma-names = "tx", "rx"; 1534 1504 pinctrl-names = "default", "sleep"; 1535 1505 pinctrl-0 = <&blsp1_uart2_default>; 1536 1506 pinctrl-1 = <&blsp1_uart2_sleep>; ··· 1541 1511 compatible = "qcom,i2c-qup-v2.2.1"; 1542 1512 reg = <0x078b5000 0x500>; 1543 1513 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 1544 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1545 - <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>; 1546 - clock-names = "iface", "core"; 1514 + clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>, 1515 + <&gcc GCC_BLSP1_AHB_CLK>; 1516 + clock-names = "core", "iface"; 1547 1517 pinctrl-names = "default", "sleep"; 1548 1518 pinctrl-0 = <&i2c1_default>; 1549 1519 pinctrl-1 = <&i2c1_sleep>; ··· 1559 1529 clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>, 1560 1530 <&gcc GCC_BLSP1_AHB_CLK>; 1561 1531 clock-names = "core", "iface"; 1562 - dmas = <&blsp_dma 5>, <&blsp_dma 4>; 1563 - dma-names = "rx", "tx"; 1532 + dmas = <&blsp_dma 4>, <&blsp_dma 5>; 1533 + dma-names = "tx", "rx"; 1564 1534 pinctrl-names = "default", "sleep"; 1565 1535 pinctrl-0 = <&spi1_default>; 1566 1536 pinctrl-1 = <&spi1_sleep>; ··· 1573 1543 compatible = "qcom,i2c-qup-v2.2.1"; 1574 1544 reg = <0x078b6000 0x500>; 1575 1545 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 1576 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1577 - <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>; 1578 - clock-names = "iface", "core"; 1546 + clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, 1547 + <&gcc GCC_BLSP1_AHB_CLK>; 1548 + clock-names = "core", "iface"; 1579 1549 pinctrl-names = "default", "sleep"; 1580 1550 pinctrl-0 = <&i2c2_default>; 1581 1551 pinctrl-1 = <&i2c2_sleep>; ··· 1591 1561 clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>, 1592 1562 <&gcc GCC_BLSP1_AHB_CLK>; 1593 1563 clock-names = "core", "iface"; 1594 - dmas = <&blsp_dma 7>, <&blsp_dma 6>; 1595 - dma-names = "rx", "tx"; 1564 + dmas = <&blsp_dma 6>, <&blsp_dma 7>; 1565 + dma-names = "tx", "rx"; 1596 1566 pinctrl-names = "default", "sleep"; 1597 1567 pinctrl-0 = <&spi2_default>; 1598 1568 pinctrl-1 = <&spi2_sleep>; ··· 1605 1575 compatible = "qcom,i2c-qup-v2.2.1"; 1606 1576 reg = <0x078b7000 0x500>; 1607 1577 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 1608 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1609 - <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>; 1610 - clock-names = "iface", "core"; 1578 + clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>, 1579 + <&gcc GCC_BLSP1_AHB_CLK>; 1580 + clock-names = "core", "iface"; 1611 1581 pinctrl-names = "default", "sleep"; 1612 1582 pinctrl-0 = <&i2c3_default>; 1613 1583 pinctrl-1 = <&i2c3_sleep>; ··· 1623 1593 clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>, 1624 1594 <&gcc GCC_BLSP1_AHB_CLK>; 1625 1595 clock-names = "core", "iface"; 1626 - dmas = <&blsp_dma 9>, <&blsp_dma 8>; 1627 - dma-names = "rx", "tx"; 1596 + dmas = <&blsp_dma 8>, <&blsp_dma 9>; 1597 + dma-names = "tx", "rx"; 1628 1598 pinctrl-names = "default", "sleep"; 1629 1599 pinctrl-0 = <&spi3_default>; 1630 1600 pinctrl-1 = <&spi3_sleep>; ··· 1637 1607 compatible = "qcom,i2c-qup-v2.2.1"; 1638 1608 reg = <0x078b8000 0x500>; 1639 1609 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 1640 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1641 - <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>; 1642 - clock-names = "iface", "core"; 1610 + clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>, 1611 + <&gcc GCC_BLSP1_AHB_CLK>; 1612 + clock-names = "core", "iface"; 1643 1613 pinctrl-names = "default", "sleep"; 1644 1614 pinctrl-0 = <&i2c4_default>; 1645 1615 pinctrl-1 = <&i2c4_sleep>; ··· 1655 1625 clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>, 1656 1626 <&gcc GCC_BLSP1_AHB_CLK>; 1657 1627 clock-names = "core", "iface"; 1658 - dmas = <&blsp_dma 11>, <&blsp_dma 10>; 1659 - dma-names = "rx", "tx"; 1628 + dmas = <&blsp_dma 10>, <&blsp_dma 11>; 1629 + dma-names = "tx", "rx"; 1660 1630 pinctrl-names = "default", "sleep"; 1661 1631 pinctrl-0 = <&spi4_default>; 1662 1632 pinctrl-1 = <&spi4_sleep>; ··· 1669 1639 compatible = "qcom,i2c-qup-v2.2.1"; 1670 1640 reg = <0x078b9000 0x500>; 1671 1641 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 1672 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1673 - <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>; 1674 - clock-names = "iface", "core"; 1642 + clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>, 1643 + <&gcc GCC_BLSP1_AHB_CLK>; 1644 + clock-names = "core", "iface"; 1675 1645 pinctrl-names = "default", "sleep"; 1676 1646 pinctrl-0 = <&i2c5_default>; 1677 1647 pinctrl-1 = <&i2c5_sleep>; ··· 1687 1657 clocks = <&gcc GCC_BLSP1_QUP5_SPI_APPS_CLK>, 1688 1658 <&gcc GCC_BLSP1_AHB_CLK>; 1689 1659 clock-names = "core", "iface"; 1690 - dmas = <&blsp_dma 13>, <&blsp_dma 12>; 1691 - dma-names = "rx", "tx"; 1660 + dmas = <&blsp_dma 12>, <&blsp_dma 13>; 1661 + dma-names = "tx", "rx"; 1692 1662 pinctrl-names = "default", "sleep"; 1693 1663 pinctrl-0 = <&spi5_default>; 1694 1664 pinctrl-1 = <&spi5_sleep>; ··· 1701 1671 compatible = "qcom,i2c-qup-v2.2.1"; 1702 1672 reg = <0x078ba000 0x500>; 1703 1673 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 1704 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1705 - <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>; 1706 - clock-names = "iface", "core"; 1674 + clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>, 1675 + <&gcc GCC_BLSP1_AHB_CLK>; 1676 + clock-names = "core", "iface"; 1707 1677 pinctrl-names = "default", "sleep"; 1708 1678 pinctrl-0 = <&i2c6_default>; 1709 1679 pinctrl-1 = <&i2c6_sleep>; ··· 1719 1689 clocks = <&gcc GCC_BLSP1_QUP6_SPI_APPS_CLK>, 1720 1690 <&gcc GCC_BLSP1_AHB_CLK>; 1721 1691 clock-names = "core", "iface"; 1722 - dmas = <&blsp_dma 15>, <&blsp_dma 14>; 1723 - dma-names = "rx", "tx"; 1692 + dmas = <&blsp_dma 14>, <&blsp_dma 15>; 1693 + dma-names = "tx", "rx"; 1724 1694 pinctrl-names = "default", "sleep"; 1725 1695 pinctrl-0 = <&spi6_default>; 1726 1696 pinctrl-1 = <&spi6_sleep>; ··· 1818 1788 1819 1789 qcom,mmio = <&pronto>; 1820 1790 1821 - bt { 1791 + bluetooth { 1822 1792 compatible = "qcom,wcnss-bt"; 1823 1793 }; 1824 1794
+26 -26
arch/arm64/boot/dts/qcom/msm8953.dtsi
··· 321 321 qcom,ipc = <&apcs 8 0>; 322 322 qcom,smd-edge = <15>; 323 323 324 - rpm_requests: rpm_requests { 324 + rpm_requests: rpm-requests { 325 325 compatible = "qcom,rpm-msm8953"; 326 326 qcom,smd-channels = "rpm_requests"; 327 327 328 328 rpmcc: rpmcc { 329 - compatible = "qcom,rpmcc-msm8953"; 329 + compatible = "qcom,rpmcc-msm8953", "qcom,rpmcc"; 330 330 clocks = <&xo_board>; 331 331 clock-names = "xo"; 332 332 #clock-cells = <1>; ··· 923 923 compatible = "qcom,i2c-qup-v2.2.1"; 924 924 reg = <0x78b5000 0x600>; 925 925 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 926 - clock-names = "iface", "core"; 927 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 928 - <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>; 926 + clock-names = "core", "iface"; 927 + clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>, 928 + <&gcc GCC_BLSP1_AHB_CLK>; 929 929 930 930 pinctrl-names = "default", "sleep"; 931 931 pinctrl-0 = <&i2c_1_default>; ··· 941 941 compatible = "qcom,i2c-qup-v2.2.1"; 942 942 reg = <0x78b6000 0x600>; 943 943 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 944 - clock-names = "iface", "core"; 945 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 946 - <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>; 944 + clock-names = "core", "iface"; 945 + clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, 946 + <&gcc GCC_BLSP1_AHB_CLK>; 947 947 948 948 pinctrl-names = "default", "sleep"; 949 949 pinctrl-0 = <&i2c_2_default>; ··· 959 959 compatible = "qcom,i2c-qup-v2.2.1"; 960 960 reg = <0x78b7000 0x600>; 961 961 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 962 - clock-names = "iface", "core"; 963 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 964 - <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>; 962 + clock-names = "core", "iface"; 963 + clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>, 964 + <&gcc GCC_BLSP1_AHB_CLK>; 965 965 pinctrl-names = "default", "sleep"; 966 966 pinctrl-0 = <&i2c_3_default>; 967 967 pinctrl-1 = <&i2c_3_sleep>; ··· 976 976 compatible = "qcom,i2c-qup-v2.2.1"; 977 977 reg = <0x78b8000 0x600>; 978 978 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 979 - clock-names = "iface", "core"; 980 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 981 - <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>; 979 + clock-names = "core", "iface"; 980 + clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>, 981 + <&gcc GCC_BLSP1_AHB_CLK>; 982 982 pinctrl-names = "default", "sleep"; 983 983 pinctrl-0 = <&i2c_4_default>; 984 984 pinctrl-1 = <&i2c_4_sleep>; ··· 993 993 compatible = "qcom,i2c-qup-v2.2.1"; 994 994 reg = <0x7af5000 0x600>; 995 995 interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>; 996 - clock-names = "iface", "core"; 997 - clocks = <&gcc GCC_BLSP2_AHB_CLK>, 998 - <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>; 996 + clock-names = "core", "iface"; 997 + clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>, 998 + <&gcc GCC_BLSP2_AHB_CLK>; 999 999 pinctrl-names = "default", "sleep"; 1000 1000 pinctrl-0 = <&i2c_5_default>; 1001 1001 pinctrl-1 = <&i2c_5_sleep>; ··· 1010 1010 compatible = "qcom,i2c-qup-v2.2.1"; 1011 1011 reg = <0x7af6000 0x600>; 1012 1012 interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>; 1013 - clock-names = "iface", "core"; 1014 - clocks = <&gcc GCC_BLSP2_AHB_CLK>, 1015 - <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>; 1013 + clock-names = "core", "iface"; 1014 + clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>, 1015 + <&gcc GCC_BLSP2_AHB_CLK>; 1016 1016 pinctrl-names = "default", "sleep"; 1017 1017 pinctrl-0 = <&i2c_6_default>; 1018 1018 pinctrl-1 = <&i2c_6_sleep>; ··· 1027 1027 compatible = "qcom,i2c-qup-v2.2.1"; 1028 1028 reg = <0x7af7000 0x600>; 1029 1029 interrupts = <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>; 1030 - clock-names = "iface", "core"; 1031 - clocks = <&gcc GCC_BLSP2_AHB_CLK>, 1032 - <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>; 1030 + clock-names = "core", "iface"; 1031 + clocks = <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>, 1032 + <&gcc GCC_BLSP2_AHB_CLK>; 1033 1033 pinctrl-names = "default", "sleep"; 1034 1034 pinctrl-0 = <&i2c_7_default>; 1035 1035 pinctrl-1 = <&i2c_7_sleep>; ··· 1044 1044 compatible = "qcom,i2c-qup-v2.2.1"; 1045 1045 reg = <0x7af8000 0x600>; 1046 1046 interrupts = <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>; 1047 - clock-names = "iface", "core"; 1048 - clocks = <&gcc GCC_BLSP2_AHB_CLK>, 1049 - <&gcc GCC_BLSP2_QUP4_I2C_APPS_CLK>; 1047 + clock-names = "core", "iface"; 1048 + clocks = <&gcc GCC_BLSP2_QUP4_I2C_APPS_CLK>, 1049 + <&gcc GCC_BLSP2_AHB_CLK>; 1050 1050 pinctrl-names = "default", "sleep"; 1051 1051 pinctrl-0 = <&i2c_8_default>; 1052 1052 pinctrl-1 = <&i2c_8_sleep>;
+32 -4
arch/arm64/boot/dts/qcom/msm8992-xiaomi-libra.dts
··· 23 23 24 24 /* This enables graphical output via bootloader-enabled display */ 25 25 chosen { 26 - bootargs = "earlycon=tty0 console=tty0"; 26 + bootargs = "earlycon=tty0 console=tty0 maxcpus=1"; 27 27 28 28 #address-cells = <2>; 29 29 #size-cells = <2>; 30 30 ranges; 31 31 32 - framebuffer0: framebuffer@3404000 { 33 - status= "okay"; 32 + framebuffer0: framebuffer@3400000 { 34 33 compatible = "simple-framebuffer"; 35 - reg = <0 0x3404000 0 (1080 * 1920 * 3)>; 34 + reg = <0 0x3400000 0 (1080 * 1920 * 3)>; 36 35 width = <1080>; 37 36 height = <1920>; 38 37 stride = <(1080 * 3)>; 39 38 format = "r8g8b8"; 39 + /* 40 + * That's a lot of clocks, but it's necessary due 41 + * to unused clk cleanup & no panel driver yet.. 42 + */ 43 + clocks = <&mmcc MDSS_AHB_CLK>, 44 + <&mmcc MDSS_AXI_CLK>, 45 + <&mmcc MDSS_VSYNC_CLK>, 46 + <&mmcc MDSS_MDP_CLK>, 47 + <&mmcc MDSS_BYTE0_CLK>, 48 + <&mmcc MDSS_PCLK0_CLK>, 49 + <&mmcc MDSS_ESC0_CLK>; 50 + power-domains = <&mmcc MDSS_GDSC>; 40 51 }; 41 52 }; 42 53 ··· 135 124 &peripheral_region { 136 125 reg = <0x0 0x7400000 0x0 0x1c00000>; 137 126 no-map; 127 + }; 128 + 129 + &pm8994_spmi_regulators { 130 + VDD_APC0: s8 { 131 + regulator-min-microvolt = <680000>; 132 + regulator-max-microvolt = <1180000>; 133 + regulator-always-on; 134 + regulator-boot-on; 135 + }; 136 + 137 + /* APC1 is 3-phase, but quoting downstream, s11 is "the gang leader" */ 138 + VDD_APC1: s11 { 139 + regulator-min-microvolt = <700000>; 140 + regulator-max-microvolt = <1225000>; 141 + regulator-always-on; 142 + regulator-boot-on; 143 + }; 138 144 }; 139 145 140 146 &rpm_requests {
+23 -1
arch/arm64/boot/dts/qcom/msm8992.dtsi
··· 10 10 /delete-node/ &cpu6_map; 11 11 /delete-node/ &cpu7_map; 12 12 13 + &gcc { 14 + compatible = "qcom,gcc-msm8992"; 15 + }; 16 + 17 + &mmcc { 18 + compatible = "qcom,mmcc-msm8992"; 19 + 20 + assigned-clock-rates = <800000000>, 21 + <808000000>, 22 + <1020000000>, 23 + <960000000>, 24 + <800000000>; 25 + }; 26 + 27 + &ocmem { 28 + reg = <0xfdd00000 0x2000>, <0xfec00000 0x100000>; 29 + 30 + gmu-sram@0 { 31 + reg = <0x0 0x80000>; 32 + }; 33 + }; 34 + 13 35 &rpmcc { 14 - compatible = "qcom,rpmcc-msm8992"; 36 + compatible = "qcom,rpmcc-msm8992", "qcom,rpmcc"; 15 37 }; 16 38 17 39 &tcsr_mutex {
+12 -9
arch/arm64/boot/dts/qcom/msm8994-huawei-angler-rev-101.dts
··· 1 1 // SPDX-License-Identifier: GPL-2.0-only 2 2 /* Copyright (c) 2015, Huawei Inc. All rights reserved. 3 3 * Copyright (c) 2016, The Linux Foundation. All rights reserved. 4 - * Copyright (c) 2021, Petr Vorel <petr.vorel@gmail.com> 4 + * Copyright (c) 2021-2022, Petr Vorel <petr.vorel@gmail.com> 5 5 */ 6 6 7 7 /dts-v1/; ··· 27 27 chosen { 28 28 stdout-path = "serial0:115200n8"; 29 29 }; 30 + }; 30 31 31 - soc { 32 - serial@f991e000 { 33 - status = "okay"; 34 - pinctrl-names = "default", "sleep"; 35 - pinctrl-0 = <&blsp1_uart2_default>; 36 - pinctrl-1 = <&blsp1_uart2_sleep>; 37 - }; 38 - }; 32 + &blsp1_uart2 { 33 + status = "okay"; 34 + pinctrl-names = "default", "sleep"; 35 + pinctrl-0 = <&blsp1_uart2_default>; 36 + pinctrl-1 = <&blsp1_uart2_sleep>; 39 37 }; 40 38 41 39 &tlmm { 42 40 gpio-reserved-ranges = <85 4>; 41 + }; 42 + 43 + &sdhc1 { 44 + status = "okay"; 45 + mmc-hs400-1_8v; 43 46 };
+44 -45
arch/arm64/boot/dts/qcom/msm8994-sony-xperia-kitakami.dtsi
··· 108 108 /* NXP PN547 NFC */ 109 109 }; 110 110 111 - &blsp1_i2c4 { 112 - status = "okay"; 113 - clock-frequency = <355000>; 114 - 115 - /* Empty but active */ 116 - }; 117 - 118 111 &blsp1_i2c6 { 119 112 status = "okay"; 120 113 clock-frequency = <355000>; ··· 187 194 }; 188 195 189 196 &rpm_requests { 197 + /* PMI8994 should probe first, because pmi8994_bby supplies some of PM8994's regulators */ 198 + pmi8994_regulators: pmi8994-regulators { 199 + compatible = "qcom,rpm-pmi8994-regulators"; 200 + 201 + vdd_s1-supply = <&vph_pwr>; 202 + vdd_bst_byp-supply = <&vph_pwr>; 203 + 204 + pmi8994_s1: s1 { 205 + regulator-min-microvolt = <1025000>; 206 + regulator-max-microvolt = <1025000>; 207 + }; 208 + 209 + /* S2 & S3 - VDD_GFX */ 210 + 211 + pmi8994_bby: boost-bypass { 212 + regulator-min-microvolt = <3150000>; 213 + regulator-max-microvolt = <3600000>; 214 + }; 215 + }; 216 + 190 217 pm8994_regulators: pm8994-regulators { 191 218 compatible = "qcom,rpm-pm8994-regulators"; 192 219 193 - vdd_s1-supply = <&vph_pwr>; 194 - vdd_s2-supply = <&vph_pwr>; 195 220 vdd_s3-supply = <&vph_pwr>; 196 221 vdd_s4-supply = <&vph_pwr>; 197 222 vdd_s5-supply = <&vph_pwr>; 198 223 vdd_s6-supply = <&vph_pwr>; 199 224 vdd_s7-supply = <&vph_pwr>; 200 - vdd_s8-supply = <&vph_pwr>; 201 - vdd_s9-supply = <&vph_pwr>; 202 - vdd_s10-supply = <&vph_pwr>; 203 - vdd_s11-supply = <&vph_pwr>; 204 - vdd_s12-supply = <&vph_pwr>; 205 225 vdd_l1-supply = <&pmi8994_s1>; 206 226 vdd_l2_l26_l28-supply = <&pm8994_s3>; 207 227 vdd_l3_l11-supply = <&pm8994_s3>; 208 228 vdd_l4_l27_l31-supply = <&pm8994_s3>; 209 - vdd_l5_l7-supply = <&pm8994_s5>; 210 229 vdd_l6_l12_l32-supply = <&pm8994_s5>; 211 230 vdd_l8_l16_l30-supply = <&vph_pwr>; 212 231 vdd_l9_l10_l18_l22-supply = <&pmi8994_bby>; ··· 239 234 pm8994_s4: s4 { 240 235 regulator-min-microvolt = <1800000>; 241 236 regulator-max-microvolt = <1800000>; 237 + regulator-system-load = <325000>; 242 238 regulator-allow-set-load; 243 239 regulator-always-on; 244 - regulator-system-load = <325000>; 245 240 }; 246 241 247 242 pm8994_s5: s5 { ··· 267 262 pm8994_l2: l2 { 268 263 regulator-min-microvolt = <1250000>; 269 264 regulator-max-microvolt = <1250000>; 270 - regulator-allow-set-load; 271 265 regulator-system-load = <10000>; 266 + regulator-allow-set-load; 272 267 }; 273 268 274 269 pm8994_l3: l3 { 275 270 regulator-min-microvolt = <1100000>; 276 271 regulator-max-microvolt = <1100000>; 272 + regulator-boot-on; 277 273 }; 278 274 279 275 pm8994_l4: l4 { ··· 314 308 pm8994_l12: l12 { 315 309 regulator-min-microvolt = <1800000>; 316 310 regulator-max-microvolt = <1800000>; 317 - regulator-allow-set-load; 318 311 regulator-system-load = <10000>; 312 + regulator-allow-set-load; 319 313 }; 320 314 321 315 pm8994_l13: l13 { ··· 326 320 pm8994_l14: l14 { 327 321 regulator-min-microvolt = <1800000>; 328 322 regulator-max-microvolt = <1800000>; 329 - regulator-allow-set-load; 330 323 regulator-system-load = <10000>; 324 + regulator-allow-set-load; 325 + regulator-boot-on; 331 326 }; 332 327 333 328 pm8994_l15: l15 { ··· 344 337 pm8994_l17: l17 { 345 338 regulator-min-microvolt = <2200000>; 346 339 regulator-max-microvolt = <2200000>; 340 + regulator-boot-on; 347 341 }; 348 342 349 343 pm8994_l18: l18 { 350 344 regulator-min-microvolt = <2850000>; 351 345 regulator-max-microvolt = <2850000>; 352 346 regulator-always-on; 347 + regulator-boot-on; 353 348 }; 354 349 355 350 pm8994_l19: l19 { 356 351 regulator-min-microvolt = <2850000>; 357 352 regulator-max-microvolt = <2850000>; 353 + regulator-boot-on; 358 354 }; 359 355 360 356 pm8994_l20: l20 { 361 357 regulator-min-microvolt = <2950000>; 362 358 regulator-max-microvolt = <2950000>; 363 - regulator-always-on; 364 - regulator-boot-on; 365 - regulator-allow-set-load; 366 359 regulator-system-load = <570000>; 360 + regulator-allow-set-load; 367 361 }; 368 362 369 363 pm8994_l21: l21 { 370 364 regulator-min-microvolt = <2950000>; 371 365 regulator-max-microvolt = <2950000>; 372 - regulator-always-on; 373 - regulator-allow-set-load; 374 366 regulator-system-load = <800000>; 367 + regulator-allow-set-load; 375 368 }; 376 369 377 370 pm8994_l22: l22 { 378 371 regulator-min-microvolt = <3000000>; 379 372 regulator-max-microvolt = <3000000>; 373 + regulator-boot-on; 380 374 }; 381 375 382 376 pm8994_l23: l23 { 383 377 regulator-min-microvolt = <2800000>; 384 378 regulator-max-microvolt = <2800000>; 379 + regulator-always-on; 380 + regulator-boot-on; 385 381 }; 386 382 387 383 pm8994_l24: l24 { ··· 395 385 pm8994_l25: l25 { 396 386 regulator-min-microvolt = <1000000>; 397 387 regulator-max-microvolt = <1000000>; 388 + regulator-boot-on; 398 389 }; 399 390 400 391 pm8994_l26: l26 { ··· 406 395 pm8994_l27: l27 { 407 396 regulator-min-microvolt = <1200000>; 408 397 regulator-max-microvolt = <1200000>; 398 + regulator-boot-on; 409 399 }; 410 400 411 401 pm8994_l28: l28 { 412 402 regulator-min-microvolt = <1000000>; 413 403 regulator-max-microvolt = <1000000>; 414 - regulator-allow-set-load; 415 404 regulator-system-load = <10000>; 405 + regulator-allow-set-load; 416 406 }; 417 407 418 408 pm8994_l29: l29 { 419 409 regulator-min-microvolt = <2700000>; 420 410 regulator-max-microvolt = <2700000>; 411 + regulator-boot-on; 421 412 }; 422 413 423 414 pm8994_l30: l30 { 424 415 regulator-min-microvolt = <1800000>; 425 416 regulator-max-microvolt = <1800000>; 417 + regulator-boot-on; 426 418 }; 427 419 428 420 pm8994_l31: l31 { 429 421 regulator-min-microvolt = <1200000>; 430 422 regulator-max-microvolt = <1200000>; 431 - regulator-allow-set-load; 432 423 regulator-system-load = <10000>; 424 + regulator-allow-set-load; 433 425 }; 434 426 435 427 pm8994_l32: l32 { ··· 440 426 regulator-max-microvolt = <1800000>; 441 427 }; 442 428 443 - pm8994_lvs1: lvs1 {}; 444 - pm8994_lvs2: lvs2 {}; 445 - }; 446 - 447 - pmi8994_regulators: pmi8994-regulators { 448 - compatible = "qcom,rpm-pmi8994-regulators"; 449 - 450 - vdd_s1-supply = <&vph_pwr>; 451 - vdd_bst_byp-supply = <&vph_pwr>; 452 - 453 - pmi8994_s1: s1 { 454 - regulator-min-microvolt = <1025000>; 455 - regulator-max-microvolt = <1025000>; 429 + pm8994_lvs1: lvs1 { 430 + regulator-boot-on; 456 431 }; 457 - 458 - /* S2 & S3 - VDD_GFX */ 459 - 460 - pmi8994_bby: boost-bypass { 461 - regulator-min-microvolt = <3150000>; 462 - regulator-max-microvolt = <3600000>; 432 + pm8994_lvs2: lvs2 { 433 + regulator-boot-on; 463 434 }; 464 435 }; 465 436 };
+98 -28
arch/arm64/boot/dts/qcom/msm8994.dtsi
··· 4 4 5 5 #include <dt-bindings/interrupt-controller/arm-gic.h> 6 6 #include <dt-bindings/clock/qcom,gcc-msm8994.h> 7 + #include <dt-bindings/clock/qcom,mmcc-msm8994.h> 8 + #include <dt-bindings/clock/qcom,rpmcc.h> 7 9 #include <dt-bindings/power/qcom-rpmpd.h> 8 10 9 11 / { ··· 13 11 14 12 #address-cells = <2>; 15 13 #size-cells = <2>; 14 + 15 + aliases { 16 + mmc1 = &sdhc1; 17 + mmc2 = &sdhc2; 18 + }; 16 19 17 20 chosen { }; 18 21 ··· 190 183 no-map; 191 184 }; 192 185 193 - cont_splash_mem: memory@3800000 { 194 - reg = <0 0x03800000 0 0x2400000>; 186 + cont_splash_mem: memory@3401000 { 187 + reg = <0 0x03401000 0 0x2200000>; 195 188 no-map; 196 189 }; 197 190 ··· 240 233 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 241 234 qcom,ipc = <&apcs 8 0>; 242 235 qcom,smd-edge = <15>; 243 - qcom,local-pid = <0>; 244 236 qcom,remote-pid = <6>; 245 237 246 238 rpm_requests: rpm-requests { ··· 247 241 qcom,smd-channels = "rpm_requests"; 248 242 249 243 rpmcc: rpmcc { 250 - compatible = "qcom,rpmcc-msm8994"; 244 + compatible = "qcom,rpmcc-msm8994", "qcom,rpmcc"; 251 245 #clock-cells = <1>; 252 246 }; 253 247 ··· 358 352 compatible = "qcom,msm8994-apcs-kpss-global", "syscon"; 359 353 reg = <0xf900d000 0x2000>; 360 354 #mbox-cells = <1>; 355 + }; 356 + 357 + watchdog@f9017000 { 358 + compatible = "qcom,apss-wdt-msm8994", "qcom,kpss-wdt"; 359 + reg = <0xf9017000 0x1000>; 360 + interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>, 361 + <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>; 362 + clocks = <&sleep_clk>; 363 + timeout-sec = <10>; 361 364 }; 362 365 363 366 timer@f9020000 { ··· 513 498 #dma-cells = <1>; 514 499 qcom,ee = <0>; 515 500 qcom,controlled-remotely; 516 - num-channels = <18>; 501 + num-channels = <24>; 517 502 qcom,num-ees = <4>; 518 503 }; 519 504 ··· 534 519 compatible = "qcom,i2c-qup-v2.2.1"; 535 520 reg = <0xf9923000 0x500>; 536 521 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 537 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 538 - <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>; 539 - clock-names = "iface", "core"; 522 + clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>, 523 + <&gcc GCC_BLSP1_AHB_CLK>; 524 + clock-names = "core", "iface"; 540 525 clock-frequency = <400000>; 541 526 dmas = <&blsp1_dma 12>, <&blsp1_dma 13>; 542 527 dma-names = "tx", "rx"; ··· 570 555 compatible = "qcom,i2c-qup-v2.2.1"; 571 556 reg = <0xf9924000 0x500>; 572 557 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 573 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 574 - <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>; 575 - clock-names = "iface", "core"; 558 + clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, 559 + <&gcc GCC_BLSP1_AHB_CLK>; 560 + clock-names = "core", "iface"; 576 561 clock-frequency = <400000>; 577 562 dmas = <&blsp1_dma 14>, <&blsp1_dma 15>; 578 563 dma-names = "tx", "rx"; ··· 590 575 compatible = "qcom,i2c-qup-v2.2.1"; 591 576 reg = <0xf9926000 0x500>; 592 577 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 593 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 594 - <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>; 595 - clock-names = "iface", "core"; 578 + clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>, 579 + <&gcc GCC_BLSP1_AHB_CLK>; 580 + clock-names = "core", "iface"; 596 581 clock-frequency = <400000>; 597 582 dmas = <&blsp1_dma 18>, <&blsp1_dma 19>; 598 583 dma-names = "tx", "rx"; ··· 608 593 compatible = "qcom,i2c-qup-v2.2.1"; 609 594 reg = <0xf9927000 0x500>; 610 595 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 611 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 612 - <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>; 613 - clock-names = "iface", "core"; 596 + clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>, 597 + <&gcc GCC_BLSP1_AHB_CLK>; 598 + clock-names = "core", "iface"; 614 599 clock-frequency = <400000>; 615 600 dmas = <&blsp2_dma 20>, <&blsp2_dma 21>; 616 601 dma-names = "tx", "rx"; ··· 626 611 compatible = "qcom,i2c-qup-v2.2.1"; 627 612 reg = <0xf9928000 0x500>; 628 613 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 629 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 630 - <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>; 631 - clock-names = "iface", "core"; 614 + clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>, 615 + <&gcc GCC_BLSP1_AHB_CLK>; 616 + clock-names = "core", "iface"; 632 617 clock-frequency = <400000>; 633 618 dmas = <&blsp1_dma 22>, <&blsp1_dma 23>; 634 619 dma-names = "tx", "rx"; ··· 649 634 #dma-cells = <1>; 650 635 qcom,ee = <0>; 651 636 qcom,controlled-remotely; 652 - num-channels = <18>; 637 + num-channels = <24>; 653 638 qcom,num-ees = <4>; 654 639 }; 655 640 ··· 672 657 compatible = "qcom,i2c-qup-v2.2.1"; 673 658 reg = <0xf9963000 0x500>; 674 659 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 675 - clocks = <&gcc GCC_BLSP2_AHB_CLK>, 676 - <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>; 677 - clock-names = "iface", "core"; 660 + clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>, 661 + <&gcc GCC_BLSP2_AHB_CLK>; 662 + clock-names = "core", "iface"; 678 663 clock-frequency = <400000>; 679 664 dmas = <&blsp2_dma 12>, <&blsp2_dma 13>; 680 665 dma-names = "tx", "rx"; ··· 708 693 compatible = "qcom,i2c-qup-v2.2.1"; 709 694 reg = <0xf9967000 0x500>; 710 695 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 711 - clocks = <&gcc GCC_BLSP2_AHB_CLK>, 712 - <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>; 713 - clock-names = "iface", "core"; 696 + clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>, 697 + <&gcc GCC_BLSP2_AHB_CLK>; 698 + clock-names = "core", "iface"; 714 699 clock-frequency = <355000>; 715 700 dmas = <&blsp2_dma 20>, <&blsp2_dma 21>; 716 701 dma-names = "tx", "rx"; ··· 729 714 #power-domain-cells = <1>; 730 715 reg = <0xfc400000 0x2000>; 731 716 732 - clock-names = "xo", "sleep_clk"; 717 + clock-names = "xo", "sleep"; 733 718 clocks = <&xo_board>, <&sleep_clk>; 734 719 }; 735 720 ··· 1025 1010 pins = "sdc2_data"; 1026 1011 bias-pull-up; 1027 1012 drive-strength = <2>; 1013 + }; 1014 + }; 1015 + 1016 + mmcc: clock-controller@fd8c0000 { 1017 + compatible = "qcom,mmcc-msm8994"; 1018 + reg = <0xfd8c0000 0x5200>; 1019 + #clock-cells = <1>; 1020 + #reset-cells = <1>; 1021 + #power-domain-cells = <1>; 1022 + 1023 + clock-names = "xo", 1024 + "gpll0", 1025 + "mmssnoc_ahb", 1026 + "oxili_gfx3d_clk_src", 1027 + "dsi0pll", 1028 + "dsi0pllbyte", 1029 + "dsi1pll", 1030 + "dsi1pllbyte", 1031 + "hdmipll"; 1032 + clocks = <&xo_board>, 1033 + <&gcc GPLL0_OUT_MMSSCC>, 1034 + <&rpmcc RPM_SMD_MMSSNOC_AHB_CLK>, 1035 + <&rpmcc RPM_SMD_GFX3D_CLK_SRC>, 1036 + <0>, 1037 + <0>, 1038 + <0>, 1039 + <0>, 1040 + <0>; 1041 + 1042 + assigned-clocks = <&mmcc MMPLL0_PLL>, 1043 + <&mmcc MMPLL1_PLL>, 1044 + <&mmcc MMPLL3_PLL>, 1045 + <&mmcc MMPLL4_PLL>, 1046 + <&mmcc MMPLL5_PLL>; 1047 + assigned-clock-rates = <800000000>, 1048 + <1167000000>, 1049 + <1020000000>, 1050 + <960000000>, 1051 + <600000000>; 1052 + }; 1053 + 1054 + ocmem: ocmem@fdd00000 { 1055 + compatible = "qcom,msm8974-ocmem"; 1056 + reg = <0xfdd00000 0x2000>, 1057 + <0xfec00000 0x200000>; 1058 + reg-names = "ctrl", "mem"; 1059 + clocks = <&rpmcc RPM_SMD_OCMEMGX_CLK>, 1060 + <&mmcc OCMEMCX_OCMEMNOC_CLK>; 1061 + clock-names = "core", "iface"; 1062 + 1063 + #address-cells = <1>; 1064 + #size-cells = <1>; 1065 + 1066 + gmu_sram: gmu-sram@0 { 1067 + reg = <0x0 0x180000>; 1028 1068 }; 1029 1069 }; 1030 1070 };
+3 -5
arch/arm64/boot/dts/qcom/msm8996-mtp.dts
··· 18 18 chosen { 19 19 stdout-path = "serial0"; 20 20 }; 21 + }; 21 22 22 - soc { 23 - serial@75b0000 { 24 - status = "okay"; 25 - }; 26 - }; 23 + &blsp2_uart2 { 24 + status = "okay"; 27 25 }; 28 26 29 27 &hdmi {
+12 -6
arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi
··· 13 13 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 14 14 #include <dt-bindings/pinctrl/qcom,pmic-mpp.h> 15 15 16 - /delete-node/ &slpi_region; 17 - /delete-node/ &venus_region; 18 - /delete-node/ &zap_shader_region; 16 + /delete-node/ &adsp_mem; 17 + /delete-node/ &slpi_mem; 18 + /delete-node/ &venus_mem; 19 + /delete-node/ &gpu_mem; 19 20 20 21 / { 21 22 qcom,msm-id = <246 0x30001>; /* MSM8996 V3.1 (Final) */ ··· 47 46 no-map; 48 47 }; 49 48 50 - zap_shader_region: gpu@90400000 { 49 + adsp_mem: adsp@8ea00000 { 50 + reg = <0x0 0x8ea00000 0x0 0x1a00000>; 51 + no-map; 52 + }; 53 + 54 + gpu_mem: gpu@90400000 { 51 55 compatible = "shared-dma-pool"; 52 56 reg = <0x0 0x90400000 0x0 0x2000>; 53 57 no-map; 54 58 }; 55 59 56 - slpi_region: memory@90500000 { 60 + slpi_mem: memory@90500000 { 57 61 reg = <0 0x90500000 0 0xa00000>; 58 62 no-map; 59 63 }; 60 64 61 - venus_region: memory@90f00000 { 65 + venus_mem: memory@90f00000 { 62 66 reg = <0 0x90f00000 0 0x500000>; 63 67 no-map; 64 68 };
+21 -15
arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
··· 66 66 67 67 /* This platform has all PIL regions offset by 0x1400000 */ 68 68 /delete-node/ mpss@88800000; 69 - mpss_region: mpss@89c00000 { 69 + mpss_mem: mpss@89c00000 { 70 70 reg = <0x0 0x89c00000 0x0 0x6200000>; 71 71 no-map; 72 72 }; 73 73 74 74 /delete-node/ adsp@8ea00000; 75 - adsp_region: adsp@8ea00000 { 75 + adsp_mem: adsp@8fe00000 { 76 76 reg = <0x0 0x8fe00000 0x0 0x1b00000>; 77 77 no-map; 78 78 }; 79 79 80 - /delete-node/ slpi@90b00000; 81 - slpi_region: slpi@91900000 { 80 + /delete-node/ slpi@90500000; 81 + slpi_mem: slpi@91900000 { 82 82 reg = <0x0 0x91900000 0x0 0xa00000>; 83 83 no-map; 84 84 }; 85 85 86 - /delete-node/ gpu@8f200000; 87 - zap_shader_region: gpu@92300000 { 86 + /delete-node/ gpu@90f00000; 87 + gpu_mem: gpu@92300000 { 88 88 compatible = "shared-dma-pool"; 89 89 reg = <0x0 0x92300000 0x0 0x2000>; 90 90 no-map; 91 91 }; 92 92 93 93 /delete-node/ venus@91000000; 94 - venus_region: venus@90400000 { 94 + venus_mem: venus@92400000 { 95 95 reg = <0x0 0x92400000 0x0 0x500000>; 96 96 no-map; 97 97 }; ··· 107 107 pmsg-size = <0x40000>; 108 108 }; 109 109 110 - /delete-node/ rmtfs@86700000; 110 + /delete-node/ rmtfs; 111 111 rmtfs@f6c00000 { 112 112 compatible = "qcom,rmtfs-mem"; 113 113 reg = <0 0xf6c00000 0 0x200000>; ··· 118 118 }; 119 119 120 120 /delete-node/ mba@91500000; 121 - mba_region: mba@f6f00000 { 121 + mba_mem: mba@f6f00000 { 122 122 reg = <0x0 0xf6f00000 0x0 0x100000>; 123 123 no-map; 124 124 }; ··· 267 267 vdd-gfx-supply = <&vdd_gfx>; 268 268 }; 269 269 270 + &mss_pil { 271 + status = "okay"; 272 + 273 + pll-supply = <&vreg_l12a_1p8>; 274 + }; 275 + 270 276 &pcie0 { 271 277 status = "okay"; 272 278 ··· 295 289 status = "okay"; 296 290 297 291 linux,code = <KEY_VOLUMEDOWN>; 292 + }; 293 + 294 + &slpi_pil { 295 + status = "okay"; 296 + 297 + px-supply = <&vreg_lvs2a_1p8>; 298 298 }; 299 299 300 300 &usb3 { ··· 348 336 349 337 vdda-phy-supply = <&vreg_l28a_0p925>; 350 338 vdda-pll-supply = <&vreg_l12a_1p8>; 351 - 352 - vdda-phy-max-microamp = <18380>; 353 - vdda-pll-max-microamp = <9440>; 354 - 355 339 vddp-ref-clk-supply = <&vreg_l25a_1p2>; 356 - vddp-ref-clk-max-microamp = <100>; 357 - vddp-ref-clk-always-on; 358 340 }; 359 341 360 342 &venus {
+9
arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts
··· 130 130 status = "okay"; 131 131 }; 132 132 133 + &mss_pil { 134 + firmware-name = "qcom/msm8996/gemini/mba.mbn", 135 + "qcom/msm8996/gemini/modem.mbn"; 136 + }; 137 + 133 138 &q6asmdai { 134 139 dai@0 { 135 140 reg = <0>; ··· 147 142 dai@2 { 148 143 reg = <2>; 149 144 }; 145 + }; 146 + 147 + &slpi_pil { 148 + firmware-name = "qcom/msm8996/gemini/slpi.mbn"; 150 149 }; 151 150 152 151 &sound {
+9
arch/arm64/boot/dts/qcom/msm8996-xiaomi-scorpio.dts
··· 111 111 status = "disabled"; 112 112 }; 113 113 114 + &mss_pil { 115 + firmware-name = "qcom/msm8996/scorpio/mba.mbn", 116 + "qcom/msm8996/scorpio/modem.mbn"; 117 + }; 118 + 114 119 &q6asmdai { 115 120 dai@0 { 116 121 reg = <0>; ··· 128 123 dai@2 { 129 124 reg = <2>; 130 125 }; 126 + }; 127 + 128 + &slpi_pil { 129 + firmware-name = "qcom/msm8996/scorpio/slpi.mbn"; 131 130 }; 132 131 133 132 &sound {
+181 -75
arch/arm64/boot/dts/qcom/msm8996.dtsi
··· 384 384 #size-cells = <2>; 385 385 ranges; 386 386 387 - mba_region: mba@91500000 { 388 - reg = <0x0 0x91500000 0x0 0x200000>; 387 + hyp_mem: memory@85800000 { 388 + reg = <0x0 0x85800000 0x0 0x600000>; 389 389 no-map; 390 390 }; 391 391 392 - slpi_region: slpi@90b00000 { 393 - reg = <0x0 0x90b00000 0x0 0xa00000>; 394 - no-map; 395 - }; 396 - 397 - venus_region: venus@90400000 { 398 - reg = <0x0 0x90400000 0x0 0x700000>; 399 - no-map; 400 - }; 401 - 402 - adsp_region: adsp@8ea00000 { 403 - reg = <0x0 0x8ea00000 0x0 0x1a00000>; 404 - no-map; 405 - }; 406 - 407 - mpss_region: mpss@88800000 { 408 - reg = <0x0 0x88800000 0x0 0x6200000>; 392 + xbl_mem: memory@85e00000 { 393 + reg = <0x0 0x85e00000 0x0 0x200000>; 409 394 no-map; 410 395 }; 411 396 ··· 399 414 no-map; 400 415 }; 401 416 402 - memory@85800000 { 403 - reg = <0x0 0x85800000 0x0 0x800000>; 404 - no-map; 405 - }; 406 - 407 - memory@86200000 { 417 + tz_mem: memory@86200000 { 408 418 reg = <0x0 0x86200000 0x0 0x2600000>; 409 419 no-map; 410 420 }; 411 421 412 - rmtfs@86700000 { 422 + rmtfs_mem: rmtfs { 413 423 compatible = "qcom,rmtfs-mem"; 414 424 415 425 size = <0x0 0x200000>; ··· 415 435 qcom,vmid = <15>; 416 436 }; 417 437 418 - zap_shader_region: gpu@8f200000 { 438 + mpss_mem: mpss@88800000 { 439 + reg = <0x0 0x88800000 0x0 0x6200000>; 440 + no-map; 441 + }; 442 + 443 + adsp_mem: adsp@8ea00000 { 444 + reg = <0x0 0x8ea00000 0x0 0x1b00000>; 445 + no-map; 446 + }; 447 + 448 + slpi_mem: slpi@90500000 { 449 + reg = <0x0 0x90500000 0x0 0xa00000>; 450 + no-map; 451 + }; 452 + 453 + gpu_mem: gpu@90f00000 { 419 454 compatible = "shared-dma-pool"; 420 - reg = <0x0 0x90b00000 0x0 0xa00000>; 455 + reg = <0x0 0x90f00000 0x0 0x100000>; 456 + no-map; 457 + }; 458 + 459 + venus_mem: venus@91000000 { 460 + reg = <0x0 0x91000000 0x0 0x500000>; 461 + no-map; 462 + }; 463 + 464 + mba_mem: mba@91500000 { 465 + reg = <0x0 0x91500000 0x0 0x200000>; 421 466 no-map; 422 467 }; 423 468 }; ··· 461 456 qcom,glink-channels = "rpm_requests"; 462 457 463 458 rpmcc: qcom,rpmcc { 464 - compatible = "qcom,rpmcc-msm8996"; 459 + compatible = "qcom,rpmcc-msm8996", "qcom,rpmcc"; 465 460 #clock-cells = <1>; 466 461 }; 467 462 ··· 518 513 qcom,local-pid = <0>; 519 514 qcom,remote-pid = <2>; 520 515 521 - smp2p_adsp_out: master-kernel { 516 + adsp_smp2p_out: master-kernel { 522 517 qcom,entry-name = "master-kernel"; 523 518 #qcom,smem-state-cells = <1>; 524 519 }; 525 520 526 - smp2p_adsp_in: slave-kernel { 521 + adsp_smp2p_in: slave-kernel { 527 522 qcom,entry-name = "slave-kernel"; 528 523 529 524 interrupt-controller; ··· 531 526 }; 532 527 }; 533 528 534 - smp2p-modem { 529 + smp2p-mpss { 535 530 compatible = "qcom,smp2p"; 536 531 qcom,smem = <435>, <428>; 537 532 ··· 542 537 qcom,local-pid = <0>; 543 538 qcom,remote-pid = <1>; 544 539 545 - modem_smp2p_out: master-kernel { 540 + mpss_smp2p_out: master-kernel { 546 541 qcom,entry-name = "master-kernel"; 547 542 #qcom,smem-state-cells = <1>; 548 543 }; 549 544 550 - modem_smp2p_in: slave-kernel { 545 + mpss_smp2p_in: slave-kernel { 551 546 qcom,entry-name = "slave-kernel"; 552 547 553 548 interrupt-controller; ··· 566 561 qcom,local-pid = <0>; 567 562 qcom,remote-pid = <3>; 568 563 569 - smp2p_slpi_in: slave-kernel { 570 - qcom,entry-name = "slave-kernel"; 571 - interrupt-controller; 572 - #interrupt-cells = <2>; 573 - }; 574 - 575 - smp2p_slpi_out: master-kernel { 564 + slpi_smp2p_out: master-kernel { 576 565 qcom,entry-name = "master-kernel"; 577 566 #qcom,smem-state-cells = <1>; 567 + }; 568 + 569 + slpi_smp2p_in: slave-kernel { 570 + qcom,entry-name = "slave-kernel"; 571 + 572 + interrupt-controller; 573 + #interrupt-cells = <2>; 578 574 }; 579 575 }; 580 576 ··· 713 707 #thermal-sensor-cells = <1>; 714 708 }; 715 709 716 - cryptobam: dma@644000 { 710 + cryptobam: dma-controller@644000 { 717 711 compatible = "qcom,bam-v1.7.0"; 718 712 reg = <0x00644000 0x24000>; 719 713 interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>; ··· 794 788 reg-names = "mdp_phys"; 795 789 796 790 interrupt-parent = <&mdss>; 797 - interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; 791 + interrupts = <0>; 798 792 799 793 clocks = <&mmcc MDSS_AHB_CLK>, 800 794 <&mmcc MDSS_AXI_CLK>, ··· 840 834 reg-names = "dsi_ctrl"; 841 835 842 836 interrupt-parent = <&mdss>; 843 - interrupts = <4 IRQ_TYPE_LEVEL_HIGH>; 837 + interrupts = <4>; 844 838 845 839 clocks = <&mmcc MDSS_MDP_CLK>, 846 840 <&mmcc MDSS_BYTE0_CLK>, ··· 910 904 "hdcp_physical"; 911 905 912 906 interrupt-parent = <&mdss>; 913 - interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; 907 + interrupts = <8>; 914 908 915 909 clocks = <&mmcc MDSS_MDP_CLK>, 916 910 <&mmcc MDSS_AHB_CLK>, ··· 1039 1033 }; 1040 1034 1041 1035 zap-shader { 1042 - memory-region = <&zap_shader_region>; 1036 + memory-region = <&gpu_mem>; 1043 1037 }; 1044 1038 }; 1045 1039 ··· 1580 1574 ranges; 1581 1575 1582 1576 pcie0: pcie@600000 { 1583 - compatible = "qcom,pcie-msm8996", "snps,dw-pcie"; 1577 + compatible = "qcom,pcie-msm8996"; 1584 1578 status = "disabled"; 1585 1579 power-domains = <&gcc PCIE0_GDSC>; 1586 1580 bus-range = <0x00 0xff>; ··· 1632 1626 }; 1633 1627 1634 1628 pcie1: pcie@608000 { 1635 - compatible = "qcom,pcie-msm8996", "snps,dw-pcie"; 1629 + compatible = "qcom,pcie-msm8996"; 1636 1630 power-domains = <&gcc PCIE1_GDSC>; 1637 1631 bus-range = <0x00 0xff>; 1638 1632 num-lanes = <1>; ··· 1685 1679 }; 1686 1680 1687 1681 pcie2: pcie@610000 { 1688 - compatible = "qcom,pcie-msm8996", "snps,dw-pcie"; 1682 + compatible = "qcom,pcie-msm8996"; 1689 1683 power-domains = <&gcc PCIE2_GDSC>; 1690 1684 bus-range = <0x00 0xff>; 1691 1685 num-lanes = <1>; ··· 1736 1730 }; 1737 1731 1738 1732 ufshc: ufshc@624000 { 1739 - compatible = "qcom,ufshc"; 1733 + compatible = "qcom,msm8996-ufshc", "qcom,ufshc", 1734 + "jedec,ufs-2.0"; 1740 1735 reg = <0x00624000 0x2500>; 1741 1736 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>; 1742 1737 ··· 2033 2026 <&venus_smmu 0x2c>, 2034 2027 <&venus_smmu 0x2d>, 2035 2028 <&venus_smmu 0x31>; 2036 - memory-region = <&venus_region>; 2029 + memory-region = <&venus_mem>; 2037 2030 status = "disabled"; 2038 2031 2039 2032 video-decoder { ··· 2127 2120 clocks = <&gcc GCC_HLOS1_VOTE_LPASS_CORE_SMMU_CLK>, 2128 2121 <&gcc GCC_HLOS1_VOTE_LPASS_ADSP_SMMU_CLK>; 2129 2122 clock-names = "iface", "bus"; 2123 + }; 2124 + 2125 + slpi_pil: remoteproc@1c00000 { 2126 + compatible = "qcom,msm8996-slpi-pil"; 2127 + reg = <0x01c00000 0x4000>; 2128 + 2129 + interrupts-extended = <&intc 0 390 IRQ_TYPE_EDGE_RISING>, 2130 + <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 2131 + <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 2132 + <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 2133 + <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 2134 + interrupt-names = "wdog", 2135 + "fatal", 2136 + "ready", 2137 + "handover", 2138 + "stop-ack"; 2139 + 2140 + clocks = <&xo_board>, 2141 + <&rpmcc RPM_SMD_AGGR2_NOC_CLK>; 2142 + clock-names = "xo", "aggre2"; 2143 + 2144 + memory-region = <&slpi_mem>; 2145 + 2146 + qcom,smem-states = <&slpi_smp2p_out 0>; 2147 + qcom,smem-state-names = "stop"; 2148 + 2149 + power-domains = <&rpmpd MSM8996_VDDSSCX>; 2150 + power-domain-names = "ssc_cx"; 2151 + 2152 + status = "disabled"; 2153 + 2154 + smd-edge { 2155 + interrupts = <GIC_SPI 176 IRQ_TYPE_EDGE_RISING>; 2156 + 2157 + label = "dsps"; 2158 + mboxes = <&apcs_glb 25>; 2159 + qcom,smd-edge = <3>; 2160 + qcom,remote-pid = <3>; 2161 + }; 2162 + }; 2163 + 2164 + mss_pil: remoteproc@2080000 { 2165 + compatible = "qcom,msm8996-mss-pil"; 2166 + reg = <0x2080000 0x100>, 2167 + <0x2180000 0x020>; 2168 + reg-names = "qdsp6", "rmb"; 2169 + 2170 + interrupts-extended = <&intc 0 448 IRQ_TYPE_EDGE_RISING>, 2171 + <&mpss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 2172 + <&mpss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 2173 + <&mpss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 2174 + <&mpss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>, 2175 + <&mpss_smp2p_in 7 IRQ_TYPE_EDGE_RISING>; 2176 + interrupt-names = "wdog", "fatal", "ready", 2177 + "handover", "stop-ack", 2178 + "shutdown-ack"; 2179 + 2180 + clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, 2181 + <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>, 2182 + <&gcc GCC_BOOT_ROM_AHB_CLK>, 2183 + <&xo_board>, 2184 + <&gcc GCC_MSS_GPLL0_DIV_CLK>, 2185 + <&gcc GCC_MSS_SNOC_AXI_CLK>, 2186 + <&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>, 2187 + <&rpmcc RPM_SMD_PCNOC_CLK>, 2188 + <&rpmcc RPM_SMD_QDSS_CLK>; 2189 + clock-names = "iface", "bus", "mem", "xo", "gpll0_mss", 2190 + "snoc_axi", "mnoc_axi", "pnoc", "qdss"; 2191 + 2192 + resets = <&gcc GCC_MSS_RESTART>; 2193 + reset-names = "mss_restart"; 2194 + 2195 + power-domains = <&rpmpd MSM8996_VDDCX>, 2196 + <&rpmpd MSM8996_VDDMX>; 2197 + power-domain-names = "cx", "mx"; 2198 + 2199 + qcom,smem-states = <&mpss_smp2p_out 0>; 2200 + qcom,smem-state-names = "stop"; 2201 + 2202 + qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>; 2203 + 2204 + status = "disabled"; 2205 + 2206 + mba { 2207 + memory-region = <&mba_mem>; 2208 + }; 2209 + 2210 + mpss { 2211 + memory-region = <&mpss_mem>; 2212 + }; 2213 + 2214 + smd-edge { 2215 + interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>; 2216 + 2217 + label = "mpss"; 2218 + mboxes = <&apcs_glb 12>; 2219 + qcom,smd-edge = <0>; 2220 + qcom,remote-pid = <1>; 2221 + }; 2130 2222 }; 2131 2223 2132 2224 stm@3002000 { ··· 2892 2786 compatible = "qcom,i2c-qup-v2.2.1"; 2893 2787 reg = <0x07577000 0x1000>; 2894 2788 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 2895 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 2896 - <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>; 2897 - clock-names = "iface", "core"; 2789 + clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>, 2790 + <&gcc GCC_BLSP1_AHB_CLK>; 2791 + clock-names = "core", "iface"; 2898 2792 pinctrl-names = "default", "sleep"; 2899 2793 pinctrl-0 = <&blsp1_i2c3_default>; 2900 2794 pinctrl-1 = <&blsp1_i2c3_sleep>; ··· 2940 2834 compatible = "qcom,i2c-qup-v2.2.1"; 2941 2835 reg = <0x075b5000 0x1000>; 2942 2836 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 2943 - clocks = <&gcc GCC_BLSP2_AHB_CLK>, 2944 - <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>; 2945 - clock-names = "iface", "core"; 2837 + clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>, 2838 + <&gcc GCC_BLSP2_AHB_CLK>; 2839 + clock-names = "core", "iface"; 2946 2840 pinctrl-names = "default", "sleep"; 2947 2841 pinctrl-0 = <&blsp2_i2c1_default>; 2948 2842 pinctrl-1 = <&blsp2_i2c1_sleep>; ··· 2957 2851 compatible = "qcom,i2c-qup-v2.2.1"; 2958 2852 reg = <0x075b6000 0x1000>; 2959 2853 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 2960 - clocks = <&gcc GCC_BLSP2_AHB_CLK>, 2961 - <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>; 2962 - clock-names = "iface", "core"; 2854 + clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>, 2855 + <&gcc GCC_BLSP2_AHB_CLK>; 2856 + clock-names = "core", "iface"; 2963 2857 pinctrl-names = "default", "sleep"; 2964 2858 pinctrl-0 = <&blsp2_i2c2_default>; 2965 2859 pinctrl-1 = <&blsp2_i2c2_sleep>; ··· 2974 2868 compatible = "qcom,i2c-qup-v2.2.1"; 2975 2869 reg = <0x075b7000 0x1000>; 2976 2870 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 2977 - clocks = <&gcc GCC_BLSP2_AHB_CLK>, 2978 - <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>; 2979 - clock-names = "iface", "core"; 2871 + clocks = <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>, 2872 + <&gcc GCC_BLSP2_AHB_CLK>; 2873 + clock-names = "core", "iface"; 2980 2874 clock-frequency = <400000>; 2981 2875 pinctrl-names = "default", "sleep"; 2982 2876 pinctrl-0 = <&blsp2_i2c3_default>; ··· 2992 2886 compatible = "qcom,i2c-qup-v2.2.1"; 2993 2887 reg = <0x75b9000 0x1000>; 2994 2888 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 2995 - clocks = <&gcc GCC_BLSP2_AHB_CLK>, 2996 - <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>; 2997 - clock-names = "iface", "core"; 2889 + clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>, 2890 + <&gcc GCC_BLSP2_AHB_CLK>; 2891 + clock-names = "core", "iface"; 2998 2892 pinctrl-names = "default"; 2999 2893 pinctrl-0 = <&blsp2_i2c5_default>; 3000 2894 dmas = <&blsp2_dma 20>, <&blsp2_dma 21>; ··· 3008 2902 compatible = "qcom,i2c-qup-v2.2.1"; 3009 2903 reg = <0x75ba000 0x1000>; 3010 2904 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 3011 - clocks = <&gcc GCC_BLSP2_AHB_CLK>, 3012 - <&gcc GCC_BLSP2_QUP6_I2C_APPS_CLK>; 3013 - clock-names = "iface", "core"; 2905 + clocks = <&gcc GCC_BLSP2_QUP6_I2C_APPS_CLK>, 2906 + <&gcc GCC_BLSP2_AHB_CLK>; 2907 + clock-names = "core", "iface"; 3014 2908 pinctrl-names = "default", "sleep"; 3015 2909 pinctrl-0 = <&blsp2_i2c6_default>; 3016 2910 pinctrl-1 = <&blsp2_i2c6_sleep>; ··· 3129 3023 reg = <0x09300000 0x80000>; 3130 3024 3131 3025 interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>, 3132 - <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, 3133 - <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, 3134 - <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>, 3135 - <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>; 3026 + <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 3027 + <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 3028 + <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 3029 + <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 3136 3030 interrupt-names = "wdog", "fatal", "ready", 3137 3031 "handover", "stop-ack"; 3138 3032 3139 3033 clocks = <&rpmcc RPM_SMD_BB_CLK1>; 3140 3034 clock-names = "xo"; 3141 3035 3142 - memory-region = <&adsp_region>; 3036 + memory-region = <&adsp_mem>; 3143 3037 3144 - qcom,smem-states = <&smp2p_adsp_out 0>; 3038 + qcom,smem-states = <&adsp_smp2p_out 0>; 3145 3039 qcom,smem-state-names = "stop"; 3146 3040 3147 3041 power-domains = <&rpmpd MSM8996_VDDCX>;
+31
arch/arm64/boot/dts/qcom/msm8998-oneplus-common.dtsi
··· 188 188 }; 189 189 }; 190 190 191 + &blsp1_i2c6 { 192 + status = "okay"; 193 + 194 + nfc@28 { 195 + compatible = "nxp,nxp-nci-i2c"; 196 + reg = <0x28>; 197 + 198 + interrupt-parent = <&tlmm>; 199 + interrupts = <92 IRQ_TYPE_LEVEL_HIGH>; 200 + 201 + enable-gpios = <&tlmm 116 GPIO_ACTIVE_HIGH>; 202 + 203 + pinctrl-names = "default"; 204 + pinctrl-0 = <&nfc_int_active &nfc_enable_active>; 205 + }; 206 + }; 207 + 191 208 &blsp1_uart3 { 192 209 status = "okay"; 193 210 ··· 477 460 pins = "gpio89"; 478 461 function = "gpio"; 479 462 drive-strength = <8>; 463 + bias-pull-up; 464 + }; 465 + 466 + nfc_int_active: nfc-int-active { 467 + pins = "gpio92"; 468 + function = "gpio"; 469 + drive-strength = <6>; 470 + bias-pull-up; 471 + }; 472 + 473 + nfc_enable_active: nfc-enable-active { 474 + pins = "gpio12", "gpio116"; 475 + function = "gpio"; 476 + drive-strength = <6>; 480 477 bias-pull-up; 481 478 }; 482 479 };
+15
arch/arm64/boot/dts/qcom/msm8998.dtsi
··· 815 815 816 816 clock-names = "xo", "sleep_clk"; 817 817 clocks = <&xo>, <&sleep_clk>; 818 + 819 + /* 820 + * The hypervisor typically configures the memory region where these clocks 821 + * reside as read-only for the HLOS. If the HLOS tried to enable or disable 822 + * these clocks on a device with such configuration (e.g. because they are 823 + * enabled but unused during boot-up), the device will most likely decide 824 + * to reboot. 825 + * In light of that, we are conservative here and we list all such clocks 826 + * as protected. The board dts (or a user-supplied dts) can override the 827 + * list of protected clocks if it differs from the norm, and it is in fact 828 + * desired for the HLOS to manage these clocks 829 + */ 830 + protected-clocks = <AGGRE2_SNOC_NORTH_AXI>, 831 + <SSC_XO>, 832 + <SSC_CNOC_AHBS_CLK>; 818 833 }; 819 834 820 835 rpm_msg_ram: sram@778000 {
+31
arch/arm64/boot/dts/qcom/pm8350.dtsi
··· 6 6 #include <dt-bindings/interrupt-controller/irq.h> 7 7 #include <dt-bindings/spmi/spmi.h> 8 8 9 + / { 10 + thermal-zones { 11 + pm8350_thermal: pm8350c-thermal { 12 + polling-delay-passive = <100>; 13 + polling-delay = <0>; 14 + thermal-sensors = <&pm8350_temp_alarm>; 15 + 16 + trips { 17 + pm8350_trip0: trip0 { 18 + temperature = <95000>; 19 + hysteresis = <0>; 20 + type = "passive"; 21 + }; 22 + 23 + pm8350_crit: pm8350c-crit { 24 + temperature = <115000>; 25 + hysteresis = <0>; 26 + type = "critical"; 27 + }; 28 + }; 29 + }; 30 + }; 31 + }; 32 + 9 33 &spmi_bus { 10 34 pm8350: pmic@1 { 11 35 compatible = "qcom,pm8350", "qcom,spmi-pmic"; 12 36 reg = <0x1 SPMI_USID>; 13 37 #address-cells = <1>; 14 38 #size-cells = <0>; 39 + 40 + pm8350_temp_alarm: temp-alarm@a00 { 41 + compatible = "qcom,spmi-temp-alarm"; 42 + reg = <0xa00>; 43 + interrupts = <0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 44 + #thermal-sensor-cells = <0>; 45 + }; 15 46 16 47 pm8350_gpios: gpio@8800 { 17 48 compatible = "qcom,pm8350-gpio";
+31
arch/arm64/boot/dts/qcom/pm8350b.dtsi
··· 6 6 #include <dt-bindings/interrupt-controller/irq.h> 7 7 #include <dt-bindings/spmi/spmi.h> 8 8 9 + / { 10 + thermal-zones { 11 + pm8350b_thermal: pm8350c-thermal { 12 + polling-delay-passive = <100>; 13 + polling-delay = <0>; 14 + thermal-sensors = <&pm8350b_temp_alarm>; 15 + 16 + trips { 17 + pm8350b_trip0: trip0 { 18 + temperature = <95000>; 19 + hysteresis = <0>; 20 + type = "passive"; 21 + }; 22 + 23 + pm8350b_crit: pm8350c-crit { 24 + temperature = <115000>; 25 + hysteresis = <0>; 26 + type = "critical"; 27 + }; 28 + }; 29 + }; 30 + }; 31 + }; 32 + 9 33 &spmi_bus { 10 34 pm8350b: pmic@3 { 11 35 compatible = "qcom,pm8350b", "qcom,spmi-pmic"; 12 36 reg = <0x3 SPMI_USID>; 13 37 #address-cells = <1>; 14 38 #size-cells = <0>; 39 + 40 + pm8350b_temp_alarm: temp-alarm@a00 { 41 + compatible = "qcom,spmi-temp-alarm"; 42 + reg = <0xa00>; 43 + interrupts = <0x3 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 44 + #thermal-sensor-cells = <0>; 45 + }; 15 46 16 47 pm8350b_gpios: gpio@8800 { 17 48 compatible = "qcom,pm8350b-gpio";
+24 -15
arch/arm64/boot/dts/qcom/pm8350c.dtsi
··· 29 29 interrupt-controller; 30 30 #interrupt-cells = <2>; 31 31 }; 32 + 33 + pm8350c_pwm: pwm@e800 { 34 + compatible = "qcom,pm8350c-pwm"; 35 + reg = <0xe800>; 36 + #pwm-cells = <2>; 37 + status = "disabled"; 38 + }; 32 39 }; 33 40 }; 34 41 35 - &thermal_zones { 36 - pm8350c_thermal: pm8350c-thermal { 37 - polling-delay-passive = <100>; 38 - polling-delay = <0>; 39 - thermal-sensors = <&pm8350c_temp_alarm>; 42 + / { 43 + thermal-zones { 44 + pm8350c_thermal: pm8350c-thermal { 45 + polling-delay-passive = <100>; 46 + polling-delay = <0>; 47 + thermal-sensors = <&pm8350c_temp_alarm>; 40 48 41 - trips { 42 - pm8350c_trip0: trip0 { 43 - temperature = <95000>; 44 - hysteresis = <0>; 45 - type = "passive"; 46 - }; 49 + trips { 50 + pm8350c_trip0: trip0 { 51 + temperature = <95000>; 52 + hysteresis = <0>; 53 + type = "passive"; 54 + }; 47 55 48 - pm8350c_crit: pm8350c-crit { 49 - temperature = <115000>; 50 - hysteresis = <0>; 51 - type = "critical"; 56 + pm8350c_crit: pm8350c-crit { 57 + temperature = <115000>; 58 + hysteresis = <0>; 59 + type = "critical"; 60 + }; 52 61 }; 53 62 }; 54 63 };
+59
arch/arm64/boot/dts/qcom/pm8450.dtsi
··· 1 + // SPDX-License-Identifier: BSD-3-Clause 2 + /* 3 + * Copyright (c) 2022, Linaro Limited 4 + */ 5 + 6 + #include <dt-bindings/interrupt-controller/irq.h> 7 + #include <dt-bindings/spmi/spmi.h> 8 + 9 + / { 10 + thermal-zones { 11 + pm8450-thermal { 12 + polling-delay-passive = <100>; 13 + polling-delay = <0>; 14 + 15 + thermal-sensors = <&pm8450_temp_alarm>; 16 + 17 + trips { 18 + trip0 { 19 + temperature = <95000>; 20 + hysteresis = <0>; 21 + type = "passive"; 22 + }; 23 + 24 + trip1 { 25 + temperature = <115000>; 26 + hysteresis = <0>; 27 + type = "hot"; 28 + }; 29 + }; 30 + }; 31 + }; 32 + }; 33 + 34 + 35 + &spmi_bus { 36 + pm8450: pmic@7 { 37 + compatible = "qcom,pm8450", "qcom,spmi-pmic"; 38 + reg = <0x7 SPMI_USID>; 39 + #address-cells = <1>; 40 + #size-cells = <0>; 41 + 42 + pm8450_temp_alarm: temp-alarm@a00 { 43 + compatible = "qcom,spmi-temp-alarm"; 44 + reg = <0xa00>; 45 + interrupts = <0x7 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 46 + #thermal-sensor-cells = <0>; 47 + }; 48 + 49 + pm8450_gpios: gpio@8800 { 50 + compatible = "qcom,pm8450-gpio", "qcom,spmi-gpio"; 51 + reg = <0x8800>; 52 + gpio-controller; 53 + gpio-ranges = <&pm8450_gpios 0 0 4>; 54 + #gpio-cells = <2>; 55 + interrupt-controller; 56 + #interrupt-cells = <2>; 57 + }; 58 + }; 59 + };
+17 -15
arch/arm64/boot/dts/qcom/pmr735a.dtsi
··· 32 32 }; 33 33 }; 34 34 35 - &thermal_zones { 36 - pmr735a_thermal: pmr735a-thermal { 37 - polling-delay-passive = <100>; 38 - polling-delay = <0>; 39 - thermal-sensors = <&pmr735a_temp_alarm>; 35 + / { 36 + thermal-zones { 37 + pmr735a_thermal: pmr735a-thermal { 38 + polling-delay-passive = <100>; 39 + polling-delay = <0>; 40 + thermal-sensors = <&pmr735a_temp_alarm>; 40 41 41 - trips { 42 - pmr735a_trip0: trip0 { 43 - temperature = <95000>; 44 - hysteresis = <0>; 45 - type = "passive"; 46 - }; 42 + trips { 43 + pmr735a_trip0: trip0 { 44 + temperature = <95000>; 45 + hysteresis = <0>; 46 + type = "passive"; 47 + }; 47 48 48 - pmr735a_crit: pmr735a-crit { 49 - temperature = <115000>; 50 - hysteresis = <0>; 51 - type = "critical"; 49 + pmr735a_crit: pmr735a-crit { 50 + temperature = <115000>; 51 + hysteresis = <0>; 52 + type = "critical"; 53 + }; 52 54 }; 53 55 }; 54 56 };
+31
arch/arm64/boot/dts/qcom/pmr735b.dtsi
··· 6 6 #include <dt-bindings/interrupt-controller/irq.h> 7 7 #include <dt-bindings/spmi/spmi.h> 8 8 9 + / { 10 + thermal-zones { 11 + pmr735a_thermal: pmr735a-thermal { 12 + polling-delay-passive = <100>; 13 + polling-delay = <0>; 14 + thermal-sensors = <&pmr735b_temp_alarm>; 15 + 16 + trips { 17 + pmr735b_trip0: trip0 { 18 + temperature = <95000>; 19 + hysteresis = <0>; 20 + type = "passive"; 21 + }; 22 + 23 + pmr735b_crit: pmr735a-crit { 24 + temperature = <115000>; 25 + hysteresis = <0>; 26 + type = "critical"; 27 + }; 28 + }; 29 + }; 30 + }; 31 + }; 32 + 9 33 &spmi_bus { 10 34 pmr735b: pmic@5 { 11 35 compatible = "qcom,pmr735b", "qcom,spmi-pmic"; 12 36 reg = <0x5 SPMI_USID>; 13 37 #address-cells = <1>; 14 38 #size-cells = <0>; 39 + 40 + pmr735b_temp_alarm: temp-alarm@a00 { 41 + compatible = "qcom,spmi-temp-alarm"; 42 + reg = <0xa00>; 43 + interrupts = <0x5 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; 44 + #thermal-sensor-cells = <0>; 45 + }; 15 46 16 47 pmr735b_gpios: gpio@8800 { 17 48 compatible = "qcom,pmr735b-gpio";
+47 -47
arch/arm64/boot/dts/qcom/qcs404.dtsi
··· 226 226 qcom,glink-channels = "rpm_requests"; 227 227 228 228 rpmcc: clock-controller { 229 - compatible = "qcom,rpmcc-qcs404"; 229 + compatible = "qcom,rpmcc-qcs404", "qcom,rpmcc"; 230 230 #clock-cells = <1>; 231 231 }; 232 232 ··· 823 823 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 824 824 clocks = <&gcc GCC_BLSP1_UART0_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 825 825 clock-names = "core", "iface"; 826 - dmas = <&blsp1_dma 1>, <&blsp1_dma 0>; 827 - dma-names = "rx", "tx"; 826 + dmas = <&blsp1_dma 0>, <&blsp1_dma 1>; 827 + dma-names = "tx", "rx"; 828 828 pinctrl-names = "default"; 829 829 pinctrl-0 = <&blsp1_uart0_default>; 830 830 status = "disabled"; ··· 836 836 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 837 837 clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 838 838 clock-names = "core", "iface"; 839 - dmas = <&blsp1_dma 3>, <&blsp1_dma 2>; 840 - dma-names = "rx", "tx"; 839 + dmas = <&blsp1_dma 2>, <&blsp1_dma 3>; 840 + dma-names = "tx", "rx"; 841 841 pinctrl-names = "default"; 842 842 pinctrl-0 = <&blsp1_uart1_default>; 843 843 status = "disabled"; ··· 849 849 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; 850 850 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 851 851 clock-names = "core", "iface"; 852 - dmas = <&blsp1_dma 5>, <&blsp1_dma 4>; 853 - dma-names = "rx", "tx"; 852 + dmas = <&blsp1_dma 4>, <&blsp1_dma 5>; 853 + dma-names = "tx", "rx"; 854 854 pinctrl-names = "default"; 855 855 pinctrl-0 = <&blsp1_uart2_default>; 856 856 status = "okay"; ··· 903 903 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 904 904 clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 905 905 clock-names = "core", "iface"; 906 - dmas = <&blsp1_dma 7>, <&blsp1_dma 6>; 907 - dma-names = "rx", "tx"; 906 + dmas = <&blsp1_dma 6>, <&blsp1_dma 7>; 907 + dma-names = "tx", "rx"; 908 908 pinctrl-names = "default"; 909 909 pinctrl-0 = <&blsp1_uart3_default>; 910 910 status = "disabled"; ··· 914 914 compatible = "qcom,i2c-qup-v2.2.1"; 915 915 reg = <0x078b5000 0x600>; 916 916 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 917 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 918 - <&gcc GCC_BLSP1_QUP0_I2C_APPS_CLK>; 919 - clock-names = "iface", "core"; 917 + clocks = <&gcc GCC_BLSP1_QUP0_I2C_APPS_CLK>, 918 + <&gcc GCC_BLSP1_AHB_CLK>; 919 + clock-names = "core", "iface"; 920 920 pinctrl-names = "default"; 921 921 pinctrl-0 = <&blsp1_i2c0_default>; 922 922 #address-cells = <1>; ··· 928 928 compatible = "qcom,spi-qup-v2.2.1"; 929 929 reg = <0x078b5000 0x600>; 930 930 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 931 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 932 - <&gcc GCC_BLSP1_QUP0_SPI_APPS_CLK>; 933 - clock-names = "iface", "core"; 931 + clocks = <&gcc GCC_BLSP1_QUP0_SPI_APPS_CLK>, 932 + <&gcc GCC_BLSP1_AHB_CLK>; 933 + clock-names = "core", "iface"; 934 934 pinctrl-names = "default"; 935 935 pinctrl-0 = <&blsp1_spi0_default>; 936 936 #address-cells = <1>; ··· 942 942 compatible = "qcom,i2c-qup-v2.2.1"; 943 943 reg = <0x078b6000 0x600>; 944 944 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 945 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 946 - <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>; 947 - clock-names = "iface", "core"; 945 + clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>, 946 + <&gcc GCC_BLSP1_AHB_CLK>; 947 + clock-names = "core", "iface"; 948 948 pinctrl-names = "default"; 949 949 pinctrl-0 = <&blsp1_i2c1_default>; 950 950 #address-cells = <1>; ··· 956 956 compatible = "qcom,spi-qup-v2.2.1"; 957 957 reg = <0x078b6000 0x600>; 958 958 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 959 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 960 - <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>; 961 - clock-names = "iface", "core"; 959 + clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>, 960 + <&gcc GCC_BLSP1_AHB_CLK>; 961 + clock-names = "core", "iface"; 962 962 pinctrl-names = "default"; 963 963 pinctrl-0 = <&blsp1_spi1_default>; 964 964 #address-cells = <1>; ··· 970 970 compatible = "qcom,i2c-qup-v2.2.1"; 971 971 reg = <0x078b7000 0x600>; 972 972 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 973 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 974 - <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>; 975 - clock-names = "iface", "core"; 973 + clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, 974 + <&gcc GCC_BLSP1_AHB_CLK>; 975 + clock-names = "core", "iface"; 976 976 pinctrl-names = "default"; 977 977 pinctrl-0 = <&blsp1_i2c2_default>; 978 978 #address-cells = <1>; ··· 984 984 compatible = "qcom,spi-qup-v2.2.1"; 985 985 reg = <0x078b7000 0x600>; 986 986 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 987 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 988 - <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>; 989 - clock-names = "iface", "core"; 987 + clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>, 988 + <&gcc GCC_BLSP1_AHB_CLK>; 989 + clock-names = "core", "iface"; 990 990 pinctrl-names = "default"; 991 991 pinctrl-0 = <&blsp1_spi2_default>; 992 992 #address-cells = <1>; ··· 998 998 compatible = "qcom,i2c-qup-v2.2.1"; 999 999 reg = <0x078b8000 0x600>; 1000 1000 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 1001 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1002 - <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>; 1003 - clock-names = "iface", "core"; 1001 + clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>, 1002 + <&gcc GCC_BLSP1_AHB_CLK>; 1003 + clock-names = "core", "iface"; 1004 1004 pinctrl-names = "default"; 1005 1005 pinctrl-0 = <&blsp1_i2c3_default>; 1006 1006 #address-cells = <1>; ··· 1012 1012 compatible = "qcom,spi-qup-v2.2.1"; 1013 1013 reg = <0x078b8000 0x600>; 1014 1014 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 1015 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1016 - <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>; 1017 - clock-names = "iface", "core"; 1015 + clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>, 1016 + <&gcc GCC_BLSP1_AHB_CLK>; 1017 + clock-names = "core", "iface"; 1018 1018 pinctrl-names = "default"; 1019 1019 pinctrl-0 = <&blsp1_spi3_default>; 1020 1020 #address-cells = <1>; ··· 1026 1026 compatible = "qcom,i2c-qup-v2.2.1"; 1027 1027 reg = <0x078b9000 0x600>; 1028 1028 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 1029 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1030 - <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>; 1031 - clock-names = "iface", "core"; 1029 + clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>, 1030 + <&gcc GCC_BLSP1_AHB_CLK>; 1031 + clock-names = "core", "iface"; 1032 1032 pinctrl-names = "default"; 1033 1033 pinctrl-0 = <&blsp1_i2c4_default>; 1034 1034 #address-cells = <1>; ··· 1040 1040 compatible = "qcom,spi-qup-v2.2.1"; 1041 1041 reg = <0x078b9000 0x600>; 1042 1042 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 1043 - clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1044 - <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>; 1045 - clock-names = "iface", "core"; 1043 + clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>, 1044 + <&gcc GCC_BLSP1_AHB_CLK>; 1045 + clock-names = "core", "iface"; 1046 1046 pinctrl-names = "default"; 1047 1047 pinctrl-0 = <&blsp1_spi4_default>; 1048 1048 #address-cells = <1>; ··· 1067 1067 interrupts = <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>; 1068 1068 clocks = <&gcc GCC_BLSP2_UART0_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>; 1069 1069 clock-names = "core", "iface"; 1070 - dmas = <&blsp2_dma 1>, <&blsp2_dma 0>; 1071 - dma-names = "rx", "tx"; 1070 + dmas = <&blsp2_dma 0>, <&blsp2_dma 1>; 1071 + dma-names = "tx", "rx"; 1072 1072 pinctrl-names = "default"; 1073 1073 pinctrl-0 = <&blsp2_uart0_default>; 1074 1074 status = "disabled"; ··· 1078 1078 compatible = "qcom,i2c-qup-v2.2.1"; 1079 1079 reg = <0x07af5000 0x600>; 1080 1080 interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>; 1081 - clocks = <&gcc GCC_BLSP2_AHB_CLK>, 1082 - <&gcc GCC_BLSP2_QUP0_I2C_APPS_CLK>; 1083 - clock-names = "iface", "core"; 1081 + clocks = <&gcc GCC_BLSP2_QUP0_I2C_APPS_CLK>, 1082 + <&gcc GCC_BLSP2_AHB_CLK>; 1083 + clock-names = "core", "iface"; 1084 1084 pinctrl-names = "default"; 1085 1085 pinctrl-0 = <&blsp2_i2c0_default>; 1086 1086 #address-cells = <1>; ··· 1092 1092 compatible = "qcom,spi-qup-v2.2.1"; 1093 1093 reg = <0x07af5000 0x600>; 1094 1094 interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>; 1095 - clocks = <&gcc GCC_BLSP2_AHB_CLK>, 1096 - <&gcc GCC_BLSP2_QUP0_SPI_APPS_CLK>; 1097 - clock-names = "iface", "core"; 1095 + clocks = <&gcc GCC_BLSP2_QUP0_SPI_APPS_CLK>, 1096 + <&gcc GCC_BLSP2_AHB_CLK>; 1097 + clock-names = "core", "iface"; 1098 1098 pinctrl-names = "default"; 1099 1099 pinctrl-0 = <&blsp2_spi0_default>; 1100 1100 #address-cells = <1>;
+1 -1
arch/arm64/boot/dts/qcom/qrb5165-rb5.dts
··· 29 29 }; 30 30 31 31 /* Fixed crystal oscillator dedicated to MCP2518FD */ 32 - clk40M: can_clock { 32 + clk40M: can-clock { 33 33 compatible = "fixed-clock"; 34 34 #clock-cells = <0>; 35 35 clock-frequency = <40000000>;
+193
arch/arm64/boot/dts/qcom/sa8155p-adp.dts
··· 47 47 48 48 vin-supply = <&vreg_3p3>; 49 49 }; 50 + 51 + mtl_rx_setup: rx-queues-config { 52 + snps,rx-queues-to-use = <1>; 53 + snps,rx-sched-sp; 54 + 55 + queue0 { 56 + snps,dcb-algorithm; 57 + snps,map-to-dma-channel = <0x0>; 58 + snps,route-up; 59 + snps,priority = <0x1>; 60 + }; 61 + }; 62 + 63 + mtl_tx_setup: tx-queues-config { 64 + snps,tx-queues-to-use = <1>; 65 + snps,tx-sched-wrr; 66 + 67 + queue0 { 68 + snps,weight = <0x10>; 69 + snps,dcb-algorithm; 70 + snps,priority = <0x0>; 71 + }; 72 + }; 50 73 }; 51 74 52 75 &apps_rsc { ··· 326 303 }; 327 304 }; 328 305 306 + &ethernet { 307 + status = "okay"; 308 + 309 + snps,reset-gpio = <&tlmm 79 GPIO_ACTIVE_LOW>; 310 + snps,reset-active-low; 311 + snps,reset-delays-us = <0 11000 70000>; 312 + 313 + snps,ptp-ref-clk-rate = <250000000>; 314 + snps,ptp-req-clk-rate = <96000000>; 315 + 316 + snps,mtl-rx-config = <&mtl_rx_setup>; 317 + snps,mtl-tx-config = <&mtl_tx_setup>; 318 + 319 + pinctrl-names = "default"; 320 + pinctrl-0 = <&ethernet_defaults>; 321 + 322 + phy-handle = <&rgmii_phy>; 323 + phy-mode = "rgmii"; 324 + max-speed = <1000>; 325 + 326 + mdio { 327 + #address-cells = <0x1>; 328 + #size-cells = <0x0>; 329 + 330 + compatible = "snps,dwmac-mdio"; 331 + 332 + /* Micrel KSZ9031RNZ PHY */ 333 + rgmii_phy: phy@7 { 334 + reg = <0x7>; 335 + 336 + interrupt-parent = <&tlmm>; 337 + interrupts-extended = <&tlmm 124 IRQ_TYPE_EDGE_FALLING>; /* phy intr */ 338 + device_type = "ethernet-phy"; 339 + compatible = "ethernet-phy-ieee802.3-c22"; 340 + }; 341 + }; 342 + }; 343 + 329 344 &qupv3_id_1 { 330 345 status = "okay"; 331 346 }; ··· 376 315 &remoteproc_cdsp { 377 316 status = "okay"; 378 317 firmware-name = "qcom/sa8155p/cdsp.mdt"; 318 + }; 319 + 320 + &sdhc_2 { 321 + status = "okay"; 322 + 323 + cd-gpios = <&tlmm 4 GPIO_ACTIVE_LOW>; 324 + pinctrl-names = "default", "sleep"; 325 + pinctrl-0 = <&sdc2_on>; 326 + pinctrl-1 = <&sdc2_off>; 327 + vqmmc-supply = <&vreg_l13c_2p96>; /* IO line power */ 328 + vmmc-supply = <&vreg_l17a_2p96>; /* Card power line */ 329 + bus-width = <4>; 330 + no-sdio; 331 + no-emmc; 379 332 }; 380 333 381 334 &uart2 { ··· 462 387 vdda-pll-supply = <&vdda_usb_ss_dp_core_1>; 463 388 }; 464 389 390 + &pcie0 { 391 + status = "okay"; 392 + }; 393 + 394 + &pcie0_phy { 395 + status = "okay"; 396 + vdda-phy-supply = <&vreg_l18c_0p88>; 397 + vdda-pll-supply = <&vreg_l8c_1p2>; 398 + }; 399 + 400 + &pcie1_phy { 401 + vdda-phy-supply = <&vreg_l18c_0p88>; 402 + vdda-pll-supply = <&vreg_l8c_1p2>; 403 + }; 404 + 465 405 &tlmm { 466 406 gpio-reserved-ranges = <0 4>; 407 + 408 + sdc2_on: sdc2_on { 409 + clk { 410 + pins = "sdc2_clk"; 411 + bias-disable; /* No pull */ 412 + drive-strength = <16>; /* 16 MA */ 413 + }; 414 + 415 + cmd { 416 + pins = "sdc2_cmd"; 417 + bias-pull-up; /* pull up */ 418 + drive-strength = <16>; /* 16 MA */ 419 + }; 420 + 421 + data { 422 + pins = "sdc2_data"; 423 + bias-pull-up; /* pull up */ 424 + drive-strength = <16>; /* 16 MA */ 425 + }; 426 + 427 + sd-cd { 428 + pins = "gpio96"; 429 + function = "gpio"; 430 + bias-pull-up; /* pull up */ 431 + drive-strength = <2>; /* 2 MA */ 432 + }; 433 + }; 434 + 435 + sdc2_off: sdc2_off { 436 + clk { 437 + pins = "sdc2_clk"; 438 + bias-disable; /* No pull */ 439 + drive-strength = <2>; /* 2 MA */ 440 + }; 441 + 442 + cmd { 443 + pins = "sdc2_cmd"; 444 + bias-pull-up; /* pull up */ 445 + drive-strength = <2>; /* 2 MA */ 446 + }; 447 + 448 + data { 449 + pins = "sdc2_data"; 450 + bias-pull-up; /* pull up */ 451 + drive-strength = <2>; /* 2 MA */ 452 + }; 453 + 454 + sd-cd { 455 + pins = "gpio96"; 456 + function = "gpio"; 457 + bias-pull-up; /* pull up */ 458 + drive-strength = <2>; /* 2 MA */ 459 + }; 460 + }; 467 461 468 462 usb2phy_ac_en1_default: usb2phy_ac_en1_default { 469 463 mux { ··· 549 405 function = "usb2phy_ac"; 550 406 bias-disable; 551 407 drive-strength = <2>; 408 + }; 409 + }; 410 + 411 + ethernet_defaults: ethernet-defaults { 412 + mdc { 413 + pins = "gpio7"; 414 + function = "rgmii"; 415 + bias-pull-up; 416 + }; 417 + 418 + mdio { 419 + pins = "gpio59"; 420 + function = "rgmii"; 421 + bias-pull-up; 422 + }; 423 + 424 + rgmii-rx { 425 + pins = "gpio117", "gpio118", "gpio119", "gpio120", "gpio115", "gpio116"; 426 + function = "rgmii"; 427 + bias-disable; 428 + drive-strength = <2>; 429 + }; 430 + 431 + rgmii-tx { 432 + pins = "gpio122", "gpio4", "gpio5", "gpio6", "gpio114", "gpio121"; 433 + function = "rgmii"; 434 + bias-pull-up; 435 + drive-strength = <16>; 436 + }; 437 + 438 + phy-intr { 439 + pins = "gpio124"; 440 + function = "emac_phy"; 441 + bias-disable; 442 + drive-strength = <8>; 443 + }; 444 + 445 + pps { 446 + pins = "gpio81"; 447 + function = "emac_pps"; 448 + bias-disable; 449 + drive-strength = <8>; 450 + }; 451 + 452 + phy-reset { 453 + pins = "gpio79"; 454 + function = "gpio"; 455 + bias-pull-up; 456 + drive-strength = <16>; 552 457 }; 553 458 }; 554 459 };
+1 -10
arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
··· 5 5 * Copyright 2020 Google LLC. 6 6 */ 7 7 8 - #include "sc7180.dtsi" 9 - 10 - ap_ec_spi: &spi6 {}; 11 - ap_h1_spi: &spi0 {}; 12 - 13 8 #include "sc7180-trogdor.dtsi" 14 9 #include "sc7180-trogdor-ti-sn65dsi86.dtsi" 15 10 16 - /* Deleted nodes from trogdor.dtsi */ 11 + /* Deleted nodes from sc7180-trogdor.dtsi */ 17 12 18 13 /delete-node/ &alc5682; 19 14 /delete-node/ &pp3300_codec; ··· 104 109 105 110 vdd-supply = <&pp3300_ts>; 106 111 }; 107 - }; 108 - 109 - &i2c7 { 110 - status = "disabled"; 111 112 }; 112 113 113 114 &i2c9 {
+1 -1
arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar-r2.dts
··· 7 7 8 8 /dts-v1/; 9 9 10 - #include "sc7180.dtsi" 10 + #include "sc7180-trogdor.dtsi" 11 11 #include "sc7180-trogdor-ti-sn65dsi86.dtsi" 12 12 #include "sc7180-trogdor-homestar.dtsi" 13 13
+1 -1
arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar-r3.dts
··· 7 7 8 8 /dts-v1/; 9 9 10 - #include "sc7180.dtsi" 10 + #include "sc7180-trogdor.dtsi" 11 11 #include "sc7180-trogdor-ti-sn65dsi86.dtsi" 12 12 #include "sc7180-trogdor-homestar.dtsi" 13 13
+1 -1
arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar-r4.dts
··· 7 7 8 8 /dts-v1/; 9 9 10 - #include "sc7180.dtsi" 10 + #include "sc7180-trogdor.dtsi" 11 11 #include "sc7180-trogdor-parade-ps8640.dtsi" 12 12 #include "sc7180-trogdor-homestar.dtsi" 13 13
-7
arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi
··· 5 5 * Copyright 2021 Google LLC. 6 6 */ 7 7 8 - ap_ec_spi: &spi6 {}; 9 - ap_h1_spi: &spi0 {}; 10 - 11 8 #include "sc7180-trogdor.dtsi" 12 9 13 10 / { ··· 83 86 }; 84 87 }; 85 88 }; 86 - }; 87 - 88 - &ap_tp_i2c { 89 - status = "disabled"; 90 89 }; 91 90 92 91 ap_ts_pen_1v8: &i2c4 {
+1 -1
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-nots-r5.dts
··· 7 7 8 8 /dts-v1/; 9 9 10 - #include "sc7180.dtsi" 10 + #include "sc7180-trogdor.dtsi" 11 11 #include "sc7180-trogdor-ti-sn65dsi86.dtsi" 12 12 #include "sc7180-trogdor-lazor.dtsi" 13 13 #include "sc7180-trogdor-lte-sku.dtsi"
+2 -2
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-nots-r9.dts
··· 7 7 8 8 /dts-v1/; 9 9 10 - #include "sc7180.dtsi" 10 + #include "sc7180-trogdor.dtsi" 11 11 #include "sc7180-trogdor-parade-ps8640.dtsi" 12 12 #include "sc7180-trogdor-lazor.dtsi" 13 13 #include "sc7180-trogdor-lte-sku.dtsi" ··· 20 20 /delete-node/&ap_ts; 21 21 22 22 &panel { 23 - compatible = "innolux,n116bca-ea1", "innolux,n116bge"; 23 + compatible = "edp-panel"; 24 24 }; 25 25 26 26 &sdhc_2 {
+1 -1
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-r4.dts
··· 7 7 8 8 /dts-v1/; 9 9 10 - #include "sc7180.dtsi" 10 + #include "sc7180-trogdor.dtsi" 11 11 #include "sc7180-trogdor-ti-sn65dsi86.dtsi" 12 12 #include "sc7180-trogdor-lazor.dtsi" 13 13 #include "sc7180-trogdor-lte-sku.dtsi"
+1 -1
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-r9.dts
··· 7 7 8 8 /dts-v1/; 9 9 10 - #include "sc7180.dtsi" 10 + #include "sc7180-trogdor.dtsi" 11 11 #include "sc7180-trogdor-parade-ps8640.dtsi" 12 12 #include "sc7180-trogdor-lazor.dtsi" 13 13 #include "sc7180-trogdor-lte-sku.dtsi"
+1 -1
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r0.dts
··· 7 7 8 8 /dts-v1/; 9 9 10 - #include "sc7180.dtsi" 10 + #include "sc7180-trogdor.dtsi" 11 11 #include "sc7180-trogdor-ti-sn65dsi86.dtsi" 12 12 #include "sc7180-trogdor-lazor.dtsi" 13 13
-4
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r1-lte.dts
··· 13 13 compatible = "google,lazor-rev1-sku0", "google,lazor-rev2-sku0", "qcom,sc7180"; 14 14 }; 15 15 16 - &ap_sar_sensor { 17 - status = "okay"; 18 - }; 19 - 20 16 &ap_sar_sensor_i2c { 21 17 status = "okay"; 22 18 };
+1 -1
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r1.dts
··· 7 7 8 8 /dts-v1/; 9 9 10 - #include "sc7180.dtsi" 10 + #include "sc7180-trogdor.dtsi" 11 11 #include "sc7180-trogdor-ti-sn65dsi86.dtsi" 12 12 #include "sc7180-trogdor-lazor.dtsi" 13 13
+1 -1
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r3-kb.dts
··· 7 7 8 8 /dts-v1/; 9 9 10 - #include "sc7180.dtsi" 10 + #include "sc7180-trogdor.dtsi" 11 11 #include "sc7180-trogdor-ti-sn65dsi86.dtsi" 12 12 #include "sc7180-trogdor-lazor.dtsi" 13 13 #include "sc7180-lite.dtsi"
+1 -5
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r3-lte.dts
··· 7 7 8 8 /dts-v1/; 9 9 10 - #include "sc7180.dtsi" 10 + #include "sc7180-trogdor.dtsi" 11 11 #include "sc7180-trogdor-ti-sn65dsi86.dtsi" 12 12 #include "sc7180-trogdor-lazor.dtsi" 13 13 #include "sc7180-trogdor-lte-sku.dtsi" ··· 18 18 "google,lazor-rev5-sku0", "google,lazor-rev6-sku0", 19 19 "google,lazor-rev7-sku0", "google,lazor-rev8-sku0", 20 20 "qcom,sc7180"; 21 - }; 22 - 23 - &ap_sar_sensor { 24 - status = "okay"; 25 21 }; 26 22 27 23 &ap_sar_sensor_i2c {
+1 -1
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r3.dts
··· 7 7 8 8 /dts-v1/; 9 9 10 - #include "sc7180.dtsi" 10 + #include "sc7180-trogdor.dtsi" 11 11 #include "sc7180-trogdor-ti-sn65dsi86.dtsi" 12 12 #include "sc7180-trogdor-lazor.dtsi" 13 13 #include "sc7180-lite.dtsi"
+1 -1
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r9-kb.dts
··· 7 7 8 8 /dts-v1/; 9 9 10 - #include "sc7180.dtsi" 10 + #include "sc7180-trogdor.dtsi" 11 11 #include "sc7180-trogdor-parade-ps8640.dtsi" 12 12 #include "sc7180-trogdor-lazor.dtsi" 13 13 #include "sc7180-lite.dtsi"
+1 -5
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r9-lte.dts
··· 7 7 8 8 /dts-v1/; 9 9 10 - #include "sc7180.dtsi" 10 + #include "sc7180-trogdor.dtsi" 11 11 #include "sc7180-trogdor-parade-ps8640.dtsi" 12 12 #include "sc7180-trogdor-lazor.dtsi" 13 13 #include "sc7180-trogdor-lte-sku.dtsi" ··· 15 15 / { 16 16 model = "Google Lazor (rev9+) with LTE"; 17 17 compatible = "google,lazor-sku0", "qcom,sc7180"; 18 - }; 19 - 20 - &ap_sar_sensor { 21 - status = "okay"; 22 18 }; 23 19 24 20 &ap_sar_sensor_i2c {
+1 -1
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r9.dts
··· 7 7 8 8 /dts-v1/; 9 9 10 - #include "sc7180.dtsi" 10 + #include "sc7180-trogdor.dtsi" 11 11 #include "sc7180-trogdor-parade-ps8640.dtsi" 12 12 #include "sc7180-trogdor-lazor.dtsi" 13 13 #include "sc7180-lite.dtsi"
+4 -3
arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor.dtsi
··· 5 5 * Copyright 2020 Google LLC. 6 6 */ 7 7 8 - ap_ec_spi: &spi6 {}; 9 - ap_h1_spi: &spi0 {}; 10 - 11 8 #include "sc7180-trogdor.dtsi" 12 9 13 10 &ap_sar_sensor { ··· 14 17 semtech,startup-sensor = <0>; 15 18 semtech,proxraw-strength = <8>; 16 19 semtech,avg-pos-strength = <64>; 20 + }; 21 + 22 + &ap_tp_i2c { 23 + status = "okay"; 17 24 }; 18 25 19 26 /*
+4 -5
arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi
··· 5 5 * Copyright 2020 Google LLC. 6 6 */ 7 7 8 - #include "sc7180.dtsi" 9 - 10 - ap_ec_spi: &spi6 {}; 11 - ap_h1_spi: &spi0 {}; 12 - 13 8 #include "sc7180-trogdor.dtsi" 14 9 #include "sc7180-trogdor-ti-sn65dsi86.dtsi" 15 10 ··· 29 34 30 35 &alc5682 { 31 36 realtek,dmic-clk-driving-high = "true"; 37 + }; 38 + 39 + &ap_tp_i2c { 40 + status = "okay"; 32 41 }; 33 42 34 43 &cpu6_alert0 {
+4 -5
arch/arm64/boot/dts/qcom/sc7180-trogdor-r1.dts
··· 7 7 8 8 /dts-v1/; 9 9 10 - #include "sc7180.dtsi" 11 - 12 - ap_ec_spi: &spi6 {}; 13 - ap_h1_spi: &spi0 {}; 14 - 15 10 #include "sc7180-trogdor.dtsi" 16 11 #include "sc7180-trogdor-ti-sn65dsi86.dtsi" 17 12 18 13 / { 19 14 model = "Google Trogdor (rev1+)"; 20 15 compatible = "google,trogdor", "qcom,sc7180"; 16 + }; 17 + 18 + &ap_tp_i2c { 19 + status = "okay"; 21 20 }; 22 21 23 22 ap_ts_pen_1v8: &i2c4 {
+4 -5
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
··· 11 11 #include <dt-bindings/regulator/qcom,rpmh-regulator.h> 12 12 #include <dt-bindings/sound/sc7180-lpass.h> 13 13 14 - /* PMICs depend on spmi_bus label and so must come after SoC */ 14 + #include "sc7180.dtsi" 15 + /* PMICs depend on spmi_bus label and so must come after sc7180.dtsi */ 15 16 #include "pm6150.dtsi" 16 17 #include "pm6150l.dtsi" 17 18 ··· 627 626 }; 628 627 }; 629 628 630 - &ap_ec_spi { 629 + ap_ec_spi: &spi6 { 631 630 status = "okay"; 632 631 cros_ec: ec@0 { 633 632 compatible = "google,cros-ec-spi"; ··· 676 675 }; 677 676 }; 678 677 679 - &ap_h1_spi { 678 + ap_h1_spi: &spi0 { 680 679 status = "okay"; 681 680 cr50: tpm@0 { 682 681 compatible = "google,cr50"; ··· 723 722 vdd-supply = <&pp3300_a>; 724 723 svdd-supply = <&pp1800_prox>; 725 724 726 - status = "disabled"; 727 725 label = "proximity-wifi"; 728 726 }; 729 727 }; 730 728 731 729 ap_tp_i2c: &i2c7 { 732 - status = "okay"; 733 730 clock-frequency = <400000>; 734 731 735 732 trackpad: trackpad@15 {
+1 -8
arch/arm64/boot/dts/qcom/sc7180.dtsi
··· 1421 1421 qcom,bcm-voters = <&apps_bcm_voter>; 1422 1422 }; 1423 1423 1424 - ipa_virt: interconnect@1e00000 { 1425 - compatible = "qcom,sc7180-ipa-virt"; 1426 - reg = <0 0x01e00000 0 0x1000>; 1427 - #interconnect-cells = <2>; 1428 - qcom,bcm-voters = <&apps_bcm_voter>; 1429 - }; 1430 - 1431 1424 ipa: ipa@1e40000 { 1432 1425 compatible = "qcom,sc7180-ipa"; 1433 1426 ··· 3515 3522 }; 3516 3523 }; 3517 3524 3518 - apps_bcm_voter: bcm_voter { 3525 + apps_bcm_voter: bcm-voter { 3519 3526 compatible = "qcom,bcm-voter"; 3520 3527 }; 3521 3528 };
+5 -2
arch/arm64/boot/dts/qcom/sc7280-crd.dts arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts
··· 11 11 #include "sc7280-idp-ec-h1.dtsi" 12 12 13 13 / { 14 - model = "Qualcomm Technologies, Inc. sc7280 CRD platform"; 15 - compatible = "qcom,sc7280-crd", "google,hoglin", "qcom,sc7280"; 14 + model = "Qualcomm Technologies, Inc. sc7280 CRD platform (rev3 - 4)"; 15 + compatible = "qcom,sc7280-crd", 16 + "google,hoglin-rev3", "google,hoglin-rev4", 17 + "google,piglin-rev3", "google,piglin-rev4", 18 + "qcom,sc7280"; 16 19 17 20 aliases { 18 21 serial0 = &uart5;
+365
arch/arm64/boot/dts/qcom/sc7280-herobrine-crd.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * sc7280 CRD 3+ board device tree source 4 + * 5 + * Copyright 2022 Google LLC. 6 + */ 7 + 8 + /dts-v1/; 9 + 10 + #include "sc7280-herobrine.dtsi" 11 + 12 + / { 13 + model = "Qualcomm Technologies, Inc. sc7280 CRD platform (rev5+)"; 14 + compatible = "google,hoglin", "qcom,sc7280"; 15 + 16 + /* FIXED REGULATORS */ 17 + 18 + /* 19 + * On most herobrine boards PPVAR_SYS directly provides VREG_EDP_BL. 20 + * However, on CRD there's an extra regulator in the way. Since this 21 + * is expected to be uncommon, we'll leave the "vreg_edp_bl" label 22 + * in the baseboard herobrine.dtsi point at "ppvar_sys" and then 23 + * make a "_crd" specific version here. 24 + */ 25 + vreg_edp_bl_crd: vreg-edp-bl-crd-regulator { 26 + compatible = "regulator-fixed"; 27 + regulator-name = "vreg_edp_bl_crd"; 28 + 29 + gpio = <&pm8350c_gpios 6 GPIO_ACTIVE_HIGH>; 30 + enable-active-high; 31 + pinctrl-names = "default"; 32 + pinctrl-0 = <&edp_bl_reg_en>; 33 + 34 + vin-supply = <&ppvar_sys>; 35 + }; 36 + }; 37 + 38 + /* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */ 39 + 40 + &apps_rsc { 41 + pmg1110-regulators { 42 + compatible = "qcom,pmg1110-rpmh-regulators"; 43 + qcom,pmic-id = "k"; 44 + 45 + vreg_s1k_1p0: smps1 { 46 + regulator-min-microvolt = <1010000>; 47 + regulator-max-microvolt = <1170000>; 48 + }; 49 + }; 50 + }; 51 + 52 + ap_tp_i2c: &i2c0 { 53 + status = "okay"; 54 + clock-frequency = <400000>; 55 + 56 + trackpad: trackpad@15 { 57 + compatible = "hid-over-i2c"; 58 + reg = <0x15>; 59 + pinctrl-names = "default"; 60 + pinctrl-0 = <&tp_int_odl>; 61 + 62 + interrupt-parent = <&tlmm>; 63 + interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 64 + 65 + post-power-on-delay-ms = <20>; 66 + hid-descr-addr = <0x0001>; 67 + vdd-supply = <&pp3300_z1>; 68 + 69 + wakeup-source; 70 + }; 71 + }; 72 + 73 + &ap_sar_sensor_i2c { 74 + status = "okay"; 75 + }; 76 + 77 + &ap_sar_sensor0 { 78 + status = "okay"; 79 + }; 80 + 81 + &ap_sar_sensor1 { 82 + status = "okay"; 83 + }; 84 + 85 + ap_ts_pen_1v8: &i2c13 { 86 + status = "okay"; 87 + clock-frequency = <400000>; 88 + 89 + ap_ts: touchscreen@5c { 90 + compatible = "hid-over-i2c"; 91 + reg = <0x5c>; 92 + pinctrl-names = "default"; 93 + pinctrl-0 = <&ts_int_conn>, <&ts_rst_conn>; 94 + 95 + interrupt-parent = <&tlmm>; 96 + interrupts = <55 IRQ_TYPE_LEVEL_LOW>; 97 + 98 + post-power-on-delay-ms = <500>; 99 + hid-descr-addr = <0x0000>; 100 + 101 + vdd-supply = <&pp3300_left_in_mlb>; 102 + }; 103 + }; 104 + 105 + &mdss_edp { 106 + status = "okay"; 107 + }; 108 + 109 + &mdss_edp_phy { 110 + status = "okay"; 111 + }; 112 + 113 + /* For nvme */ 114 + &pcie1 { 115 + status = "okay"; 116 + }; 117 + 118 + /* For nvme */ 119 + &pcie1_phy { 120 + status = "okay"; 121 + }; 122 + 123 + &pm8350c_pwm_backlight { 124 + power-supply = <&vreg_edp_bl_crd>; 125 + }; 126 + 127 + /* For eMMC */ 128 + &sdhc_1 { 129 + status = "okay"; 130 + }; 131 + 132 + /* For SD Card */ 133 + &sdhc_2 { 134 + status = "okay"; 135 + }; 136 + 137 + /* PINCTRL - BOARD-SPECIFIC */ 138 + 139 + /* 140 + * Methodology for gpio-line-names: 141 + * - If a pin goes to CRD board and is named it gets that name. 142 + * - If a pin goes to CRD board and is not named, it gets no name. 143 + * - If a pin is totally internal to Qcard then it gets Qcard name. 144 + * - If a pin is not hooked up on Qcard, it gets no name. 145 + */ 146 + 147 + &pm8350c_gpios { 148 + gpio-line-names = "FLASH_STROBE_1", /* 1 */ 149 + "AP_SUSPEND", 150 + "PM8008_1_RST_N", 151 + "", 152 + "", 153 + "EDP_BL_REG_EN", 154 + "PMIC_EDP_BL_EN", 155 + "PMIC_EDP_BL_PWM", 156 + ""; 157 + 158 + edp_bl_reg_en: edp-bl-reg-en { 159 + pins = "gpio6"; 160 + function = "normal"; 161 + bias-disable; 162 + qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; 163 + }; 164 + }; 165 + 166 + &tlmm { 167 + gpio-line-names = "AP_TP_I2C_SDA", /* 0 */ 168 + "AP_TP_I2C_SCL", 169 + "PCIE1_RESET_N", 170 + "PCIE1_WAKE_N", 171 + "APPS_I2C_SDA", 172 + "APPS_I2C_SCL", 173 + "", 174 + "TPAD_INT_N", 175 + "", 176 + "", 177 + 178 + "GNSS_L1_EN", /* 10 */ 179 + "GNSS_L5_EN", 180 + "QSPI_DATA_0", 181 + "QSPI_DATA_1", 182 + "QSPI_CLK", 183 + "QSPI_CS_N_1", 184 + /* 185 + * AP_FLASH_WP is crossystem ABI. Schematics call it 186 + * BIOS_FLASH_WP_L (the '_L' suffix is misleading, the 187 + * signal is active high). 188 + */ 189 + "AP_FLASH_WP", 190 + "", 191 + "AP_EC_INT_N", 192 + "", 193 + 194 + "CAM0_RST_N", /* 20 */ 195 + "CAM1_RST_N", 196 + "SM_DBG_UART_TX", 197 + "SM_DBG_UART_RX", 198 + "", 199 + "PM8008_IRQ_1", 200 + "HOST2WLAN_SOL", 201 + "WLAN2HOST_SOL", 202 + "MOS_BT_UART_CTS", 203 + "MOS_BT_UART_RFR", 204 + 205 + "MOS_BT_UART_TX", /* 30 */ 206 + "MOS_BT_UART_RX", 207 + "", 208 + "HUB_RST", 209 + "", 210 + "", 211 + "", 212 + "", 213 + "", 214 + "", 215 + 216 + "EC_SPI_MISO_GPIO40", /* 40 */ 217 + "EC_SPI_MOSI_GPIO41", 218 + "EC_SPI_CLK_GPIO42", 219 + "EC_SPI_CS_GPIO43", 220 + "", 221 + "EARLY_EUD_EN", 222 + "", 223 + "DP_HOT_PLUG_DETECT", 224 + "AP_BRD_ID_0", 225 + "AP_BRD_ID_1", 226 + 227 + "AP_BRD_ID_2", /* 50 */ 228 + "NVME_PWR_REG_EN", 229 + "TS_I2C_SDA_CONN", 230 + "TS_I2C_CLK_CONN", 231 + "TS_RST_CONN", 232 + "TS_INT_CONN", 233 + "AP_I2C_TPM_SDA", 234 + "AP_I2C_TPM_SCL", 235 + "", 236 + "", 237 + 238 + "EDP_HOT_PLUG_DET_N", /* 60 */ 239 + "", 240 + "", 241 + "AMP_EN", 242 + "CAM0_MCLK_GPIO_64", 243 + "CAM1_MCLK_GPIO_65", 244 + "", 245 + "", 246 + "", 247 + "CCI_I2C_SDA0", 248 + 249 + "CCI_I2C_SCL0", /* 70 */ 250 + "", 251 + "", 252 + "", 253 + "", 254 + "", 255 + "", 256 + "", 257 + "", 258 + "PCIE1_CLK_REQ_N", 259 + 260 + "EN_PP3300_DX_EDP", /* 80 */ 261 + "US_EURO_HS_SEL", 262 + "FORCED_USB_BOOT", 263 + "WCD_RESET_N", 264 + "MOS_WLAN_EN", 265 + "MOS_BT_EN", 266 + "MOS_SW_CTRL", 267 + "MOS_PCIE0_RST", 268 + "MOS_PCIE0_CLKREQ_N", 269 + "MOS_PCIE0_WAKE_N", 270 + 271 + "MOS_LAA_AS_EN", /* 90 */ 272 + "SD_CARD_DET_CONN", 273 + "", 274 + "", 275 + "MOS_BT_WLAN_SLIMBUS_CLK", 276 + "MOS_BT_WLAN_SLIMBUS_DAT0", 277 + "", 278 + "", 279 + "", 280 + "", 281 + 282 + "", /* 100 */ 283 + "", 284 + "", 285 + "", 286 + "H1_AP_INT_N", 287 + "", 288 + "AMP_BCLK", 289 + "AMP_DIN", 290 + "AMP_LRCLK", 291 + "UIM1_DATA_GPIO_109", 292 + 293 + "UIM1_CLK_GPIO_110", /* 110 */ 294 + "UIM1_RESET_GPIO_111", 295 + "", 296 + "UIM1_DATA", 297 + "UIM1_CLK", 298 + "UIM1_RESET", 299 + "UIM1_PRESENT", 300 + "SDM_RFFE0_CLK", 301 + "SDM_RFFE0_DATA", 302 + "", 303 + 304 + "SDM_RFFE1_DATA", /* 120 */ 305 + "SC_GPIO_121", 306 + "FASTBOOT_SEL_1", 307 + "SC_GPIO_123", 308 + "FASTBOOT_SEL_2", 309 + "SM_RFFE4_CLK_GRFC_8", 310 + "SM_RFFE4_DATA_GRFC_9", 311 + "WLAN_COEX_UART1_RX", 312 + "WLAN_COEX_UART1_TX", 313 + "", 314 + 315 + "", /* 130 */ 316 + "", 317 + "", 318 + "SDR_QLINK_REQ", 319 + "SDR_QLINK_EN", 320 + "QLINK0_WMSS_RESET_N", 321 + "SMR526_QLINK1_REQ", 322 + "SMR526_QLINK1_EN", 323 + "SMR526_QLINK1_WMSS_RESET_N", 324 + "", 325 + 326 + "SAR1_INT_N", /* 140 */ 327 + "SAR0_INT_N", 328 + "", 329 + "", 330 + "WCD_SWR_TX_CLK", 331 + "WCD_SWR_TX_DATA0", 332 + "WCD_SWR_TX_DATA1", 333 + "WCD_SWR_RX_CLK", 334 + "WCD_SWR_RX_DATA0", 335 + "WCD_SWR_RX_DATA1", 336 + 337 + "DMIC01_CLK", /* 150 */ 338 + "DMIC01_DATA", 339 + "DMIC23_CLK", 340 + "DMIC23_DATA", 341 + "", 342 + "", 343 + "EC_IN_RW_N", 344 + "EN_PP3300_HUB", 345 + "WCD_SWR_TX_DATA2", 346 + "", 347 + 348 + "", /* 160 */ 349 + "", 350 + "", 351 + "", 352 + "", 353 + "", 354 + "", 355 + "", 356 + "", 357 + "", 358 + 359 + "", /* 170 */ 360 + "MOS_BLE_UART_TX", 361 + "MOS_BLE_UART_RX", 362 + "", 363 + "", 364 + ""; 365 + };
-1352
arch/arm64/boot/dts/qcom/sc7280-herobrine-herobrine-r0.dts
··· 1 - // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 - /* 3 - * Google Herobrine board device tree source 4 - * 5 - * Copyright 2021 Google LLC. 6 - */ 7 - 8 - /dts-v1/; 9 - 10 - #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h> 11 - #include <dt-bindings/iio/qcom,spmi-adc7-pmr735a.h> 12 - #include <dt-bindings/input/gpio-keys.h> 13 - #include <dt-bindings/input/input.h> 14 - #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 15 - #include <dt-bindings/regulator/qcom,rpmh-regulator.h> 16 - 17 - #include "sc7280.dtsi" 18 - 19 - /* PMICs depend on spmi_bus label and so must come after SoC */ 20 - #include "pm7325.dtsi" 21 - #include "pm8350c.dtsi" 22 - #include "pmk8350.dtsi" 23 - 24 - #include "sc7280-chrome-common.dtsi" 25 - 26 - / { 27 - model = "Google Herobrine (rev0)"; 28 - compatible = "google,herobrine-rev0", "qcom,sc7280"; 29 - }; 30 - 31 - / { 32 - aliases { 33 - serial0 = &uart5; 34 - serial1 = &uart7; 35 - }; 36 - 37 - chosen { 38 - stdout-path = "serial0:115200n8"; 39 - }; 40 - 41 - /* FIXED REGULATORS - parents above children */ 42 - 43 - /* This is the top level supply and variable voltage */ 44 - ppvar_sys: ppvar-sys-regulator { 45 - compatible = "regulator-fixed"; 46 - regulator-name = "ppvar_sys"; 47 - regulator-always-on; 48 - regulator-boot-on; 49 - }; 50 - 51 - /* This divides ppvar_sys by 2, so voltage is variable */ 52 - src_vph_pwr: src-vph-pwr-regulator { 53 - compatible = "regulator-fixed"; 54 - regulator-name = "src_vph_pwr"; 55 - 56 - /* EC turns on with switchcap_on; always on for AP */ 57 - regulator-always-on; 58 - regulator-boot-on; 59 - 60 - vin-supply = <&ppvar_sys>; 61 - }; 62 - 63 - pp5000_s3: pp5000-s3-regulator { 64 - compatible = "regulator-fixed"; 65 - regulator-name = "pp5000_s3"; 66 - 67 - /* EC turns on with en_pp5000_s3; always on for AP */ 68 - regulator-always-on; 69 - regulator-boot-on; 70 - regulator-min-microvolt = <5000000>; 71 - regulator-max-microvolt = <5000000>; 72 - 73 - vin-supply = <&ppvar_sys>; 74 - }; 75 - 76 - pp3300_z1: pp3300-z1-regulator { 77 - compatible = "regulator-fixed"; 78 - regulator-name = "pp3300_z1"; 79 - 80 - /* EC turns on with en_pp3300_z1; always on for AP */ 81 - regulator-always-on; 82 - regulator-boot-on; 83 - regulator-min-microvolt = <3300000>; 84 - regulator-max-microvolt = <3300000>; 85 - 86 - vin-supply = <&ppvar_sys>; 87 - }; 88 - 89 - pp3300_audio: 90 - pp3300_codec: pp3300-codec-regulator { 91 - compatible = "regulator-fixed"; 92 - regulator-name = "pp3300_codec"; 93 - 94 - regulator-min-microvolt = <3300000>; 95 - regulator-max-microvolt = <3300000>; 96 - 97 - gpio = <&tlmm 67 GPIO_ACTIVE_HIGH>; 98 - enable-active-high; 99 - pinctrl-names = "default"; 100 - pinctrl-0 = <&en_pp3300_codec>; 101 - 102 - vin-supply = <&pp3300_z1>; 103 - }; 104 - 105 - pp3300_cam: 106 - pp3300_edp: 107 - pp3300_ts: pp3300-edp-regulator { 108 - compatible = "regulator-fixed"; 109 - regulator-name = "pp3300_edp"; 110 - 111 - regulator-min-microvolt = <3300000>; 112 - regulator-max-microvolt = <3300000>; 113 - 114 - gpio = <&tlmm 80 GPIO_ACTIVE_HIGH>; 115 - enable-active-high; 116 - pinctrl-names = "default"; 117 - pinctrl-0 = <&en_pp3300_dx_edp>; 118 - 119 - vin-supply = <&pp3300_z1>; 120 - }; 121 - 122 - pp3300_fp: 123 - pp3300_fp_ls: 124 - pp3300_mcu: pp3300-fp-regulator { 125 - compatible = "regulator-fixed"; 126 - regulator-name = "pp3300_fp"; 127 - 128 - regulator-min-microvolt = <3300000>; 129 - regulator-max-microvolt = <3300000>; 130 - 131 - regulator-boot-on; 132 - regulator-always-on; 133 - 134 - /* 135 - * WARNING: it is intentional that GPIO 42 isn't listed here. 136 - * The userspace script for updating the fingerprint firmware 137 - * needs to control the FP regulators during a FW update, 138 - * hence the signal can't be owned by the kernel regulator. 139 - */ 140 - 141 - pinctrl-names = "default"; 142 - pinctrl-0 = <&en_fp_rails>; 143 - 144 - vin-supply = <&pp3300_z1>; 145 - }; 146 - 147 - pp3300_hub: pp3300-hub-regulator { 148 - compatible = "regulator-fixed"; 149 - regulator-name = "pp3300_hub"; 150 - 151 - regulator-min-microvolt = <3300000>; 152 - regulator-max-microvolt = <3300000>; 153 - 154 - regulator-boot-on; 155 - regulator-always-on; 156 - 157 - gpio = <&tlmm 24 GPIO_ACTIVE_HIGH>; 158 - enable-active-high; 159 - pinctrl-names = "default"; 160 - pinctrl-0 = <&en_pp3300_hub>; 161 - 162 - vin-supply = <&pp3300_z1>; 163 - }; 164 - 165 - pp3300_tp: pp3300-tp-regulator { 166 - compatible = "regulator-fixed"; 167 - regulator-name = "pp3300_tp"; 168 - 169 - regulator-min-microvolt = <3300000>; 170 - regulator-max-microvolt = <3300000>; 171 - 172 - /* AP turns on with PP1800_L18B_S0; always on for AP */ 173 - regulator-always-on; 174 - regulator-boot-on; 175 - 176 - vin-supply = <&pp3300_z1>; 177 - }; 178 - 179 - pp2850_uf_cam: pp2850-uf-cam-regulator { 180 - compatible = "regulator-fixed"; 181 - regulator-name = "pp2850_uf_cam"; 182 - 183 - regulator-min-microvolt = <2850000>; 184 - regulator-max-microvolt = <2850000>; 185 - 186 - gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>; 187 - enable-active-high; 188 - pinctrl-names = "default"; 189 - pinctrl-0 = <&uf_cam_en>; 190 - 191 - vin-supply = <&pp3300_cam>; 192 - }; 193 - 194 - pp2850_vcm_wf_cam: pp2850-vcm-wf-cam-regulator { 195 - compatible = "regulator-fixed"; 196 - regulator-name = "pp2850_vcm_wf_cam"; 197 - 198 - regulator-min-microvolt = <2850000>; 199 - regulator-max-microvolt = <2850000>; 200 - 201 - gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>; 202 - enable-active-high; 203 - pinctrl-names = "default"; 204 - pinctrl-0 = <&wf_cam_en>; 205 - 206 - vin-supply = <&pp3300_cam>; 207 - }; 208 - 209 - pp2850_wf_cam: pp2850-wf-cam-regulator { 210 - compatible = "regulator-fixed"; 211 - regulator-name = "pp2850_wf_cam"; 212 - 213 - regulator-min-microvolt = <2850000>; 214 - regulator-max-microvolt = <2850000>; 215 - 216 - gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>; 217 - enable-active-high; 218 - /* 219 - * The pinconf can only be referenced once so we put it on the 220 - * first regulator and comment it out here. 221 - * 222 - * pinctrl-names = "default"; 223 - * pinctrl-0 = <&wf_cam_en>; 224 - */ 225 - 226 - vin-supply = <&pp3300_cam>; 227 - }; 228 - 229 - pp1800_fp: pp1800-fp-regulator { 230 - compatible = "regulator-fixed"; 231 - regulator-name = "pp1800_fp"; 232 - 233 - regulator-min-microvolt = <1800000>; 234 - regulator-max-microvolt = <1800000>; 235 - 236 - regulator-boot-on; 237 - regulator-always-on; 238 - 239 - /* 240 - * WARNING: it is intentional that GPIO 42 isn't listed here. 241 - * The userspace script for updating the fingerprint firmware 242 - * needs to control the FP regulators during a FW update, 243 - * hence the signal can't be owned by the kernel regulator. 244 - */ 245 - 246 - pinctrl-names = "default"; 247 - pinctrl-0 = <&en_fp_rails>; 248 - 249 - vin-supply = <&pp1800_l18b_s0>; 250 - status = "disabled"; 251 - }; 252 - 253 - pp1800_uf_cam: pp1800-uf-cam-regulator { 254 - compatible = "regulator-fixed"; 255 - regulator-name = "pp1800_uf_cam"; 256 - 257 - regulator-min-microvolt = <1800000>; 258 - regulator-max-microvolt = <1800000>; 259 - 260 - gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>; 261 - enable-active-high; 262 - /* 263 - * The pinconf can only be referenced once so we put it on the 264 - * first regulator and comment it out here. 265 - * 266 - * pinctrl-names = "default"; 267 - * pinctrl-0 = <&uf_cam_en>; 268 - */ 269 - 270 - vin-supply = <&pp1800_l19b>; 271 - }; 272 - 273 - pp1800_wf_cam: pp1800-wf-cam-regulator { 274 - compatible = "regulator-fixed"; 275 - regulator-name = "pp1800_wf_cam"; 276 - 277 - regulator-min-microvolt = <1800000>; 278 - regulator-max-microvolt = <1800000>; 279 - 280 - gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>; 281 - enable-active-high; 282 - /* 283 - * The pinconf can only be referenced once so we put it on the 284 - * first regulator and comment it out here. 285 - * 286 - * pinctrl-names = "default"; 287 - * pinctrl-0 = <&wf_cam_en>; 288 - */ 289 - 290 - vin-supply = <&pp1800_l19b>; 291 - }; 292 - 293 - pp1200_wf_cam: pp1200-wf-cam-regulator { 294 - compatible = "regulator-fixed"; 295 - regulator-name = "pp1200_wf_cam"; 296 - 297 - regulator-min-microvolt = <1200000>; 298 - regulator-max-microvolt = <1200000>; 299 - 300 - gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>; 301 - enable-active-high; 302 - /* 303 - * The pinconf can only be referenced once so we put it on the 304 - * first regulator and comment it out here. 305 - * 306 - * pinctrl-names = "default"; 307 - * pinctrl-0 = <&wf_cam_en>; 308 - */ 309 - 310 - vin-supply = <&pp1200_l6b>; 311 - }; 312 - 313 - /* BOARD-SPECIFIC TOP LEVEL NODES */ 314 - 315 - gpio_keys: gpio-keys { 316 - compatible = "gpio-keys"; 317 - status = "disabled"; 318 - pinctrl-names = "default"; 319 - pinctrl-0 = <&pen_pdct_l>; 320 - 321 - pen_insert: pen-insert { 322 - label = "Pen Insert"; 323 - 324 - /* Insert = low, eject = high */ 325 - gpios = <&tlmm 39 GPIO_ACTIVE_LOW>; 326 - linux,code = <SW_PEN_INSERTED>; 327 - linux,input-type = <EV_SW>; 328 - wakeup-event-action = <EV_ACT_DEASSERTED>; 329 - wakeup-source; 330 - }; 331 - }; 332 - 333 - pwmleds { 334 - compatible = "pwm-leds"; 335 - status = "disabled"; 336 - keyboard_backlight: keyboard-backlight { 337 - status = "disabled"; 338 - label = "cros_ec::kbd_backlight"; 339 - pwms = <&cros_ec_pwm 0>; 340 - max-brightness = <1023>; 341 - }; 342 - }; 343 - }; 344 - 345 - &apps_rsc { 346 - pm7325-regulators { 347 - compatible = "qcom,pm7325-rpmh-regulators"; 348 - qcom,pmic-id = "b"; 349 - 350 - vdd19_pmu_pcie_i: 351 - vdd19_pmu_rfa_i: 352 - vreg_s1b_wlan: 353 - vreg_s1b: smps1 { 354 - regulator-min-microvolt = <1856000>; 355 - regulator-max-microvolt = <2040000>; 356 - }; 357 - 358 - vdd_pmu_aon_i: 359 - vreg_s7b_wlan: 360 - vreg_s7b: smps7 { 361 - regulator-min-microvolt = <535000>; 362 - regulator-max-microvolt = <1120000>; 363 - }; 364 - 365 - vdd13_pmu_pcie_i: 366 - vdd13_pmu_rfa_i: 367 - vreg_s8b_wlan: 368 - vreg_s8b: smps8 { 369 - regulator-min-microvolt = <1256000>; 370 - regulator-max-microvolt = <1500000>; 371 - }; 372 - 373 - vdda_usb_ss_dp_core: 374 - vreg_l1b: ldo1 { 375 - regulator-min-microvolt = <825000>; 376 - regulator-max-microvolt = <925000>; 377 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 378 - }; 379 - 380 - vdda_usb_hs0_3p1: 381 - vreg_l2b: ldo2 { 382 - regulator-min-microvolt = <2700000>; 383 - regulator-max-microvolt = <3544000>; 384 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 385 - }; 386 - 387 - pp1200_l6b: 388 - vdd_ufs_1p2: 389 - vdd_vref: 390 - vdda_csi01_1p2: 391 - vdda_csi23_1p2: 392 - vdda_csi4_1p2: 393 - vdda_dsi0_1p2: 394 - vdda_pcie0_1p2: 395 - vdda_pcie1_1p2: 396 - vdda_usb_ss_dp_1p2: 397 - vdda_qlink0_1p2_ck: 398 - vdda_qlink1_1p2_ck: 399 - vreg_l6b_1p2: 400 - vreg_l6b: ldo6 { 401 - regulator-min-microvolt = <1120000>; 402 - regulator-max-microvolt = <1408000>; 403 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 404 - }; 405 - 406 - pp2950_l7b: 407 - vreg_l7b: ldo7 { 408 - regulator-min-microvolt = <2960000>; 409 - regulator-max-microvolt = <2960000>; 410 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 411 - }; 412 - 413 - codec_vcc: 414 - pp1800_l18b_s0: 415 - pp1800_ts: 416 - vdd1: 417 - vddpx_0: 418 - vddpx_3: 419 - vddpx_7: 420 - vreg_l18b: ldo18 { 421 - regulator-min-microvolt = <1800000>; 422 - regulator-max-microvolt = <2000000>; 423 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 424 - }; 425 - 426 - pp1800_l19b: 427 - vddpx_ts: 428 - vddpx_wl4otp: 429 - vreg_l19b: ldo19 { 430 - regulator-min-microvolt = <1800000>; 431 - regulator-max-microvolt = <1800000>; 432 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 433 - }; 434 - }; 435 - 436 - pm8350c-regulators { 437 - compatible = "qcom,pm8350c-rpmh-regulators"; 438 - qcom,pmic-id = "c"; 439 - 440 - vreg_s1c: smps1 { 441 - regulator-min-microvolt = <2190000>; 442 - regulator-max-microvolt = <2210000>; 443 - }; 444 - 445 - vddpx_1: 446 - vreg_s9c: smps9 { 447 - regulator-min-microvolt = <1010000>; 448 - regulator-max-microvolt = <1170000>; 449 - }; 450 - 451 - pp1800_l1c: 452 - pp1800_pen: 453 - vdd_a_gfx_cs_1p1: 454 - vdd_a_cxo_1p8: 455 - vdd_qfprom: 456 - vdda_apc_cs_1p8: 457 - vdda_qrefs_1p8: 458 - vdda_turing_q6_cs_1p8: 459 - vdda_usb_hs0_1p8: 460 - vreg_l1c: ldo1 { 461 - regulator-min-microvolt = <1800000>; 462 - regulator-max-microvolt = <1980000>; 463 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 464 - }; 465 - 466 - dmic_vdd: 467 - pp1800_alc5682: 468 - pp1800_l2c: 469 - pp1800_vreg_alc5682: 470 - vreg_l2c: ldo2 { 471 - regulator-min-microvolt = <1620000>; 472 - regulator-max-microvolt = <1980000>; 473 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 474 - }; 475 - 476 - pp3300_sar: 477 - pp3300_sensor: 478 - vreg_l3c: ldo3 { 479 - regulator-min-microvolt = <2800000>; 480 - regulator-max-microvolt = <3540000>; 481 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 482 - }; 483 - 484 - ppvar_uim1: 485 - vddpx_5: 486 - vreg_l4c: ldo4 { 487 - regulator-min-microvolt = <1620000>; 488 - regulator-max-microvolt = <3300000>; 489 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 490 - }; 491 - 492 - pp2950_l5c: 493 - uim_vcc: 494 - vddpx_6: 495 - vreg_l5c: ldo5 { 496 - regulator-min-microvolt = <1620000>; 497 - regulator-max-microvolt = <3300000>; 498 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 499 - }; 500 - 501 - ppvar_l6c: 502 - vddpx_2: 503 - vreg_l6c: ldo6 { 504 - regulator-min-microvolt = <1800000>; 505 - regulator-max-microvolt = <2950000>; 506 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 507 - }; 508 - 509 - vreg_l7c: ldo7 { 510 - regulator-min-microvolt = <3000000>; 511 - regulator-max-microvolt = <3544000>; 512 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 513 - }; 514 - 515 - pp1800_prox: 516 - pp1800_sar: 517 - vreg_l8c: ldo8 { 518 - regulator-min-microvolt = <1620000>; 519 - regulator-max-microvolt = <2000000>; 520 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 521 - }; 522 - 523 - pp2950_l9c: 524 - vreg_l9c: ldo9 { 525 - regulator-min-microvolt = <2960000>; 526 - regulator-max-microvolt = <2960000>; 527 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 528 - }; 529 - 530 - vdd_a_gnss_0p9: 531 - vdd_ufs_core: 532 - vdd_usb_hs0_core: 533 - vdd_vref_0p9: 534 - vdda_csi01_0p9: 535 - vdda_csi23_0p9: 536 - vdda_csi4_0p9: 537 - vdda_dsi0_pll_0p9: 538 - vdda_dsi0_0p9: 539 - vdda_pcie0_core: 540 - vdda_pcie1_core: 541 - vdda_qlink0_0p9: 542 - vdda_qlink1_0p9: 543 - vdda_qlink0_0p9_ck: 544 - vdda_qlink1_0p9_ck: 545 - vdda_qrefs_0p875: 546 - vreg_l10c_0p8: 547 - vreg_l10c: ldo10 { 548 - regulator-min-microvolt = <720000>; 549 - regulator-max-microvolt = <1050000>; 550 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 551 - }; 552 - 553 - pp2800_l11c: 554 - vreg_l11c: ldo11 { 555 - regulator-min-microvolt = <2800000>; 556 - regulator-max-microvolt = <3544000>; 557 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 558 - }; 559 - 560 - pp1800_l12c: 561 - vreg_l12c: ldo12 { 562 - regulator-min-microvolt = <1650000>; 563 - regulator-max-microvolt = <2000000>; 564 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 565 - }; 566 - 567 - pp3300_l13c: 568 - vreg_l13c: ldo13 { 569 - regulator-min-microvolt = <2700000>; 570 - regulator-max-microvolt = <3544000>; 571 - regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 572 - }; 573 - 574 - vreg_bob: bob { 575 - regulator-min-microvolt = <3008000>; 576 - regulator-max-microvolt = <3960000>; 577 - regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; 578 - }; 579 - }; 580 - }; 581 - 582 - ap_tp_i2c: &i2c1 { 583 - status = "okay"; 584 - clock-frequency = <400000>; 585 - 586 - trackpad: trackpad@15 { 587 - compatible = "elan,ekth3000"; 588 - reg = <0x15>; 589 - pinctrl-names = "default"; 590 - pinctrl-0 = <&tp_int_odl>; 591 - 592 - interrupt-parent = <&tlmm>; 593 - interrupts = <102 IRQ_TYPE_EDGE_FALLING>; 594 - 595 - vcc-supply = <&pp3300_z1>; 596 - 597 - wakeup-source; 598 - }; 599 - }; 600 - 601 - ap_h1_i2c: &i2c12 { 602 - status = "okay"; 603 - clock-frequency = <400000>; 604 - 605 - tpm@50 { 606 - compatible = "google,cr50"; 607 - reg = <0x50>; 608 - 609 - pinctrl-names = "default"; 610 - pinctrl-0 = <&h1_ap_int_odl>; 611 - 612 - interrupt-parent = <&tlmm>; 613 - interrupts = <54 IRQ_TYPE_EDGE_RISING>; 614 - }; 615 - }; 616 - 617 - ap_ts_pen: &i2c13 { 618 - status = "okay"; 619 - clock-frequency = <400000>; 620 - 621 - ap_ts: touchscreen@10 { 622 - compatible = "hid-over-i2c"; 623 - reg = <0x10>; 624 - pinctrl-names = "default"; 625 - pinctrl-0 = <&ts_int_l>, <&ts_reset_l>; 626 - 627 - interrupt-parent = <&tlmm>; 628 - interrupts = <81 IRQ_TYPE_LEVEL_LOW>; 629 - 630 - post-power-on-delay-ms = <20>; 631 - hid-descr-addr = <0x0001>; 632 - 633 - vdd-supply = <&pp3300_ts>; 634 - }; 635 - }; 636 - 637 - &pm7325_gpios { 638 - status = "disabled"; /* No GPIOs are connected */ 639 - }; 640 - 641 - &pmk8350_gpios { 642 - status = "disabled"; /* No GPIOs are connected */ 643 - }; 644 - 645 - &pmk8350_rtc { 646 - status = "disabled"; 647 - }; 648 - 649 - &pmk8350_vadc { 650 - pmk8350_die_temp { 651 - reg = <PMK8350_ADC7_DIE_TEMP>; 652 - label = "pmk8350_die_temp"; 653 - qcom,pre-scaling = <1 1>; 654 - }; 655 - 656 - pmr735a_die_temp { 657 - reg = <PMR735A_ADC7_DIE_TEMP>; 658 - label = "pmr735a_die_temp"; 659 - qcom,pre-scaling = <1 1>; 660 - }; 661 - }; 662 - 663 - &qfprom { 664 - vcc-supply = <&vdd_qfprom>; 665 - }; 666 - 667 - &qupv3_id_0 { 668 - status = "okay"; 669 - }; 670 - 671 - &qupv3_id_1 { 672 - status = "okay"; 673 - }; 674 - 675 - &sdhc_1 { 676 - status = "okay"; 677 - 678 - vmmc-supply = <&pp2950_l7b>; 679 - vqmmc-supply = <&pp1800_l19b>; 680 - }; 681 - 682 - &sdhc_2 { 683 - status = "okay"; 684 - 685 - pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>, <&sd_cd>; 686 - pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>, <&sd_cd>; 687 - vmmc-supply = <&pp2950_l9c>; 688 - vqmmc-supply = <&ppvar_l6c>; 689 - 690 - cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>; 691 - }; 692 - 693 - ap_ec_spi: &spi8 { 694 - status = "okay"; 695 - 696 - pinctrl-0 = <&qup_spi8_data_clk>, <&qup_spi8_cs_gpio_init_high>, <&qup_spi8_cs_gpio>; 697 - cs-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>; 698 - 699 - cros_ec: ec@0 { 700 - compatible = "google,cros-ec-spi"; 701 - reg = <0>; 702 - interrupt-parent = <&tlmm>; 703 - interrupts = <142 IRQ_TYPE_LEVEL_LOW>; 704 - pinctrl-names = "default"; 705 - pinctrl-0 = <&ap_ec_int_l>; 706 - spi-max-frequency = <3000000>; 707 - 708 - cros_ec_pwm: pwm { 709 - compatible = "google,cros-ec-pwm"; 710 - #pwm-cells = <1>; 711 - }; 712 - 713 - i2c_tunnel: i2c-tunnel { 714 - compatible = "google,cros-ec-i2c-tunnel"; 715 - google,remote-bus = <0>; 716 - #address-cells = <1>; 717 - #size-cells = <0>; 718 - }; 719 - 720 - typec { 721 - compatible = "google,cros-ec-typec"; 722 - #address-cells = <1>; 723 - #size-cells = <0>; 724 - 725 - usb_c0: connector@0 { 726 - compatible = "usb-c-connector"; 727 - reg = <0>; 728 - label = "left"; 729 - power-role = "dual"; 730 - data-role = "host"; 731 - try-power-role = "source"; 732 - }; 733 - 734 - usb_c1: connector@1 { 735 - compatible = "usb-c-connector"; 736 - reg = <1>; 737 - label = "right"; 738 - power-role = "dual"; 739 - data-role = "host"; 740 - try-power-role = "source"; 741 - }; 742 - }; 743 - }; 744 - }; 745 - 746 - #include <arm/cros-ec-keyboard.dtsi> 747 - #include <arm/cros-ec-sbs.dtsi> 748 - 749 - &keyboard_controller { 750 - function-row-physmap = < 751 - MATRIX_KEY(0x00, 0x02, 0) /* T1 */ 752 - MATRIX_KEY(0x03, 0x02, 0) /* T2 */ 753 - MATRIX_KEY(0x02, 0x02, 0) /* T3 */ 754 - MATRIX_KEY(0x01, 0x02, 0) /* T4 */ 755 - MATRIX_KEY(0x03, 0x04, 0) /* T5 */ 756 - MATRIX_KEY(0x02, 0x04, 0) /* T6 */ 757 - MATRIX_KEY(0x01, 0x04, 0) /* T7 */ 758 - MATRIX_KEY(0x02, 0x09, 0) /* T8 */ 759 - MATRIX_KEY(0x01, 0x09, 0) /* T9 */ 760 - MATRIX_KEY(0x00, 0x04, 0) /* T10 */ 761 - >; 762 - linux,keymap = < 763 - MATRIX_KEY(0x00, 0x02, KEY_BACK) 764 - MATRIX_KEY(0x03, 0x02, KEY_REFRESH) 765 - MATRIX_KEY(0x02, 0x02, KEY_ZOOM) 766 - MATRIX_KEY(0x01, 0x02, KEY_SCALE) 767 - MATRIX_KEY(0x03, 0x04, KEY_SYSRQ) 768 - MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN) 769 - MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP) 770 - MATRIX_KEY(0x02, 0x09, KEY_MUTE) 771 - MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN) 772 - MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP) 773 - 774 - CROS_STD_MAIN_KEYMAP 775 - >; 776 - }; 777 - 778 - &uart5 { 779 - compatible = "qcom,geni-debug-uart"; 780 - status = "okay"; 781 - }; 782 - 783 - &uart7 { 784 - status = "okay"; 785 - }; 786 - 787 - &usb_1 { 788 - status = "okay"; 789 - }; 790 - 791 - &usb_1_dwc3 { 792 - dr_mode = "host"; 793 - }; 794 - 795 - &usb_1_hsphy { 796 - status = "okay"; 797 - 798 - vdda-pll-supply = <&vdd_usb_hs0_core>; 799 - vdda33-supply = <&vdda_usb_hs0_3p1>; 800 - vdda18-supply = <&vdda_usb_hs0_1p8>; 801 - }; 802 - 803 - &usb_1_qmpphy { 804 - status = "okay"; 805 - 806 - vdda-phy-supply = <&vdda_usb_ss_dp_1p2>; 807 - vdda-pll-supply = <&vdda_usb_ss_dp_core>; 808 - }; 809 - 810 - &usb_2 { 811 - status = "okay"; 812 - }; 813 - 814 - &usb_2_dwc3 { 815 - dr_mode = "host"; 816 - }; 817 - 818 - &usb_2_hsphy { 819 - status = "okay"; 820 - 821 - vdda-pll-supply = <&vdd_usb_hs0_core>; 822 - vdda33-supply = <&vdda_usb_hs0_3p1>; 823 - vdda18-supply = <&vdda_usb_hs0_1p8>; 824 - }; 825 - 826 - /* PINCTRL - additions to nodes defined in sc7280.dtsi */ 827 - 828 - &dp_hot_plug_det { 829 - bias-disable; 830 - }; 831 - 832 - &pcie1_clkreq_n { 833 - bias-pull-up; 834 - drive-strength = <2>; 835 - }; 836 - 837 - &qspi_cs0 { 838 - bias-disable; 839 - }; 840 - 841 - &qspi_clk { 842 - bias-disable; 843 - }; 844 - 845 - &qspi_data01 { 846 - /* High-Z when no transfers; nice to park the lines */ 847 - bias-pull-up; 848 - }; 849 - 850 - &qup_uart5_rx { 851 - drive-strength = <2>; 852 - bias-pull-up; 853 - }; 854 - 855 - &qup_uart5_tx { 856 - drive-strength = <2>; 857 - bias-disable; 858 - }; 859 - 860 - &qup_uart7_cts { 861 - /* 862 - * Configure a pull-down on CTS to match the pull of 863 - * the Bluetooth module. 864 - */ 865 - bias-pull-down; 866 - }; 867 - 868 - &qup_uart7_rts { 869 - /* We'll drive RTS, so no pull */ 870 - drive-strength = <2>; 871 - bias-disable; 872 - }; 873 - 874 - &qup_uart7_tx { 875 - /* We'll drive TX, so no pull */ 876 - drive-strength = <2>; 877 - bias-disable; 878 - }; 879 - 880 - &qup_uart7_rx { 881 - /* 882 - * Configure a pull-up on RX. This is needed to avoid 883 - * garbage data when the TX pin of the Bluetooth module is 884 - * in tri-state (module powered off or not driving the 885 - * signal yet). 886 - */ 887 - bias-pull-up; 888 - }; 889 - 890 - &sdc1_clk { 891 - bias-disable; 892 - drive-strength = <16>; 893 - }; 894 - 895 - &sdc1_cmd { 896 - bias-pull-up; 897 - drive-strength = <10>; 898 - }; 899 - 900 - &sdc1_data { 901 - bias-pull-up; 902 - drive-strength = <10>; 903 - }; 904 - 905 - &sdc1_rclk { 906 - bias-pull-down; 907 - }; 908 - 909 - &sdc2_clk { 910 - bias-disable; 911 - drive-strength = <16>; 912 - }; 913 - 914 - &sdc2_cmd { 915 - bias-pull-up; 916 - drive-strength = <10>; 917 - }; 918 - 919 - &sdc2_data { 920 - bias-pull-up; 921 - drive-strength = <10>; 922 - }; 923 - 924 - /* PINCTRL - board-specific pinctrl */ 925 - 926 - &pm8350c_gpios { 927 - gpio-line-names = "AP_SUSPEND", 928 - "", 929 - "", 930 - "AP_BL_EN", 931 - "", 932 - "SD_CD_ODL", 933 - "", 934 - "", 935 - "AP_BL_PWM"; 936 - 937 - ap_bl_en: ap-bl-en { 938 - pins = "gpio4"; 939 - function = "normal"; 940 - qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>; 941 - bias-disable; 942 - 943 - /* Force backlight to be disabled to match state at boot. */ 944 - output-low; 945 - }; 946 - }; 947 - 948 - &tlmm { 949 - gpio-line-names = "HP_I2C_SDA", /* 0 */ 950 - "HP_I2C_SCL", 951 - "SSD_RST_L", 952 - "PE_WAKE_ODL", 953 - "AP_TP_I2C_SDA", 954 - "AP_TP_I2C_SCL", 955 - "UF_CAM_EN", 956 - "WF_CAM_EN", 957 - "AP_SAR_SENSOR_SDA", 958 - "AP_SAR_SENSOR_SCL", 959 - 960 - "", /* 10 */ 961 - "", 962 - "AP_SPI_MOSI", 963 - "AP_SPI_MISO", 964 - "AP_SPI_CLK", 965 - "AP_SPI_CS0_L", 966 - "", 967 - "", 968 - "EDP_HPD", 969 - "", 970 - 971 - "UF_CAM_RST_L", /* 20 */ 972 - "WF_CAM_RST_L", 973 - "UART_AP_TX_DBG_RX", 974 - "UART_DBG_TX_AP_RX", 975 - "EN_PP3300_HUB", 976 - "", 977 - "HOST2WLAN_SOL", 978 - "WLAN2HOST_SOL", 979 - "BT_UART_CTS", 980 - "BT_UART_RTS", 981 - 982 - "BT_UART_TXD", /* 30 */ 983 - "BT_UART_RXD", 984 - "AP_EC_SPI_MISO", 985 - "AP_EC_SPI_MOSI", 986 - "AP_EC_SPI_CLK", 987 - "AP_EC_SPI_CS_L", 988 - "", 989 - "", 990 - "", 991 - "PEN_PDCT_L", 992 - 993 - "IO_BRD_ID0", /* 40 */ 994 - "IO_BRD_ID1", 995 - "EN_FP_RAILS", 996 - "PEN_IRQ_L", 997 - "AP_SPI_FP_MISO", 998 - "AP_SPI_FP_MOSI", 999 - "AP_SPI_FP_CLK", 1000 - "AP_SPI_FP_CS_L", 1001 - "AP_H1_SPI_MISO", 1002 - "AP_H1_SPI_MOSI", 1003 - 1004 - "AP_H1_SPI_CLK", /* 50 */ 1005 - "AP_H1_SPI_CS_L", 1006 - "AP_TS_PEN_I2C_SDA", 1007 - "AP_TS_PEN_I2C_SCL", 1008 - "H1_AP_INT_ODL", 1009 - "", 1010 - "LCM_RST_1V8_L", 1011 - "AMP_EN", 1012 - "", 1013 - "DP_HOT_PLUG_DET", 1014 - 1015 - "HUB_RST_L", /* 60 */ 1016 - "FP_TO_AP_IRQ_L", 1017 - "", 1018 - "", 1019 - "UF_CAM_MCLK", 1020 - "WF_CAM_MCLK", 1021 - "IO_BRD_ID2", 1022 - "EN_PP3300_CODEC", 1023 - "EC_IN_RW_ODL", 1024 - "UF_CAM_SDA", 1025 - 1026 - "UF_CAM_SCL", /* 70 */ 1027 - "WF_CAM_SDA", 1028 - "WF_CAM_SCL", 1029 - "AP_BRD_ID0", 1030 - "AP_BRD_ID1", 1031 - "AP_BRD_ID2", 1032 - "", 1033 - "FPMCU_BOOT0", 1034 - "FP_RST_L", 1035 - "PE_CLKREQ_ODL", 1036 - 1037 - "EN_EDP_PP3300", /* 80 */ 1038 - "TS_INT_L", 1039 - "FORCE_USB_BOOT", 1040 - "WCD_RST_L", 1041 - "WLAN_EN", 1042 - "BT_EN", 1043 - "WLAN_SW_CTRL", 1044 - "PCIE0_RESET_L", 1045 - "PCIE0_CLK_REQ_L", 1046 - "PCIE0_WAKE_L", 1047 - 1048 - "AS_EN", /* 90 */ 1049 - "SD_CD_ODL", 1050 - "", 1051 - /* 1052 - * AP_FLASH_WP_L is crossystem ABI. Schematics 1053 - * call it BIOS_FLASH_WP_L. 1054 - */ 1055 - "AP_FLASH_WP_L", 1056 - "BT_WLAN_SB_CLK", 1057 - "BT_WLAN_SB_DATA", 1058 - "HP_MCLK", 1059 - "HP_BCLK", 1060 - "HP_DOUT", 1061 - "HP_DIN", 1062 - 1063 - "HP_LRCLK", /* 100 */ 1064 - "HP_IRQ", 1065 - "TP_INT_ODL", 1066 - "", 1067 - "IO_SKU_ID2", 1068 - "TS_RESET_L", 1069 - "AMP_BCLK", 1070 - "AMP_DIN", 1071 - "AMP_LRCLK", 1072 - "UIM2_DATA", 1073 - 1074 - "UIM2_CLK", /* 110 */ 1075 - "UIM2_RST", 1076 - "UIM2_PRESENT", 1077 - "UIM1_DATA", 1078 - "UIM1_CLK", 1079 - "UIM1_RST", 1080 - "", 1081 - "RFFE0_CLK", 1082 - "RFFE0_DATA/BOOT_CONFIG_0", 1083 - "RFFE1_CLK", 1084 - 1085 - "RFFE1_DATA/BOOT_CONFIG_1", /* 120 */ 1086 - "RFFE2_CLK", 1087 - "RFFE2_DATA/BOOT_CONFIG_2", 1088 - "RFFE3_CLK", 1089 - "RFFE3_DATA/BOOT_CONFIG_3", 1090 - "RFFE4_CLK", 1091 - "RFFE4_DATA", 1092 - "WCI2_LTE_COEX_RXD", 1093 - "WCI2_LTE_COEX_TXD", 1094 - "IO_SKU_ID0", 1095 - 1096 - "IO_SKU_ID1", /* 130 */ 1097 - "", 1098 - "", 1099 - "QLINK0_REQ", 1100 - "QLINK0_EN", 1101 - "QLINK0_WMSS_RESET_L", 1102 - "QLINK1_REQ", 1103 - "QLINK1_EN", 1104 - "QLINK1_WMSS_RESET_L", 1105 - "FORCED_USB_BOOT_POL", 1106 - 1107 - "", /* 140 */ 1108 - "P_SENSOR_INT_L", 1109 - "AP_EC_INT_L", 1110 - "", 1111 - "WCD_SWR_TX_CLK", 1112 - "WCD_SWR_TX_DATA_0", 1113 - "WCD_SWR_TX_DATA_1", 1114 - "WCD_SWR_RX_CLK", 1115 - "WCD_SWR_RX_DATA_0", 1116 - "WCD_SWR_RX_DATA_1", 1117 - 1118 - "", /* 150 */ 1119 - "", 1120 - "", 1121 - "", 1122 - "", 1123 - "", 1124 - "", 1125 - "", 1126 - "WCD_SWR_TX_DATA_2", 1127 - "", 1128 - 1129 - "", /* 160 */ 1130 - "", 1131 - "", 1132 - "", 1133 - "", 1134 - "", 1135 - "", 1136 - "", 1137 - "", 1138 - "", 1139 - 1140 - "", /* 170 */ 1141 - "SENS_UART_TXD", 1142 - "SENS_UART_RXD", 1143 - "", 1144 - "", 1145 - ""; 1146 - 1147 - /* 1148 - * pinctrl settings for pins that have no real owners. 1149 - */ 1150 - pinctrl-names = "default"; 1151 - pinctrl-0 = <&bios_flash_wp_l>; 1152 - 1153 - amp_en: amp-en { 1154 - pins = "gpio57"; 1155 - function = "gpio"; 1156 - bias-pull-down; 1157 - }; 1158 - 1159 - ap_ec_int_l: ap-ec-int-l { 1160 - pins = "gpio142"; 1161 - input-enable; 1162 - bias-pull-up; 1163 - }; 1164 - 1165 - bios_flash_wp_l: bios-flash-wp-l { 1166 - pins = "gpio93"; 1167 - function = "gpio"; 1168 - input-enable; 1169 - bias-disable; 1170 - }; 1171 - 1172 - bt_en: bt-en { 1173 - pins = "gpio85"; 1174 - function = "gpio"; 1175 - drive-strength = <2>; 1176 - output-low; 1177 - bias-pull-down; 1178 - }; 1179 - 1180 - en_fp_rails: en-fp-rails { 1181 - pins = "gpio42"; 1182 - drive-strength = <2>; 1183 - output-high; 1184 - bias-disable; 1185 - }; 1186 - 1187 - en_pp3300_codec: en-pp3300-codec { 1188 - pins = "gpio67"; 1189 - drive-strength = <2>; 1190 - bias-disable; 1191 - }; 1192 - 1193 - en_pp3300_dx_edp: en-pp3300-dx-edp { 1194 - pins = "gpio80"; 1195 - function = "gpio"; 1196 - drive-strength = <2>; 1197 - /* Has external pulldown */ 1198 - bias-disable; 1199 - }; 1200 - 1201 - en_pp3300_hub: en-pp3300-hub { 1202 - pins = "gpio24"; 1203 - function = "gpio"; 1204 - drive-strength = <2>; 1205 - /* Has external pulldown */ 1206 - bias-disable; 1207 - }; 1208 - 1209 - fp_to_ap_irq_l: fp-to-ap-irq-l { 1210 - pins = "gpio61"; 1211 - function = "gpio"; 1212 - input-enable; 1213 - /* Has external pullup */ 1214 - bias-disable; 1215 - }; 1216 - 1217 - h1_ap_int_odl: h1-ap-int-odl { 1218 - pins = "gpio54"; 1219 - function = "gpio"; 1220 - input-enable; 1221 - bias-pull-up; 1222 - }; 1223 - 1224 - hp_irq: hp-irq { 1225 - pins = "gpio101"; 1226 - function = "gpio"; 1227 - bias-pull-up; 1228 - }; 1229 - 1230 - p_sensor_int_l: p-sensor-int-l { 1231 - pins = "gpio141"; 1232 - function = "gpio"; 1233 - input-enable; 1234 - bias-pull-up; 1235 - }; 1236 - 1237 - pen_irq_l: pen-irq-l { 1238 - pins = "gpio43"; 1239 - function = "gpio"; 1240 - /* Has external pullup */ 1241 - bias-disable; 1242 - }; 1243 - 1244 - pen_pdct_l: pen-pdct-l { 1245 - pins = "gpio39"; 1246 - function = "gpio"; 1247 - /* Has external pullup */ 1248 - bias-disable; 1249 - }; 1250 - 1251 - qup_spi8_cs_gpio_init_high: qup-spi8-cs-gpio-init-high { 1252 - pins = "gpio35"; 1253 - output-high; 1254 - }; 1255 - 1256 - qup_spi11_cs_gpio_init_high: qup-spi11-cs-gpio-init-high { 1257 - pins = "gpio47"; 1258 - output-high; 1259 - }; 1260 - 1261 - qup_spi12_cs_gpio_init_high: qup-spi12-cs-gpio-init-high { 1262 - pins = "gpio51"; 1263 - output-high; 1264 - }; 1265 - 1266 - qup_uart7_sleep_cts: qup-uart7-sleep-cts { 1267 - pins = "gpio28"; 1268 - function = "gpio"; 1269 - /* 1270 - * Configure a pull-down on CTS to match the pull of 1271 - * the Bluetooth module. 1272 - */ 1273 - bias-pull-down; 1274 - }; 1275 - 1276 - qup_uart7_sleep_rts: qup-uart7-sleep-rts { 1277 - pins = "gpio29"; 1278 - function = "gpio"; 1279 - /* 1280 - * Configure pull-down on RTS. As RTS is active low 1281 - * signal, pull it low to indicate the BT SoC that it 1282 - * can wakeup the system anytime from suspend state by 1283 - * pulling RX low (by sending wakeup bytes). 1284 - */ 1285 - bias-pull-down; 1286 - }; 1287 - 1288 - qup_uart7_sleep_rx: qup-uart7-sleep-rx { 1289 - pins = "gpio31"; 1290 - function = "gpio"; 1291 - /* 1292 - * Configure a pull-up on RX. This is needed to avoid 1293 - * garbage data when the TX pin of the Bluetooth module 1294 - * is floating which may cause spurious wakeups. 1295 - */ 1296 - bias-pull-up; 1297 - }; 1298 - 1299 - qup_uart7_sleep_tx: qup-uart7-sleep-tx { 1300 - pins = "gpio30"; 1301 - function = "gpio"; 1302 - /* 1303 - * Configure pull-up on TX when it isn't actively driven 1304 - * to prevent BT SoC from receiving garbage during sleep. 1305 - */ 1306 - bias-pull-up; 1307 - }; 1308 - 1309 - sd_cd: sd-cd { 1310 - pins = "gpio91"; 1311 - function = "gpio"; 1312 - bias-pull-up; 1313 - }; 1314 - 1315 - tp_int_odl: tp-int-odl { 1316 - pins = "gpio102"; 1317 - function = "gpio"; 1318 - /* Has external pullup */ 1319 - bias-disable; 1320 - }; 1321 - 1322 - ts_int_l: ts-int-l { 1323 - pins = "gpio81"; 1324 - function = "gpio"; 1325 - /* Has external pullup */ 1326 - bias-pull-up; 1327 - }; 1328 - 1329 - ts_reset_l: ts-reset-l { 1330 - pins = "gpio105"; 1331 - function = "gpio"; 1332 - /* Has external pullup */ 1333 - bias-disable; 1334 - drive-strength = <2>; 1335 - }; 1336 - 1337 - uf_cam_en: uf-cam-en { 1338 - pins = "gpio6"; 1339 - function = "gpio"; 1340 - drive-strength = <2>; 1341 - /* Has external pulldown */ 1342 - bias-disable; 1343 - }; 1344 - 1345 - wf_cam_en: wf-cam-en { 1346 - pins = "gpio7"; 1347 - function = "gpio"; 1348 - drive-strength = <2>; 1349 - /* Has external pulldown */ 1350 - bias-disable; 1351 - }; 1352 - };
+38
arch/arm64/boot/dts/qcom/sc7280-herobrine-herobrine-r1.dts
··· 14 14 compatible = "google,herobrine", "qcom,sc7280"; 15 15 }; 16 16 17 + /* 18 + * ADDITIONS TO FIXED REGULATORS DEFINED IN PARENT DEVICE TREE FILES 19 + * 20 + * Sort order matches the order in the parent files (parents before children). 21 + */ 22 + 23 + &pp3300_codec { 24 + status = "okay"; 25 + }; 26 + 27 + &pp3300_fp_mcu { 28 + status = "okay"; 29 + }; 30 + 31 + &pp2850_vcm_wf_cam { 32 + status = "okay"; 33 + }; 34 + 35 + &pp2850_wf_cam { 36 + status = "okay"; 37 + }; 38 + 39 + &pp1800_wf_cam { 40 + status = "okay"; 41 + }; 42 + 43 + &pp1200_wf_cam { 44 + status = "okay"; 45 + }; 46 + 17 47 /* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */ 18 48 19 49 &ap_spi_fp { ··· 98 68 99 69 vdd-supply = <&ts_avdd>; 100 70 }; 71 + }; 72 + 73 + &mdss_edp { 74 + status = "okay"; 75 + }; 76 + 77 + &mdss_edp_phy { 78 + status = "okay"; 101 79 }; 102 80 103 81 /* For nvme */
+304
arch/arm64/boot/dts/qcom/sc7280-herobrine-villager-r0.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Google Villager board device tree source 4 + * 5 + * Copyright 2022 Google LLC. 6 + */ 7 + 8 + /dts-v1/; 9 + 10 + #include "sc7280-herobrine.dtsi" 11 + 12 + / { 13 + model = "Google Villager (rev0+)"; 14 + compatible = "google,villager", "qcom,sc7280"; 15 + }; 16 + 17 + /* 18 + * ADDITIONS TO FIXED REGULATORS DEFINED IN PARENT DEVICE TREE FILES 19 + * 20 + * Sort order matches the order in the parent files (parents before children). 21 + */ 22 + 23 + &pp3300_codec { 24 + status = "okay"; 25 + }; 26 + 27 + /* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */ 28 + 29 + ap_tp_i2c: &i2c0 { 30 + status = "okay"; 31 + clock-frequency = <400000>; 32 + 33 + trackpad: trackpad@2c { 34 + compatible = "hid-over-i2c"; 35 + reg = <0x2c>; 36 + pinctrl-names = "default"; 37 + pinctrl-0 = <&tp_int_odl>; 38 + 39 + interrupt-parent = <&tlmm>; 40 + interrupts = <7 IRQ_TYPE_EDGE_FALLING>; 41 + 42 + hid-descr-addr = <0x20>; 43 + vcc-supply = <&pp3300_z1>; 44 + 45 + wakeup-source; 46 + }; 47 + }; 48 + 49 + &ap_sar_sensor_i2c { 50 + status = "okay"; 51 + }; 52 + 53 + &ap_sar_sensor0 { 54 + status = "okay"; 55 + }; 56 + 57 + &ap_sar_sensor1 { 58 + status = "okay"; 59 + }; 60 + 61 + &mdss_edp { 62 + status = "okay"; 63 + }; 64 + 65 + &mdss_edp_phy { 66 + status = "okay"; 67 + }; 68 + 69 + /* For nvme */ 70 + &pcie1 { 71 + status = "okay"; 72 + }; 73 + 74 + /* For nvme */ 75 + &pcie1_phy { 76 + status = "okay"; 77 + }; 78 + 79 + /* For eMMC */ 80 + &sdhc_1 { 81 + status = "okay"; 82 + }; 83 + 84 + /* PINCTRL - BOARD-SPECIFIC */ 85 + 86 + /* 87 + * Methodology for gpio-line-names: 88 + * - If a pin goes to herobrine board and is named it gets that name. 89 + * - If a pin goes to herobrine board and is not named, it gets no name. 90 + * - If a pin is totally internal to Qcard then it gets Qcard name. 91 + * - If a pin is not hooked up on Qcard, it gets no name. 92 + */ 93 + 94 + &pm8350c_gpios { 95 + gpio-line-names = "FLASH_STROBE_1", /* 1 */ 96 + "AP_SUSPEND", 97 + "PM8008_1_RST_N", 98 + "", 99 + "", 100 + "", 101 + "PMIC_EDP_BL_EN", 102 + "PMIC_EDP_BL_PWM", 103 + ""; 104 + }; 105 + 106 + &tlmm { 107 + gpio-line-names = "AP_TP_I2C_SDA", /* 0 */ 108 + "AP_TP_I2C_SCL", 109 + "SSD_RST_L", 110 + "PE_WAKE_ODL", 111 + "AP_SAR_SDA", 112 + "AP_SAR_SCL", 113 + "PRB_SC_GPIO_6", 114 + "TP_INT_ODL", 115 + "HP_I2C_SDA", 116 + "HP_I2C_SCL", 117 + 118 + "GNSS_L1_EN", /* 10 */ 119 + "GNSS_L5_EN", 120 + "SPI_AP_MOSI", 121 + "SPI_AP_MISO", 122 + "SPI_AP_CLK", 123 + "SPI_AP_CS0_L", 124 + /* 125 + * AP_FLASH_WP is crossystem ABI. Schematics 126 + * call it BIOS_FLASH_WP_OD. 127 + */ 128 + "AP_FLASH_WP", 129 + "", 130 + "AP_EC_INT_L", 131 + "", 132 + 133 + "UF_CAM_RST_L", /* 20 */ 134 + "WF_CAM_RST_L", 135 + "UART_AP_TX_DBG_RX", 136 + "UART_DBG_TX_AP_RX", 137 + "", 138 + "PM8008_IRQ_1", 139 + "HOST2WLAN_SOL", 140 + "WLAN2HOST_SOL", 141 + "MOS_BT_UART_CTS", 142 + "MOS_BT_UART_RFR", 143 + 144 + "MOS_BT_UART_TX", /* 30 */ 145 + "MOS_BT_UART_RX", 146 + "PRB_SC_GPIO_32", 147 + "HUB_RST_L", 148 + "", 149 + "", 150 + "AP_SPI_FP_MISO", 151 + "AP_SPI_FP_MOSI", 152 + "AP_SPI_FP_CLK", 153 + "AP_SPI_FP_CS_L", 154 + 155 + "AP_EC_SPI_MISO", /* 40 */ 156 + "AP_EC_SPI_MOSI", 157 + "AP_EC_SPI_CLK", 158 + "AP_EC_SPI_CS_L", 159 + "LCM_RST_L", 160 + "EARLY_EUD_N", 161 + "", 162 + "DP_HOT_PLUG_DET", 163 + "IO_BRD_MLB_ID0", 164 + "IO_BRD_MLB_ID1", 165 + 166 + "IO_BRD_MLB_ID2", /* 50 */ 167 + "SSD_EN", 168 + "TS_I2C_SDA_CONN", 169 + "TS_I2C_CLK_CONN", 170 + "TS_RST_CONN", 171 + "TS_INT_CONN", 172 + "AP_I2C_TPM_SDA", 173 + "AP_I2C_TPM_SCL", 174 + "PRB_SC_GPIO_58", 175 + "PRB_SC_GPIO_59", 176 + 177 + "EDP_HOT_PLUG_DET_N", /* 60 */ 178 + "FP_TO_AP_IRQ_L", 179 + "", 180 + "AMP_EN", 181 + "CAM0_MCLK_GPIO_64", 182 + "CAM1_MCLK_GPIO_65", 183 + "WF_CAM_MCLK", 184 + "PRB_SC_GPIO_67", 185 + "FPMCU_BOOT0", 186 + "UF_CAM_SDA", 187 + 188 + "UF_CAM_SCL", /* 70 */ 189 + "", 190 + "", 191 + "WF_CAM_SDA", 192 + "WF_CAM_SCL", 193 + "", 194 + "", 195 + "EN_FP_RAILS", 196 + "FP_RST_L", 197 + "PCIE1_CLKREQ_ODL", 198 + 199 + "EN_PP3300_DX_EDP", /* 80 */ 200 + "SC_GPIO_81", 201 + "FORCED_USB_BOOT", 202 + "WCD_RESET_N", 203 + "MOS_WLAN_EN", 204 + "MOS_BT_EN", 205 + "MOS_SW_CTRL", 206 + "MOS_PCIE0_RST", 207 + "MOS_PCIE0_CLKREQ_N", 208 + "MOS_PCIE0_WAKE_N", 209 + 210 + "MOS_LAA_AS_EN", /* 90 */ 211 + "SD_CD_ODL", 212 + "", 213 + "", 214 + "MOS_BT_WLAN_SLIMBUS_CLK", 215 + "MOS_BT_WLAN_SLIMBUS_DAT0", 216 + "HP_MCLK", 217 + "HP_BCLK", 218 + "HP_DOUT", 219 + "HP_DIN", 220 + 221 + "HP_LRCLK", /* 100 */ 222 + "HP_IRQ", 223 + "", 224 + "", 225 + "GSC_AP_INT_ODL", 226 + "EN_PP3300_CODEC", 227 + "AMP_BCLK", 228 + "AMP_DIN", 229 + "AMP_LRCLK", 230 + "UIM1_DATA_GPIO_109", 231 + 232 + "UIM1_CLK_GPIO_110", /* 110 */ 233 + "UIM1_RESET_GPIO_111", 234 + "PRB_SC_GPIO_112", 235 + "UIM0_DATA", 236 + "UIM0_CLK", 237 + "UIM0_RST", 238 + "UIM0_PRESENT_ODL", 239 + "SDM_RFFE0_CLK", 240 + "SDM_RFFE0_DATA", 241 + "WF_CAM_EN", 242 + 243 + "FASTBOOT_SEL_0", /* 120 */ 244 + "SC_GPIO_121", 245 + "FASTBOOT_SEL_1", 246 + "SC_GPIO_123", 247 + "FASTBOOT_SEL_2", 248 + "SM_RFFE4_CLK_GRFC_8", 249 + "SM_RFFE4_DATA_GRFC_9", 250 + "WLAN_COEX_UART1_RX", 251 + "WLAN_COEX_UART1_TX", 252 + "PRB_SC_GPIO_129", 253 + 254 + "LCM_ID0", /* 130 */ 255 + "LCM_ID1", 256 + "", 257 + "SDR_QLINK_REQ", 258 + "SDR_QLINK_EN", 259 + "QLINK0_WMSS_RESET_N", 260 + "SMR526_QLINK1_REQ", 261 + "SMR526_QLINK1_EN", 262 + "SMR526_QLINK1_WMSS_RESET_N", 263 + "PRB_SC_GPIO_139", 264 + 265 + "SAR1_IRQ_ODL", /* 140 */ 266 + "SAR0_IRQ_ODL", 267 + "PRB_SC_GPIO_142", 268 + "", 269 + "WCD_SWR_TX_CLK", 270 + "WCD_SWR_TX_DATA0", 271 + "WCD_SWR_TX_DATA1", 272 + "WCD_SWR_RX_CLK", 273 + "WCD_SWR_RX_DATA0", 274 + "WCD_SWR_RX_DATA1", 275 + 276 + "DMIC01_CLK", /* 150 */ 277 + "DMIC01_DATA", 278 + "DMIC23_CLK", 279 + "DMIC23_DATA", 280 + "", 281 + "", 282 + "EC_IN_RW_ODL", 283 + "HUB_EN", 284 + "WCD_SWR_TX_DATA2", 285 + "", 286 + 287 + "", /* 160 */ 288 + "", 289 + "", 290 + "", 291 + "", 292 + "", 293 + "", 294 + "", 295 + "", 296 + "", 297 + 298 + "", /* 170 */ 299 + "MOS_BLE_UART_TX", 300 + "MOS_BLE_UART_RX", 301 + "", 302 + "", 303 + ""; 304 + };
+89 -4
arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi
··· 92 92 pinctrl-0 = <&en_pp3300_codec>; 93 93 94 94 vin-supply = <&pp3300_z1>; 95 + status = "disabled"; 95 96 }; 96 97 97 98 pp3300_left_in_mlb: pp3300-left-in-mlb-regulator { ··· 133 132 pinctrl-0 = <&en_fp_rails>; 134 133 135 134 vin-supply = <&pp3300_z1>; 135 + status = "disabled"; 136 136 }; 137 137 138 138 pp3300_hub: pp3300-hub-regulator { ··· 180 178 pinctrl-names = "default"; 181 179 pinctrl-0 = <&ssd_en>; 182 180 181 + /* 182 + * The bootloaer may have left PCIe configured. Powering this 183 + * off while the PCIe clocks are still running isn't great, 184 + * so it's better to default to this regulator being on. 185 + */ 186 + regulator-boot-on; 187 + 183 188 vin-supply = <&pp3300_z1>; 184 189 }; 185 190 ··· 203 194 pinctrl-0 = <&wf_cam_en>; 204 195 205 196 vin-supply = <&pp3300_z1>; 197 + status = "disabled"; 206 198 }; 207 199 208 200 pp2850_wf_cam: pp2850-wf-cam-regulator { ··· 224 214 */ 225 215 226 216 vin-supply = <&pp3300_z1>; 217 + status = "disabled"; 227 218 }; 228 219 229 220 pp1800_fp: pp1800-fp-regulator { ··· 269 258 */ 270 259 271 260 vin-supply = <&vreg_l19b_s0>; 261 + status = "disabled"; 272 262 }; 273 263 274 264 pp1200_wf_cam: pp1200-wf-cam-regulator { ··· 290 278 */ 291 279 292 280 vin-supply = <&pp3300_z1>; 281 + status = "disabled"; 293 282 }; 294 283 295 284 /* BOARD-SPECIFIC TOP LEVEL NODES */ ··· 308 295 }; 309 296 310 297 /* 311 - * BOARD-LOCAL NAMES FOR REGULATORS THAT CONNECT TO QCARD 298 + * ADJUSTMENTS TO QCARD REGULATORS 299 + * 300 + * Mostly this is just board-local names for regulators that come from 301 + * Qcard, but this also has some minor regulator overrides. 312 302 * 313 303 * Names are only listed here if regulators go somewhere other than a 314 304 * testpoint. ··· 355 339 ts_avdd: &pp3300_left_in_mlb {}; 356 340 vreg_edp_3p3: &pp3300_left_in_mlb {}; 357 341 342 + /* Regulator overrides from Qcard */ 343 + 344 + /* 345 + * Herobrine boards only use l2c to power an external audio codec (like 346 + * alc5682) and we want that to be at 1.8V, not at some slightly lower voltage. 347 + */ 348 + &vreg_l2c_1p8 { 349 + regulator-min-microvolt = <1800000>; 350 + }; 351 + 358 352 /* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */ 353 + 354 + &edp_panel { 355 + /* Our board provides power to the qcard for the eDP panel. */ 356 + power-supply = <&vreg_edp_3p3>; 357 + }; 358 + 359 + ap_sar_sensor_i2c: &i2c1 { 360 + clock-frequency = <400000>; 361 + status = "disabled"; 362 + 363 + ap_sar_sensor0: proximity@28 { 364 + compatible = "semtech,sx9324"; 365 + reg = <0x28>; 366 + #io-channel-cells = <1>; 367 + pinctrl-names = "default"; 368 + pinctrl-0 = <&sar0_irq_odl>; 369 + 370 + interrupt-parent = <&tlmm>; 371 + interrupts = <141 IRQ_TYPE_LEVEL_LOW>; 372 + 373 + vdd-supply = <&pp1800_prox>; 374 + 375 + label = "proximity-wifi-lte0"; 376 + status = "disabled"; 377 + }; 378 + 379 + ap_sar_sensor1: proximity@2c { 380 + compatible = "semtech,sx9324"; 381 + reg = <0x2c>; 382 + #io-channel-cells = <1>; 383 + pinctrl-names = "default"; 384 + pinctrl-0 = <&sar1_irq_odl>; 385 + 386 + interrupt-parent = <&tlmm>; 387 + interrupts = <140 IRQ_TYPE_LEVEL_LOW>; 388 + 389 + vdd-supply = <&pp1800_prox>; 390 + 391 + label = "proximity-wifi-lte1"; 392 + status = "disabled"; 393 + }; 394 + }; 359 395 360 396 ap_i2c_tpm: &i2c14 { 361 397 status = "okay"; ··· 425 357 }; 426 358 }; 427 359 360 + &mdss { 361 + status = "okay"; 362 + }; 363 + 364 + &mdss_mdp { 365 + status = "okay"; 366 + }; 367 + 428 368 /* NVMe drive, enabled on a per-board basis */ 429 369 &pcie1 { 430 370 pinctrl-names = "default"; ··· 440 364 441 365 perst-gpio = <&tlmm 2 GPIO_ACTIVE_LOW>; 442 366 vddpe-3v3-supply = <&pp3300_ssd>; 367 + }; 368 + 369 + &pm8350c_pwm { 370 + status = "okay"; 371 + }; 372 + 373 + &pm8350c_pwm_backlight { 374 + status = "okay"; 375 + 376 + /* Our board provides power to the qcard for the backlight */ 377 + power-supply = <&vreg_edp_bl>; 443 378 }; 444 379 445 380 &pmk8350_rtc { ··· 764 677 function = "gpio"; 765 678 bias-disable; 766 679 drive-strength = <2>; 767 - output-high; 768 680 }; 769 681 770 682 fp_to_ap_irq_l: fp-to-ap-irq-l { ··· 777 691 pins = "gpio68"; 778 692 function = "gpio"; 779 693 bias-disable; 780 - output-low; 781 694 }; 782 695 783 696 gsc_ap_int_odl: gsc-ap-int-odl { ··· 826 741 bias-pull-up; 827 742 }; 828 743 829 - sar1_irq_odl: sar0-irq-odl { 744 + sar1_irq_odl: sar1-irq-odl { 830 745 pins = "gpio140"; 831 746 function = "gpio"; 832 747 bias-pull-up;
+1 -1
arch/arm64/boot/dts/qcom/sc7280-idp.dts
··· 90 90 }; 91 91 92 92 &usb_2_dwc3 { 93 - dr_mode = "host"; 93 + dr_mode = "otg"; 94 94 }; 95 95 96 96 &usb_2_hsphy {
+30 -6
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
··· 233 233 }; 234 234 }; 235 235 236 + &gpi_dma0 { 237 + status = "okay"; 238 + }; 239 + 240 + &gpi_dma1 { 241 + status = "okay"; 242 + }; 243 + 236 244 &ipa { 237 245 status = "okay"; 238 246 modem-init; ··· 408 400 409 401 &qup_uart7_cts { 410 402 /* 411 - * Configure a pull-down on CTS to match the pull of 412 - * the Bluetooth module. 403 + * Configure a bias-bus-hold on CTS to lower power 404 + * usage when Bluetooth is turned off. Bus hold will 405 + * maintain a low power state regardless of whether 406 + * the Bluetooth module drives the pin in either 407 + * direction or leaves the pin fully unpowered. 413 408 */ 414 - bias-pull-down; 409 + bias-bus-hold; 415 410 }; 416 411 417 412 &qup_uart7_rts { ··· 506 495 pins = "gpio28"; 507 496 function = "gpio"; 508 497 /* 509 - * Configure a pull-down on CTS to match the pull of 510 - * the Bluetooth module. 498 + * Configure a bias-bus-hold on CTS to lower power 499 + * usage when Bluetooth is turned off. Bus hold will 500 + * maintain a low power state regardless of whether 501 + * the Bluetooth module drives the pin in either 502 + * direction or leaves the pin fully unpowered. 511 503 */ 512 - bias-pull-down; 504 + bias-bus-hold; 513 505 }; 514 506 515 507 qup_uart7_sleep_rts: qup-uart7-sleep-rts { ··· 561 547 }; 562 548 }; 563 549 550 + &remoteproc_wpss { 551 + status = "okay"; 552 + }; 553 + 554 + &wifi { 555 + status = "okay"; 556 + wifi-firmware { 557 + iommus = <&apps_smmu 0x1c02 0x1>; 558 + }; 559 + };
+4
arch/arm64/boot/dts/qcom/sc7280-idp2.dts
··· 34 34 &nvme_3v3_regulator { 35 35 gpio = <&tlmm 51 GPIO_ACTIVE_HIGH>; 36 36 }; 37 + 38 + &pm8350c_pwm { 39 + status = "okay"; 40 + };
+68 -5
arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi
··· 29 29 serial0 = &uart5; 30 30 serial1 = &uart7; 31 31 }; 32 + 33 + pm8350c_pwm_backlight: backlight { 34 + compatible = "pwm-backlight"; 35 + status = "disabled"; 36 + 37 + enable-gpios = <&pm8350c_gpios 7 GPIO_ACTIVE_HIGH>; 38 + pinctrl-names = "default"; 39 + pinctrl-0 = <&pmic_edp_bl_en>; 40 + pwms = <&pm8350c_pwm 3 65535>; 41 + }; 32 42 }; 33 43 34 44 &apps_rsc { ··· 303 293 modem-init; 304 294 }; 305 295 296 + /* NOTE: Not all Qcards have eDP connector stuffed */ 297 + &mdss_edp { 298 + vdda-0p9-supply = <&vdd_a_edp_0_0p9>; 299 + vdda-1p2-supply = <&vdd_a_edp_0_1p2>; 300 + 301 + aux-bus { 302 + edp_panel: panel { 303 + compatible = "edp-panel"; 304 + 305 + backlight = <&pm8350c_pwm_backlight>; 306 + 307 + ports { 308 + #address-cells = <1>; 309 + #size-cells = <0>; 310 + port@0 { 311 + reg = <0>; 312 + edp_panel_in: endpoint { 313 + remote-endpoint = <&mdss_edp_out>; 314 + }; 315 + }; 316 + }; 317 + }; 318 + }; 319 + }; 320 + 321 + &mdss_edp_out { 322 + remote-endpoint = <&edp_panel_in>; 323 + }; 324 + 325 + &mdss_edp_phy { 326 + vdda-pll-supply = <&vdd_a_edp_0_0p9>; 327 + vdda-phy-supply = <&vdd_a_edp_0_1p2>; 328 + }; 329 + 306 330 &pcie1_phy { 307 331 vdda-phy-supply = <&vreg_l10c_0p88>; 308 332 vdda-pll-supply = <&vreg_l6b_1p2>; 333 + }; 334 + 335 + &pm8350c_pwm { 336 + pinctrl-names = "default"; 337 + pinctrl-0 = <&pmic_edp_bl_pwm>; 309 338 }; 310 339 311 340 &pmk8350_vadc { ··· 432 383 * baseboard or board device tree, not here. 433 384 */ 434 385 386 + /* No external pull for eDP HPD, so set the internal one. */ 387 + &edp_hot_plug_det { 388 + bias-pull-down; 389 + }; 390 + 435 391 /* 436 392 * For ts_i2c 437 393 * ··· 452 398 453 399 /* For mos_bt_uart */ 454 400 &qup_uart7_cts { 455 - /* Configure a pull-down on CTS to match the pull of the Bluetooth module. */ 456 - bias-pull-down; 401 + /* 402 + * Configure a bias-bus-hold on CTS to lower power 403 + * usage when Bluetooth is turned off. Bus hold will 404 + * maintain a low power state regardless of whether 405 + * the Bluetooth module drives the pin in either 406 + * direction or leaves the pin fully unpowered. 407 + */ 408 + bias-bus-hold; 457 409 }; 458 410 459 411 /* For mos_bt_uart */ ··· 550 490 pins = "gpio28"; 551 491 function = "gpio"; 552 492 /* 553 - * Configure a pull-down on CTS to match the pull of 554 - * the Bluetooth module. 493 + * Configure a bias-bus-hold on CTS to lower power 494 + * usage when Bluetooth is turned off. Bus hold will 495 + * maintain a low power state regardless of whether 496 + * the Bluetooth module drives the pin in either 497 + * direction or leaves the pin fully unpowered. 555 498 */ 556 - bias-pull-down; 499 + bias-bus-hold; 557 500 }; 558 501 559 502 /* For mos_bt_uart */
+334 -2
arch/arm64/boot/dts/qcom/sc7280.dtsi
··· 8 8 #include <dt-bindings/clock/qcom,dispcc-sc7280.h> 9 9 #include <dt-bindings/clock/qcom,gcc-sc7280.h> 10 10 #include <dt-bindings/clock/qcom,gpucc-sc7280.h> 11 + #include <dt-bindings/clock/qcom,lpassaudiocc-sc7280.h> 12 + #include <dt-bindings/clock/qcom,lpasscorecc-sc7280.h> 11 13 #include <dt-bindings/clock/qcom,rpmh.h> 12 14 #include <dt-bindings/clock/qcom,videocc-sc7280.h> 15 + #include <dt-bindings/dma/qcom-gpi.h> 13 16 #include <dt-bindings/gpio/gpio.h> 14 17 #include <dt-bindings/interconnect/qcom,osm-l3.h> 15 18 #include <dt-bindings/interconnect/qcom,sc7280.h> ··· 87 84 #address-cells = <2>; 88 85 #size-cells = <2>; 89 86 ranges; 87 + 88 + wlan_ce_mem: memory@4cd000 { 89 + no-map; 90 + reg = <0x0 0x004cd000 0x0 0x1000>; 91 + }; 90 92 91 93 hyp_mem: memory@80000000 { 92 94 reg = <0x0 0x80000000 0x0 0x600000>; ··· 850 842 power-domains = <&rpmhpd SC7280_MX>; 851 843 #address-cells = <1>; 852 844 #size-cells = <1>; 845 + 846 + gpu_speed_bin: gpu_speed_bin@1e9 { 847 + reg = <0x1e9 0x2>; 848 + bits = <5 8>; 849 + }; 853 850 }; 854 851 855 852 sdhc_1: sdhci@7c4000 { ··· 894 881 mmc-hs400-1_8v; 895 882 mmc-hs400-enhanced-strobe; 896 883 884 + resets = <&gcc GCC_SDCC1_BCR>; 885 + 897 886 sdhc1_opp_table: opp-table { 898 887 compatible = "operating-points-v2"; 899 888 ··· 914 899 }; 915 900 }; 916 901 902 + }; 903 + 904 + gpi_dma0: dma-controller@900000 { 905 + #dma-cells = <3>; 906 + compatible = "qcom,sc7280-gpi-dma"; 907 + reg = <0 0x00900000 0 0x60000>; 908 + interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>, 909 + <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>, 910 + <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>, 911 + <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>, 912 + <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>, 913 + <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>, 914 + <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>, 915 + <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>, 916 + <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>, 917 + <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>, 918 + <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>, 919 + <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>; 920 + dma-channels = <12>; 921 + dma-channel-mask = <0x7f>; 922 + iommus = <&apps_smmu 0x0136 0x0>; 923 + status = "disabled"; 917 924 }; 918 925 919 926 qupv3_id_0: geniqup@9c0000 { ··· 965 928 <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 966 929 interconnect-names = "qup-core", "qup-config", 967 930 "qup-memory"; 931 + dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>, 932 + <&gpi_dma0 1 0 QCOM_GPI_I2C>; 933 + dma-names = "tx", "rx"; 968 934 status = "disabled"; 969 935 }; 970 936 ··· 986 946 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 987 947 <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QUP_0 0>; 988 948 interconnect-names = "qup-core", "qup-config"; 949 + dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>, 950 + <&gpi_dma0 1 0 QCOM_GPI_SPI>; 951 + dma-names = "tx", "rx"; 989 952 status = "disabled"; 990 953 }; 991 954 ··· 1023 980 <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 1024 981 interconnect-names = "qup-core", "qup-config", 1025 982 "qup-memory"; 983 + dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>, 984 + <&gpi_dma0 1 1 QCOM_GPI_I2C>; 985 + dma-names = "tx", "rx"; 1026 986 status = "disabled"; 1027 987 }; 1028 988 ··· 1044 998 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 1045 999 <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QUP_0 0>; 1046 1000 interconnect-names = "qup-core", "qup-config"; 1001 + dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>, 1002 + <&gpi_dma0 1 1 QCOM_GPI_SPI>; 1003 + dma-names = "tx", "rx"; 1047 1004 status = "disabled"; 1048 1005 }; 1049 1006 ··· 1081 1032 <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 1082 1033 interconnect-names = "qup-core", "qup-config", 1083 1034 "qup-memory"; 1035 + dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>, 1036 + <&gpi_dma0 1 2 QCOM_GPI_I2C>; 1037 + dma-names = "tx", "rx"; 1084 1038 status = "disabled"; 1085 1039 }; 1086 1040 ··· 1102 1050 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 1103 1051 <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QUP_0 0>; 1104 1052 interconnect-names = "qup-core", "qup-config"; 1053 + dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>, 1054 + <&gpi_dma0 1 2 QCOM_GPI_SPI>; 1055 + dma-names = "tx", "rx"; 1105 1056 status = "disabled"; 1106 1057 }; 1107 1058 ··· 1139 1084 <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 1140 1085 interconnect-names = "qup-core", "qup-config", 1141 1086 "qup-memory"; 1087 + dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>, 1088 + <&gpi_dma0 1 3 QCOM_GPI_I2C>; 1089 + dma-names = "tx", "rx"; 1142 1090 status = "disabled"; 1143 1091 }; 1144 1092 ··· 1160 1102 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 1161 1103 <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QUP_0 0>; 1162 1104 interconnect-names = "qup-core", "qup-config"; 1105 + dmas = <&gpi_dma0 0 3 QCOM_GPI_SPI>, 1106 + <&gpi_dma0 1 3 QCOM_GPI_SPI>; 1107 + dma-names = "tx", "rx"; 1163 1108 status = "disabled"; 1164 1109 }; 1165 1110 ··· 1197 1136 <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 1198 1137 interconnect-names = "qup-core", "qup-config", 1199 1138 "qup-memory"; 1139 + dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>, 1140 + <&gpi_dma0 1 4 QCOM_GPI_I2C>; 1141 + dma-names = "tx", "rx"; 1200 1142 status = "disabled"; 1201 1143 }; 1202 1144 ··· 1218 1154 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 1219 1155 <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QUP_0 0>; 1220 1156 interconnect-names = "qup-core", "qup-config"; 1157 + dmas = <&gpi_dma0 0 4 QCOM_GPI_SPI>, 1158 + <&gpi_dma0 1 4 QCOM_GPI_SPI>; 1159 + dma-names = "tx", "rx"; 1221 1160 status = "disabled"; 1222 1161 }; 1223 1162 ··· 1255 1188 <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 1256 1189 interconnect-names = "qup-core", "qup-config", 1257 1190 "qup-memory"; 1191 + dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>, 1192 + <&gpi_dma0 1 5 QCOM_GPI_I2C>; 1193 + dma-names = "tx", "rx"; 1258 1194 status = "disabled"; 1259 1195 }; 1260 1196 ··· 1276 1206 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 1277 1207 <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QUP_0 0>; 1278 1208 interconnect-names = "qup-core", "qup-config"; 1209 + dmas = <&gpi_dma0 0 5 QCOM_GPI_SPI>, 1210 + <&gpi_dma0 1 5 QCOM_GPI_SPI>; 1211 + dma-names = "tx", "rx"; 1279 1212 status = "disabled"; 1280 1213 }; 1281 1214 ··· 1313 1240 <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 1314 1241 interconnect-names = "qup-core", "qup-config", 1315 1242 "qup-memory"; 1243 + dmas = <&gpi_dma0 0 6 QCOM_GPI_I2C>, 1244 + <&gpi_dma0 1 6 QCOM_GPI_I2C>; 1245 + dma-names = "tx", "rx"; 1316 1246 status = "disabled"; 1317 1247 }; 1318 1248 ··· 1334 1258 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 1335 1259 <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QUP_0 0>; 1336 1260 interconnect-names = "qup-core", "qup-config"; 1261 + dmas = <&gpi_dma0 0 6 QCOM_GPI_SPI>, 1262 + <&gpi_dma0 1 6 QCOM_GPI_SPI>; 1263 + dma-names = "tx", "rx"; 1337 1264 status = "disabled"; 1338 1265 }; 1339 1266 ··· 1371 1292 <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 1372 1293 interconnect-names = "qup-core", "qup-config", 1373 1294 "qup-memory"; 1295 + dmas = <&gpi_dma0 0 7 QCOM_GPI_I2C>, 1296 + <&gpi_dma0 1 7 QCOM_GPI_I2C>; 1297 + dma-names = "tx", "rx"; 1374 1298 status = "disabled"; 1375 1299 }; 1376 1300 ··· 1392 1310 interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 1393 1311 <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QUP_0 0>; 1394 1312 interconnect-names = "qup-core", "qup-config"; 1313 + dmas = <&gpi_dma0 0 7 QCOM_GPI_SPI>, 1314 + <&gpi_dma0 1 7 QCOM_GPI_SPI>; 1315 + dma-names = "tx", "rx"; 1395 1316 status = "disabled"; 1396 1317 }; 1397 1318 ··· 1413 1328 interconnect-names = "qup-core", "qup-config"; 1414 1329 status = "disabled"; 1415 1330 }; 1331 + }; 1332 + 1333 + gpi_dma1: dma-controller@a00000 { 1334 + #dma-cells = <3>; 1335 + compatible = "qcom,sc7280-gpi-dma"; 1336 + reg = <0 0x00a00000 0 0x60000>; 1337 + interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>, 1338 + <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>, 1339 + <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>, 1340 + <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>, 1341 + <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>, 1342 + <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>, 1343 + <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>, 1344 + <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>, 1345 + <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>, 1346 + <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>, 1347 + <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>, 1348 + <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>; 1349 + dma-channels = <12>; 1350 + dma-channel-mask = <0x1e>; 1351 + iommus = <&apps_smmu 0x56 0x0>; 1352 + status = "disabled"; 1416 1353 }; 1417 1354 1418 1355 qupv3_id_1: geniqup@ac0000 { ··· 1464 1357 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 1465 1358 interconnect-names = "qup-core", "qup-config", 1466 1359 "qup-memory"; 1360 + dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>, 1361 + <&gpi_dma1 1 0 QCOM_GPI_I2C>; 1362 + dma-names = "tx", "rx"; 1467 1363 status = "disabled"; 1468 1364 }; 1469 1365 ··· 1485 1375 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 1486 1376 <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QUP_1 0>; 1487 1377 interconnect-names = "qup-core", "qup-config"; 1378 + dmas = <&gpi_dma1 0 0 QCOM_GPI_SPI>, 1379 + <&gpi_dma1 1 0 QCOM_GPI_SPI>; 1380 + dma-names = "tx", "rx"; 1488 1381 status = "disabled"; 1489 1382 }; 1490 1383 ··· 1522 1409 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 1523 1410 interconnect-names = "qup-core", "qup-config", 1524 1411 "qup-memory"; 1412 + dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>, 1413 + <&gpi_dma1 1 1 QCOM_GPI_I2C>; 1414 + dma-names = "tx", "rx"; 1525 1415 status = "disabled"; 1526 1416 }; 1527 1417 ··· 1543 1427 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 1544 1428 <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QUP_1 0>; 1545 1429 interconnect-names = "qup-core", "qup-config"; 1430 + dmas = <&gpi_dma1 0 1 QCOM_GPI_SPI>, 1431 + <&gpi_dma1 1 1 QCOM_GPI_SPI>; 1432 + dma-names = "tx", "rx"; 1546 1433 status = "disabled"; 1547 1434 }; 1548 1435 ··· 1580 1461 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 1581 1462 interconnect-names = "qup-core", "qup-config", 1582 1463 "qup-memory"; 1464 + dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>, 1465 + <&gpi_dma1 1 2 QCOM_GPI_I2C>; 1466 + dma-names = "tx", "rx"; 1583 1467 status = "disabled"; 1584 1468 }; 1585 1469 ··· 1601 1479 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 1602 1480 <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QUP_1 0>; 1603 1481 interconnect-names = "qup-core", "qup-config"; 1482 + dmas = <&gpi_dma1 0 2 QCOM_GPI_SPI>, 1483 + <&gpi_dma1 1 2 QCOM_GPI_SPI>; 1484 + dma-names = "tx", "rx"; 1604 1485 status = "disabled"; 1605 1486 }; 1606 1487 ··· 1638 1513 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 1639 1514 interconnect-names = "qup-core", "qup-config", 1640 1515 "qup-memory"; 1516 + dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>, 1517 + <&gpi_dma1 1 3 QCOM_GPI_I2C>; 1518 + dma-names = "tx", "rx"; 1641 1519 status = "disabled"; 1642 1520 }; 1643 1521 ··· 1659 1531 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 1660 1532 <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QUP_1 0>; 1661 1533 interconnect-names = "qup-core", "qup-config"; 1534 + dmas = <&gpi_dma1 0 3 QCOM_GPI_SPI>, 1535 + <&gpi_dma1 1 3 QCOM_GPI_SPI>; 1536 + dma-names = "tx", "rx"; 1662 1537 status = "disabled"; 1663 1538 }; 1664 1539 ··· 1696 1565 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 1697 1566 interconnect-names = "qup-core", "qup-config", 1698 1567 "qup-memory"; 1568 + dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>, 1569 + <&gpi_dma1 1 4 QCOM_GPI_I2C>; 1570 + dma-names = "tx", "rx"; 1699 1571 status = "disabled"; 1700 1572 }; 1701 1573 ··· 1717 1583 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 1718 1584 <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QUP_1 0>; 1719 1585 interconnect-names = "qup-core", "qup-config"; 1586 + dmas = <&gpi_dma1 0 4 QCOM_GPI_SPI>, 1587 + <&gpi_dma1 1 4 QCOM_GPI_SPI>; 1588 + dma-names = "tx", "rx"; 1720 1589 status = "disabled"; 1721 1590 }; 1722 1591 ··· 1754 1617 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 1755 1618 interconnect-names = "qup-core", "qup-config", 1756 1619 "qup-memory"; 1620 + dmas = <&gpi_dma1 0 5 QCOM_GPI_I2C>, 1621 + <&gpi_dma1 1 5 QCOM_GPI_I2C>; 1622 + dma-names = "tx", "rx"; 1757 1623 status = "disabled"; 1758 1624 }; 1759 1625 ··· 1775 1635 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 1776 1636 <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QUP_1 0>; 1777 1637 interconnect-names = "qup-core", "qup-config"; 1638 + dmas = <&gpi_dma1 0 5 QCOM_GPI_SPI>, 1639 + <&gpi_dma1 1 5 QCOM_GPI_SPI>; 1640 + dma-names = "tx", "rx"; 1778 1641 status = "disabled"; 1779 1642 }; 1780 1643 ··· 1812 1669 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 1813 1670 interconnect-names = "qup-core", "qup-config", 1814 1671 "qup-memory"; 1672 + dmas = <&gpi_dma1 0 6 QCOM_GPI_I2C>, 1673 + <&gpi_dma1 1 6 QCOM_GPI_I2C>; 1674 + dma-names = "tx", "rx"; 1815 1675 status = "disabled"; 1816 1676 }; 1817 1677 ··· 1833 1687 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 1834 1688 <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QUP_1 0>; 1835 1689 interconnect-names = "qup-core", "qup-config"; 1690 + dmas = <&gpi_dma1 0 6 QCOM_GPI_SPI>, 1691 + <&gpi_dma1 1 6 QCOM_GPI_SPI>; 1692 + dma-names = "tx", "rx"; 1836 1693 status = "disabled"; 1837 1694 }; 1838 1695 ··· 1870 1721 <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 1871 1722 interconnect-names = "qup-core", "qup-config", 1872 1723 "qup-memory"; 1724 + dmas = <&gpi_dma1 0 7 QCOM_GPI_I2C>, 1725 + <&gpi_dma1 1 7 QCOM_GPI_I2C>; 1726 + dma-names = "tx", "rx"; 1873 1727 status = "disabled"; 1874 1728 }; 1875 1729 ··· 1891 1739 interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 1892 1740 <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QUP_1 0>; 1893 1741 interconnect-names = "qup-core", "qup-config"; 1742 + dmas = <&gpi_dma1 0 7 QCOM_GPI_SPI>, 1743 + <&gpi_dma1 1 7 QCOM_GPI_SPI>; 1744 + dma-names = "tx", "rx"; 1894 1745 status = "disabled"; 1895 1746 }; 1896 1747 ··· 1961 1806 compatible = "qcom,sc7280-mmss-noc"; 1962 1807 #interconnect-cells = <2>; 1963 1808 qcom,bcm-voters = <&apps_bcm_voter>; 1809 + }; 1810 + 1811 + wifi: wifi@17a10040 { 1812 + compatible = "qcom,wcn6750-wifi"; 1813 + reg = <0 0x17a10040 0 0x0>; 1814 + iommus = <&apps_smmu 0x1c00 0x1>; 1815 + interrupts = <GIC_SPI 768 IRQ_TYPE_EDGE_RISING>, 1816 + <GIC_SPI 769 IRQ_TYPE_EDGE_RISING>, 1817 + <GIC_SPI 770 IRQ_TYPE_EDGE_RISING>, 1818 + <GIC_SPI 771 IRQ_TYPE_EDGE_RISING>, 1819 + <GIC_SPI 772 IRQ_TYPE_EDGE_RISING>, 1820 + <GIC_SPI 773 IRQ_TYPE_EDGE_RISING>, 1821 + <GIC_SPI 774 IRQ_TYPE_EDGE_RISING>, 1822 + <GIC_SPI 775 IRQ_TYPE_EDGE_RISING>, 1823 + <GIC_SPI 776 IRQ_TYPE_EDGE_RISING>, 1824 + <GIC_SPI 777 IRQ_TYPE_EDGE_RISING>, 1825 + <GIC_SPI 778 IRQ_TYPE_EDGE_RISING>, 1826 + <GIC_SPI 779 IRQ_TYPE_EDGE_RISING>, 1827 + <GIC_SPI 780 IRQ_TYPE_EDGE_RISING>, 1828 + <GIC_SPI 781 IRQ_TYPE_EDGE_RISING>, 1829 + <GIC_SPI 782 IRQ_TYPE_EDGE_RISING>, 1830 + <GIC_SPI 783 IRQ_TYPE_EDGE_RISING>, 1831 + <GIC_SPI 784 IRQ_TYPE_EDGE_RISING>, 1832 + <GIC_SPI 785 IRQ_TYPE_EDGE_RISING>, 1833 + <GIC_SPI 786 IRQ_TYPE_EDGE_RISING>, 1834 + <GIC_SPI 787 IRQ_TYPE_EDGE_RISING>, 1835 + <GIC_SPI 788 IRQ_TYPE_EDGE_RISING>, 1836 + <GIC_SPI 789 IRQ_TYPE_EDGE_RISING>, 1837 + <GIC_SPI 790 IRQ_TYPE_EDGE_RISING>, 1838 + <GIC_SPI 791 IRQ_TYPE_EDGE_RISING>, 1839 + <GIC_SPI 792 IRQ_TYPE_EDGE_RISING>, 1840 + <GIC_SPI 793 IRQ_TYPE_EDGE_RISING>, 1841 + <GIC_SPI 794 IRQ_TYPE_EDGE_RISING>, 1842 + <GIC_SPI 795 IRQ_TYPE_EDGE_RISING>, 1843 + <GIC_SPI 796 IRQ_TYPE_EDGE_RISING>, 1844 + <GIC_SPI 797 IRQ_TYPE_EDGE_RISING>, 1845 + <GIC_SPI 798 IRQ_TYPE_EDGE_RISING>, 1846 + <GIC_SPI 799 IRQ_TYPE_EDGE_RISING>; 1847 + qcom,rproc = <&remoteproc_wpss>; 1848 + memory-region = <&wlan_fw_mem>, <&wlan_ce_mem>; 1849 + status = "disabled"; 1964 1850 }; 1965 1851 1966 1852 pcie1: pci@1c08000 { ··· 2099 1903 2100 1904 status = "disabled"; 2101 1905 2102 - pcie1_lane: lanes@1c0e200 { 1906 + pcie1_lane: phy@1c0e200 { 2103 1907 reg = <0 0x01c0e200 0 0x170>, 2104 1908 <0 0x01c0e400 0 0x200>, 2105 1909 <0 0x01c0ea00 0 0x1f0>, ··· 2176 1980 #clock-cells = <1>; 2177 1981 }; 2178 1982 1983 + lpass_audiocc: clock-controller@3300000 { 1984 + compatible = "qcom,sc7280-lpassaudiocc"; 1985 + reg = <0 0x03300000 0 0x30000>; 1986 + clocks = <&rpmhcc RPMH_CXO_CLK>, 1987 + <&lpass_aon LPASS_AON_CC_MAIN_RCG_CLK_SRC>; 1988 + clock-names = "bi_tcxo", "lpass_aon_cc_main_rcg_clk_src"; 1989 + power-domains = <&lpass_aon LPASS_AON_CC_LPASS_AUDIO_HM_GDSC>; 1990 + #clock-cells = <1>; 1991 + #power-domain-cells = <1>; 1992 + }; 1993 + 1994 + lpass_aon: clock-controller@3380000 { 1995 + compatible = "qcom,sc7280-lpassaoncc"; 1996 + reg = <0 0x03380000 0 0x30000>; 1997 + clocks = <&rpmhcc RPMH_CXO_CLK>, 1998 + <&rpmhcc RPMH_CXO_CLK_A>, 1999 + <&lpasscore LPASS_CORE_CC_CORE_CLK>; 2000 + clock-names = "bi_tcxo", "bi_tcxo_ao", "iface"; 2001 + #clock-cells = <1>; 2002 + #power-domain-cells = <1>; 2003 + }; 2004 + 2005 + lpasscore: clock-controller@3900000 { 2006 + compatible = "qcom,sc7280-lpasscorecc"; 2007 + reg = <0 0x03900000 0 0x50000>; 2008 + clocks = <&rpmhcc RPMH_CXO_CLK>; 2009 + clock-names = "bi_tcxo"; 2010 + power-domains = <&lpass_hm LPASS_CORE_CC_LPASS_CORE_HM_GDSC>; 2011 + #clock-cells = <1>; 2012 + #power-domain-cells = <1>; 2013 + }; 2014 + 2015 + lpass_hm: clock-controller@3c00000 { 2016 + compatible = "qcom,sc7280-lpasshm"; 2017 + reg = <0 0x3c00000 0 0x28>; 2018 + clocks = <&rpmhcc RPMH_CXO_CLK>; 2019 + clock-names = "bi_tcxo"; 2020 + #clock-cells = <1>; 2021 + #power-domain-cells = <1>; 2022 + }; 2023 + 2179 2024 lpass_ag_noc: interconnect@3c40000 { 2180 2025 reg = <0 0x03c40000 0 0xf080>; 2181 2026 compatible = "qcom,sc7280-lpass-ag-noc"; ··· 2240 2003 interconnect-names = "gfx-mem"; 2241 2004 #cooling-cells = <2>; 2242 2005 2006 + nvmem-cells = <&gpu_speed_bin>; 2007 + nvmem-cell-names = "speed_bin"; 2008 + 2243 2009 gpu_opp_table: opp-table { 2244 2010 compatible = "operating-points-v2"; 2245 2011 ··· 2250 2010 opp-hz = /bits/ 64 <315000000>; 2251 2011 opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>; 2252 2012 opp-peak-kBps = <1804000>; 2013 + opp-supported-hw = <0x03>; 2253 2014 }; 2254 2015 2255 2016 opp-450000000 { 2256 2017 opp-hz = /bits/ 64 <450000000>; 2257 2018 opp-level = <RPMH_REGULATOR_LEVEL_SVS>; 2258 2019 opp-peak-kBps = <4068000>; 2020 + opp-supported-hw = <0x03>; 2259 2021 }; 2260 2022 2261 2023 opp-550000000 { 2262 2024 opp-hz = /bits/ 64 <550000000>; 2263 2025 opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>; 2264 2026 opp-peak-kBps = <6832000>; 2027 + opp-supported-hw = <0x03>; 2028 + }; 2029 + 2030 + opp-608000000 { 2031 + opp-hz = /bits/ 64 <608000000>; 2032 + opp-level = <RPMH_REGULATOR_LEVEL_SVS_L2>; 2033 + opp-peak-kBps = <8368000>; 2034 + opp-supported-hw = <0x02>; 2035 + }; 2036 + 2037 + opp-700000000 { 2038 + opp-hz = /bits/ 64 <700000000>; 2039 + opp-level = <RPMH_REGULATOR_LEVEL_NOM>; 2040 + opp-peak-kBps = <8532000>; 2041 + opp-supported-hw = <0x02>; 2042 + }; 2043 + 2044 + opp-812000000 { 2045 + opp-hz = /bits/ 64 <812000000>; 2046 + opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>; 2047 + opp-peak-kBps = <8532000>; 2048 + opp-supported-hw = <0x02>; 2049 + }; 2050 + 2051 + opp-840000000 { 2052 + opp-hz = /bits/ 64 <840000000>; 2053 + opp-level = <RPMH_REGULATOR_LEVEL_TURBO>; 2054 + opp-peak-kBps = <8532000>; 2055 + opp-supported-hw = <0x02>; 2056 + }; 2057 + 2058 + opp-900000000 { 2059 + opp-hz = /bits/ 64 <900000000>; 2060 + opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>; 2061 + opp-peak-kBps = <8532000>; 2062 + opp-supported-hw = <0x02>; 2265 2063 }; 2266 2064 }; 2267 2065 }; ··· 2964 2686 2965 2687 qcom,dll-config = <0x0007642c>; 2966 2688 2689 + resets = <&gcc GCC_SDCC2_BCR>; 2690 + 2967 2691 sdhc2_opp_table: opp-table { 2968 2692 compatible = "operating-points-v2"; 2969 2693 ··· 3122 2842 status = "disabled"; 3123 2843 }; 3124 2844 2845 + remoteproc_wpss: remoteproc@8a00000 { 2846 + compatible = "qcom,sc7280-wpss-pil"; 2847 + reg = <0 0x08a00000 0 0x10000>; 2848 + 2849 + interrupts-extended = <&intc GIC_SPI 587 IRQ_TYPE_EDGE_RISING>, 2850 + <&wpss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 2851 + <&wpss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 2852 + <&wpss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 2853 + <&wpss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>, 2854 + <&wpss_smp2p_in 7 IRQ_TYPE_EDGE_RISING>; 2855 + interrupt-names = "wdog", "fatal", "ready", "handover", 2856 + "stop-ack", "shutdown-ack"; 2857 + 2858 + clocks = <&gcc GCC_WPSS_AHB_BDG_MST_CLK>, 2859 + <&gcc GCC_WPSS_AHB_CLK>, 2860 + <&gcc GCC_WPSS_RSCP_CLK>, 2861 + <&rpmhcc RPMH_CXO_CLK>; 2862 + clock-names = "ahb_bdg", "ahb", 2863 + "rscp", "xo"; 2864 + 2865 + power-domains = <&rpmhpd SC7280_CX>, 2866 + <&rpmhpd SC7280_MX>; 2867 + power-domain-names = "cx", "mx"; 2868 + 2869 + memory-region = <&wpss_mem>; 2870 + 2871 + qcom,qmp = <&aoss_qmp>; 2872 + 2873 + qcom,smem-states = <&wpss_smp2p_out 0>; 2874 + qcom,smem-state-names = "stop"; 2875 + 2876 + resets = <&aoss_reset AOSS_CC_WCSS_RESTART>, 2877 + <&pdc_reset PDC_WPSS_SYNC_RESET>; 2878 + reset-names = "restart", "pdc_sync"; 2879 + 2880 + qcom,halt-regs = <&tcsr_mutex 0x37000>; 2881 + 2882 + status = "disabled"; 2883 + 2884 + glink-edge { 2885 + interrupts-extended = <&ipcc IPCC_CLIENT_WPSS 2886 + IPCC_MPROC_SIGNAL_GLINK_QMP 2887 + IRQ_TYPE_EDGE_RISING>; 2888 + mboxes = <&ipcc IPCC_CLIENT_WPSS 2889 + IPCC_MPROC_SIGNAL_GLINK_QMP>; 2890 + 2891 + label = "wpss"; 2892 + qcom,remote-pid = <13>; 2893 + }; 2894 + }; 2895 + 3125 2896 dc_noc: interconnect@90e0000 { 3126 2897 reg = <0 0x090e0000 0 0x5080>; 3127 2898 compatible = "qcom,sc7280-dc-noc"; ··· 3247 2916 phys = <&usb_1_hsphy>, <&usb_1_ssphy>; 3248 2917 phy-names = "usb2-phy", "usb3-phy"; 3249 2918 maximum-speed = "super-speed"; 2919 + wakeup-source; 3250 2920 }; 3251 2921 }; 3252 2922 ··· 3628 3296 3629 3297 port@1 { 3630 3298 reg = <1>; 3631 - edp_out: endpoint { }; 3299 + mdss_edp_out: endpoint { }; 3632 3300 }; 3633 3301 }; 3634 3302
+2 -2
arch/arm64/boot/dts/qcom/sdm630.dtsi
··· 1453 1453 reg-names = "mdp_phys"; 1454 1454 1455 1455 interrupt-parent = <&mdss>; 1456 - interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; 1456 + interrupts = <0>; 1457 1457 1458 1458 assigned-clocks = <&mmcc MDSS_MDP_CLK>, 1459 1459 <&mmcc MDSS_VSYNC_CLK>; ··· 1530 1530 power-domains = <&rpmpd SDM660_VDDCX>; 1531 1531 1532 1532 interrupt-parent = <&mdss>; 1533 - interrupts = <4 IRQ_TYPE_LEVEL_HIGH>; 1533 + interrupts = <4>; 1534 1534 1535 1535 assigned-clocks = <&mmcc BYTE0_CLK_SRC>, 1536 1536 <&mmcc PCLK0_CLK_SRC>;
+1 -1
arch/arm64/boot/dts/qcom/sdm660.dtsi
··· 163 163 power-domains = <&rpmpd SDM660_VDDCX>; 164 164 165 165 interrupt-parent = <&mdss>; 166 - interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; 166 + interrupts = <5>; 167 167 168 168 assigned-clocks = <&mmcc BYTE1_CLK_SRC>, 169 169 <&mmcc PCLK1_CLK_SRC>;
+33
arch/arm64/boot/dts/qcom/sdm845-db845c.dts
··· 28 28 stdout-path = "serial0:115200n8"; 29 29 }; 30 30 31 + /* Fixed crystal oscillator dedicated to MCP2517FD */ 32 + clk40M: can-clock { 33 + compatible = "fixed-clock"; 34 + #clock-cells = <0>; 35 + clock-frequency = <40000000>; 36 + }; 37 + 31 38 dc12v: dc12v-regulator { 32 39 compatible = "regulator-fixed"; 33 40 regulator-name = "DC12V"; ··· 753 746 }; 754 747 }; 755 748 749 + &spi0 { 750 + status = "okay"; 751 + pinctrl-names = "default"; 752 + pinctrl-0 = <&qup_spi0_default>; 753 + cs-gpios = <&tlmm 3 GPIO_ACTIVE_LOW>; 754 + 755 + can@0 { 756 + compatible = "microchip,mcp2517fd"; 757 + reg = <0>; 758 + clocks = <&clk40M>; 759 + interrupts-extended = <&tlmm 104 IRQ_TYPE_LEVEL_LOW>; 760 + spi-max-frequency = <10000000>; 761 + vdd-supply = <&vdc_5v>; 762 + xceiver-supply = <&vdc_5v>; 763 + }; 764 + }; 765 + 756 766 &spi2 { 757 767 /* On Low speed expansion */ 758 768 label = "LS-SPI0"; ··· 1075 1051 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; 1076 1052 1077 1053 qcom,snoc-host-cap-8bit-quirk; 1054 + qcom,ath10k-calibration-variant = "Thundercomm_DB845C"; 1078 1055 }; 1079 1056 1080 1057 /* PINCTRL - additions to nodes defined in sdm845.dtsi */ ··· 1242 1217 // remote-endpoint = <&csiphy3_ep>; 1243 1218 }; 1244 1219 }; 1220 + }; 1221 + }; 1222 + 1223 + /* PINCTRL - additions to nodes defined in sdm845.dtsi */ 1224 + &qup_spi0_default { 1225 + config { 1226 + drive-strength = <6>; 1227 + bias-disable; 1245 1228 }; 1246 1229 };
+1 -1
arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
··· 563 563 config { 564 564 pins = "gpio6", "gpio11"; 565 565 drive-strength = <8>; 566 - bias-disable = <0>; 566 + bias-disable; 567 567 }; 568 568 }; 569 569
+30 -5
arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts
··· 121 121 122 122 &adsp_pas { 123 123 status = "okay"; 124 - firmware-name = "qcom/sdm845/adsp.mdt"; 124 + firmware-name = "qcom/sdm845/beryllium/adsp.mbn"; 125 125 }; 126 126 127 127 &apps_rsc { ··· 185 185 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 186 186 }; 187 187 188 + vreg_l23a_3p3: ldo23 { 189 + regulator-min-microvolt = <3300000>; 190 + regulator-max-microvolt = <3312000>; 191 + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 192 + }; 193 + 188 194 vreg_l24a_3p075: ldo24 { 189 195 regulator-min-microvolt = <3088000>; 190 196 regulator-max-microvolt = <3088000>; ··· 214 208 215 209 &cdsp_pas { 216 210 status = "okay"; 217 - firmware-name = "qcom/sdm845/cdsp.mdt"; 211 + firmware-name = "qcom/sdm845/beryllium/cdsp.mbn"; 218 212 }; 219 213 220 214 &dsi0 { ··· 224 218 panel@0 { 225 219 compatible = "tianma,fhd-video"; 226 220 reg = <0>; 227 - vddi0-supply = <&vreg_l14a_1p8>; 221 + vddio-supply = <&vreg_l14a_1p8>; 228 222 vddpos-supply = <&lab>; 229 223 vddneg-supply = <&ibb>; 230 224 231 225 #address-cells = <1>; 232 226 #size-cells = <0>; 233 227 228 + backlight = <&pmi8998_wled>; 234 229 reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>; 235 230 236 231 port { ··· 269 262 270 263 zap-shader { 271 264 memory-region = <&gpu_mem>; 272 - firmware-name = "qcom/sdm845/a630_zap.mbn"; 265 + firmware-name = "qcom/sdm845/beryllium/a630_zap.mbn"; 273 266 }; 274 267 }; 275 268 ··· 296 289 297 290 &mss_pil { 298 291 status = "okay"; 299 - firmware-name = "qcom/sdm845/mba.mbn", "qcom/sdm845/modem.mdt"; 292 + firmware-name = "qcom/sdm845/beryllium/mba.mbn", "qcom/sdm845/beryllium/modem.mbn"; 293 + }; 294 + 295 + &ipa { 296 + status = "okay"; 297 + memory-region = <&ipa_fw_mem>; 298 + firmware-name = "qcom/sdm845/beryllium/ipa_fws.mbn"; 300 299 }; 301 300 302 301 &pm8998_gpio { ··· 313 300 bias-pull-up; 314 301 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 315 302 }; 303 + }; 304 + 305 + &pmi8998_wled { 306 + status = "okay"; 307 + qcom,current-boost-limit = <970>; 308 + qcom,ovp-millivolt = <29600>; 309 + qcom,current-limit-microamp = <20000>; 310 + qcom,num-strings = <2>; 311 + qcom,switching-freq = <600>; 312 + qcom,external-pfet; 313 + qcom,cabc; 316 314 }; 317 315 318 316 &pm8998_pon { ··· 565 541 vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 566 542 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; 567 543 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; 544 + vdd-3.3-ch1-supply = <&vreg_l23a_3p3>; 568 545 }; 569 546 570 547 /* PINCTRL - additions to nodes defined in sdm845.dtsi */
+17 -17
arch/arm64/boot/dts/qcom/sdm845.dtsi
··· 200 200 cpu-idle-states = <&LITTLE_CPU_SLEEP_0 201 201 &LITTLE_CPU_SLEEP_1 202 202 &CLUSTER_SLEEP_0>; 203 - capacity-dmips-mhz = <607>; 204 - dynamic-power-coefficient = <100>; 203 + capacity-dmips-mhz = <611>; 204 + dynamic-power-coefficient = <290>; 205 205 qcom,freq-domain = <&cpufreq_hw 0>; 206 206 operating-points-v2 = <&cpu0_opp_table>; 207 207 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, ··· 225 225 cpu-idle-states = <&LITTLE_CPU_SLEEP_0 226 226 &LITTLE_CPU_SLEEP_1 227 227 &CLUSTER_SLEEP_0>; 228 - capacity-dmips-mhz = <607>; 229 - dynamic-power-coefficient = <100>; 228 + capacity-dmips-mhz = <611>; 229 + dynamic-power-coefficient = <290>; 230 230 qcom,freq-domain = <&cpufreq_hw 0>; 231 231 operating-points-v2 = <&cpu0_opp_table>; 232 232 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, ··· 247 247 cpu-idle-states = <&LITTLE_CPU_SLEEP_0 248 248 &LITTLE_CPU_SLEEP_1 249 249 &CLUSTER_SLEEP_0>; 250 - capacity-dmips-mhz = <607>; 251 - dynamic-power-coefficient = <100>; 250 + capacity-dmips-mhz = <611>; 251 + dynamic-power-coefficient = <290>; 252 252 qcom,freq-domain = <&cpufreq_hw 0>; 253 253 operating-points-v2 = <&cpu0_opp_table>; 254 254 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, ··· 269 269 cpu-idle-states = <&LITTLE_CPU_SLEEP_0 270 270 &LITTLE_CPU_SLEEP_1 271 271 &CLUSTER_SLEEP_0>; 272 - capacity-dmips-mhz = <607>; 273 - dynamic-power-coefficient = <100>; 272 + capacity-dmips-mhz = <611>; 273 + dynamic-power-coefficient = <290>; 274 274 qcom,freq-domain = <&cpufreq_hw 0>; 275 275 operating-points-v2 = <&cpu0_opp_table>; 276 276 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, ··· 292 292 cpu-idle-states = <&BIG_CPU_SLEEP_0 293 293 &BIG_CPU_SLEEP_1 294 294 &CLUSTER_SLEEP_0>; 295 - dynamic-power-coefficient = <396>; 295 + dynamic-power-coefficient = <442>; 296 296 qcom,freq-domain = <&cpufreq_hw 1>; 297 297 operating-points-v2 = <&cpu4_opp_table>; 298 298 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, ··· 314 314 cpu-idle-states = <&BIG_CPU_SLEEP_0 315 315 &BIG_CPU_SLEEP_1 316 316 &CLUSTER_SLEEP_0>; 317 - dynamic-power-coefficient = <396>; 317 + dynamic-power-coefficient = <442>; 318 318 qcom,freq-domain = <&cpufreq_hw 1>; 319 319 operating-points-v2 = <&cpu4_opp_table>; 320 320 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, ··· 336 336 cpu-idle-states = <&BIG_CPU_SLEEP_0 337 337 &BIG_CPU_SLEEP_1 338 338 &CLUSTER_SLEEP_0>; 339 - dynamic-power-coefficient = <396>; 339 + dynamic-power-coefficient = <442>; 340 340 qcom,freq-domain = <&cpufreq_hw 1>; 341 341 operating-points-v2 = <&cpu4_opp_table>; 342 342 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, ··· 358 358 cpu-idle-states = <&BIG_CPU_SLEEP_0 359 359 &BIG_CPU_SLEEP_1 360 360 &CLUSTER_SLEEP_0>; 361 - dynamic-power-coefficient = <396>; 361 + dynamic-power-coefficient = <442>; 362 362 qcom,freq-domain = <&cpufreq_hw 1>; 363 363 operating-points-v2 = <&cpu4_opp_table>; 364 364 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, ··· 2027 2027 }; 2028 2028 2029 2029 pcie0: pci@1c00000 { 2030 - compatible = "qcom,pcie-sdm845", "snps,dw-pcie"; 2030 + compatible = "qcom,pcie-sdm845"; 2031 2031 reg = <0 0x01c00000 0 0x2000>, 2032 2032 <0 0x60000000 0 0xf1d>, 2033 2033 <0 0x60000f20 0 0xa8>, ··· 2132 2132 }; 2133 2133 2134 2134 pcie1: pci@1c08000 { 2135 - compatible = "qcom,pcie-sdm845", "snps,dw-pcie"; 2135 + compatible = "qcom,pcie-sdm845"; 2136 2136 reg = <0 0x01c08000 0 0x2000>, 2137 2137 <0 0x40000000 0 0xf1d>, 2138 2138 <0 0x40000f20 0 0xa8>, ··· 4283 4283 power-domains = <&rpmhpd SDM845_CX>; 4284 4284 4285 4285 interrupt-parent = <&mdss>; 4286 - interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; 4286 + interrupts = <0>; 4287 4287 4288 4288 ports { 4289 4289 #address-cells = <1>; ··· 4335 4335 reg-names = "dsi_ctrl"; 4336 4336 4337 4337 interrupt-parent = <&mdss>; 4338 - interrupts = <4 IRQ_TYPE_LEVEL_HIGH>; 4338 + interrupts = <4>; 4339 4339 4340 4340 clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, 4341 4341 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, ··· 4407 4407 reg-names = "dsi_ctrl"; 4408 4408 4409 4409 interrupt-parent = <&mdss>; 4410 - interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; 4410 + interrupts = <5>; 4411 4411 4412 4412 clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK>, 4413 4413 <&dispcc DISP_CC_MDSS_BYTE1_INTF_CLK>,
+237 -4
arch/arm64/boot/dts/qcom/sm6350.dtsi
··· 517 517 }; 518 518 }; 519 519 520 + qupv3_id_0: geniqup@8c0000 { 521 + compatible = "qcom,geni-se-qup"; 522 + reg = <0x0 0x8c0000 0x0 0x2000>; 523 + clock-names = "m-ahb", "s-ahb"; 524 + clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>, 525 + <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>; 526 + #address-cells = <2>; 527 + #size-cells = <2>; 528 + iommus = <&apps_smmu 0x43 0x0>; 529 + ranges; 530 + status = "disabled"; 531 + 532 + i2c0: i2c@880000 { 533 + compatible = "qcom,geni-i2c"; 534 + reg = <0 0x00880000 0 0x4000>; 535 + clock-names = "se"; 536 + clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>; 537 + pinctrl-names = "default"; 538 + pinctrl-0 = <&qup_i2c0_default>; 539 + interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>; 540 + #address-cells = <1>; 541 + #size-cells = <0>; 542 + status = "disabled"; 543 + }; 544 + 545 + i2c2: i2c@888000 { 546 + compatible = "qcom,geni-i2c"; 547 + reg = <0 0x00888000 0 0x4000>; 548 + clock-names = "se"; 549 + clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>; 550 + pinctrl-names = "default"; 551 + pinctrl-0 = <&qup_i2c2_default>; 552 + interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>; 553 + #address-cells = <1>; 554 + #size-cells = <0>; 555 + status = "disabled"; 556 + }; 557 + }; 558 + 520 559 qupv3_id_1: geniqup@9c0000 { 521 560 compatible = "qcom,geni-se-qup"; 522 561 reg = <0x0 0x9c0000 0x0 0x2000>; ··· 568 529 ranges; 569 530 status = "disabled"; 570 531 571 - uart2: serial@98c000 { 532 + i2c6: i2c@980000 { 533 + compatible = "qcom,geni-i2c"; 534 + reg = <0 0x00980000 0 0x4000>; 535 + clock-names = "se"; 536 + clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>; 537 + pinctrl-names = "default"; 538 + pinctrl-0 = <&qup_i2c6_default>; 539 + interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; 540 + #address-cells = <1>; 541 + #size-cells = <0>; 542 + status = "disabled"; 543 + }; 544 + 545 + i2c7: i2c@984000 { 546 + compatible = "qcom,geni-i2c"; 547 + reg = <0 0x00984000 0 0x4000>; 548 + clock-names = "se"; 549 + clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>; 550 + pinctrl-names = "default"; 551 + pinctrl-0 = <&qup_i2c7_default>; 552 + interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; 553 + #address-cells = <1>; 554 + #size-cells = <0>; 555 + status = "disabled"; 556 + }; 557 + 558 + i2c8: i2c@988000 { 559 + compatible = "qcom,geni-i2c"; 560 + reg = <0 0x00988000 0 0x4000>; 561 + clock-names = "se"; 562 + clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>; 563 + pinctrl-names = "default"; 564 + pinctrl-0 = <&qup_i2c8_default>; 565 + interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; 566 + #address-cells = <1>; 567 + #size-cells = <0>; 568 + status = "disabled"; 569 + }; 570 + 571 + uart9: serial@98c000 { 572 572 compatible = "qcom,geni-debug-uart"; 573 573 reg = <0 0x98c000 0 0x4000>; 574 574 clock-names = "se"; 575 575 clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>; 576 576 pinctrl-names = "default"; 577 - pinctrl-0 = <&qup_uart2_default>; 577 + pinctrl-0 = <&qup_uart9_default>; 578 578 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; 579 579 status = "disabled"; 580 + }; 581 + 582 + i2c10: i2c@990000 { 583 + compatible = "qcom,geni-i2c"; 584 + reg = <0 0x00990000 0 0x4000>; 585 + clock-names = "se"; 586 + clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>; 587 + pinctrl-names = "default"; 588 + pinctrl-0 = <&qup_i2c10_default>; 589 + interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>; 590 + #address-cells = <1>; 591 + #size-cells = <0>; 592 + status = "disabled"; 593 + }; 594 + 595 + }; 596 + 597 + ufs_mem_hc: ufs@1d84000 { 598 + compatible = "qcom,sm6350-ufshc", "qcom,ufshc", 599 + "jedec,ufs-2.0"; 600 + reg = <0 0x01d84000 0 0x3000>, 601 + <0 0x01d90000 0 0x8000>; 602 + reg-names = "std", "ice"; 603 + interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>; 604 + phys = <&ufs_mem_phy_lanes>; 605 + phy-names = "ufsphy"; 606 + lanes-per-direction = <2>; 607 + #reset-cells = <1>; 608 + resets = <&gcc GCC_UFS_PHY_BCR>; 609 + reset-names = "rst"; 610 + 611 + power-domains = <&gcc UFS_PHY_GDSC>; 612 + 613 + iommus = <&apps_smmu 0x80 0x0>; 614 + 615 + clock-names = "core_clk", 616 + "bus_aggr_clk", 617 + "iface_clk", 618 + "core_clk_unipro", 619 + "ref_clk", 620 + "tx_lane0_sync_clk", 621 + "rx_lane0_sync_clk", 622 + "rx_lane1_sync_clk", 623 + "ice_core_clk"; 624 + clocks = <&gcc GCC_UFS_PHY_AXI_CLK>, 625 + <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>, 626 + <&gcc GCC_UFS_PHY_AHB_CLK>, 627 + <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>, 628 + <&rpmhcc RPMH_QLINK_CLK>, 629 + <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>, 630 + <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>, 631 + <&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>, 632 + <&gcc GCC_UFS_PHY_ICE_CORE_CLK>; 633 + freq-table-hz = 634 + <50000000 200000000>, 635 + <0 0>, 636 + <0 0>, 637 + <37500000 150000000>, 638 + <75000000 300000000>, 639 + <0 0>, 640 + <0 0>, 641 + <0 0>, 642 + <0 0>; 643 + 644 + status = "disabled"; 645 + }; 646 + 647 + ufs_mem_phy: phy@1d87000 { 648 + compatible = "qcom,sm6350-qmp-ufs-phy"; 649 + reg = <0 0x01d87000 0 0x18c>; 650 + #address-cells = <2>; 651 + #size-cells = <2>; 652 + ranges; 653 + 654 + clock-names = "ref", 655 + "ref_aux"; 656 + clocks = <&gcc GCC_UFS_MEM_CLKREF_CLK>, 657 + <&gcc GCC_UFS_PHY_PHY_AUX_CLK>; 658 + 659 + resets = <&ufs_mem_hc 0>; 660 + reset-names = "ufsphy"; 661 + 662 + status = "disabled"; 663 + 664 + ufs_mem_phy_lanes: phy@1d87400 { 665 + reg = <0 0x01d87400 0 0x128>, 666 + <0 0x01d87600 0 0x1fc>, 667 + <0 0x01d87c00 0 0x1dc>, 668 + <0 0x01d87800 0 0x128>, 669 + <0 0x01d87a00 0 0x1fc>; 670 + #phy-cells = <0>; 580 671 }; 581 672 }; 582 673 ··· 1143 974 #interrupt-cells = <2>; 1144 975 gpio-ranges = <&tlmm 0 0 157>; 1145 976 1146 - qup_uart2_default: qup-uart2-default { 977 + qup_uart9_default: qup-uart9-default { 1147 978 pins = "gpio25", "gpio26"; 1148 979 function = "qup13_f2"; 1149 980 drive-strength = <2>; 1150 981 bias-disable; 982 + }; 983 + 984 + qup_i2c0_default: qup-i2c0-default { 985 + pins = "gpio0", "gpio1"; 986 + function = "qup00"; 987 + drive-strength = <2>; 988 + bias-pull-up; 989 + }; 990 + 991 + qup_i2c2_default: qup-i2c2-default { 992 + pins = "gpio45", "gpio46"; 993 + function = "qup02"; 994 + drive-strength = <2>; 995 + bias-pull-up; 996 + }; 997 + 998 + qup_i2c6_default: qup-i2c6-default { 999 + pins = "gpio13", "gpio14"; 1000 + function = "qup10"; 1001 + drive-strength = <2>; 1002 + bias-pull-up; 1003 + }; 1004 + 1005 + qup_i2c7_default: qup-i2c7-default { 1006 + pins = "gpio27", "gpio28"; 1007 + function = "qup11"; 1008 + drive-strength = <2>; 1009 + bias-pull-up; 1010 + }; 1011 + 1012 + qup_i2c8_default: qup-i2c8-default { 1013 + pins = "gpio19", "gpio20"; 1014 + function = "qup12"; 1015 + drive-strength = <2>; 1016 + bias-pull-up; 1017 + }; 1018 + 1019 + qup_i2c10_default: qup-i2c10-default { 1020 + pins = "gpio4", "gpio5"; 1021 + function = "qup14"; 1022 + drive-strength = <2>; 1023 + bias-pull-up; 1151 1024 }; 1152 1025 }; 1153 1026 ··· 1356 1145 }; 1357 1146 }; 1358 1147 1148 + wifi: wifi@18800000 { 1149 + compatible = "qcom,wcn3990-wifi"; 1150 + reg = <0 0x18800000 0 0x800000>; 1151 + reg-names = "membase"; 1152 + memory-region = <&wlan_fw_mem>; 1153 + interrupts = <GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>, 1154 + <GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH>, 1155 + <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>, 1156 + <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>, 1157 + <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>, 1158 + <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>, 1159 + <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>, 1160 + <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>, 1161 + <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>, 1162 + <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>, 1163 + <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>, 1164 + <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>; 1165 + iommus = <&apps_smmu 0x20 0x1>; 1166 + qcom,msa-fixed-perm; 1167 + status = "disabled"; 1168 + }; 1169 + 1359 1170 apps_rsc: rsc@18200000 { 1360 1171 compatible = "qcom,rpmh-rsc"; 1361 1172 label = "apps_rsc"; ··· 1450 1217 }; 1451 1218 }; 1452 1219 1453 - apps_bcm_voter: bcm_voter { 1220 + apps_bcm_voter: bcm-voter { 1454 1221 compatible = "qcom,bcm-voter"; 1455 1222 }; 1456 1223 };
+59 -2
arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
··· 23 23 qcom,board-id = <8 32>; 24 24 25 25 aliases { 26 - serial0 = &uart2; 26 + serial0 = &uart9; 27 27 }; 28 28 29 29 chosen { ··· 296 296 firmware-name = "qcom/sm7225/fairphone4/cdsp.mdt"; 297 297 }; 298 298 299 + &i2c10 { 300 + status = "okay"; 301 + clock-frequency = <400000>; 302 + 303 + haptics@5a { 304 + compatible = "awinic,aw8695"; 305 + reg = <0x5a>; 306 + interrupts-extended = <&tlmm 85 IRQ_TYPE_EDGE_FALLING>; 307 + reset-gpios = <&tlmm 90 GPIO_ACTIVE_HIGH>; 308 + 309 + awinic,f0-preset = <2350>; 310 + awinic,f0-coefficient = <260>; 311 + awinic,f0-calibration-percent = <7>; 312 + awinic,drive-level = <125>; 313 + 314 + awinic,f0-detection-play-time = <5>; 315 + awinic,f0-detection-wait-time = <3>; 316 + awinic,f0-detection-repeat = <2>; 317 + awinic,f0-detection-trace = <15>; 318 + 319 + awinic,boost-debug = /bits/ 8 <0x30 0xeb 0xd4>; 320 + awinic,tset = /bits/ 8 <0x12>; 321 + awinic,r-spare = /bits/ 8 <0x68>; 322 + 323 + awinic,bemf-upper-threshold = <4104>; 324 + awinic,bemf-lower-threshold = <1016>; 325 + }; 326 + }; 327 + 299 328 &mpss { 300 329 status = "okay"; 301 330 firmware-name = "qcom/sm7225/fairphone4/modem.mdt"; ··· 361 332 gpio-reserved-ranges = <13 4>, <56 2>; 362 333 }; 363 334 364 - &uart2 { 335 + &uart9 { 365 336 status = "okay"; 337 + }; 338 + 339 + &ufs_mem_hc { 340 + status = "okay"; 341 + 342 + reset-gpios = <&tlmm 156 GPIO_ACTIVE_LOW>; 343 + 344 + vcc-supply = <&vreg_l7e>; 345 + vcc-max-microamp = <800000>; 346 + vccq2-supply = <&vreg_l12a>; 347 + vccq2-max-microamp = <800000>; 348 + }; 349 + 350 + &ufs_mem_phy { 351 + status = "okay"; 352 + 353 + vdda-phy-supply = <&vreg_l18a>; 354 + vdda-pll-supply = <&vreg_l22a>; 366 355 }; 367 356 368 357 &usb_1 { ··· 405 358 406 359 vdda-phy-supply = <&vreg_l22a>; 407 360 vdda-pll-supply = <&vreg_l16a>; 361 + }; 362 + 363 + &wifi { 364 + status = "okay"; 365 + 366 + vdd-0.8-cx-mx-supply = <&vreg_l4a>; 367 + vdd-1.8-xo-supply = <&vreg_l7a>; 368 + vdd-1.3-rfa-supply = <&vreg_l2e>; 369 + vdd-3.3-ch0-supply = <&vreg_l10e>; 370 + vdd-3.3-ch1-supply = <&vreg_l11e>; 408 371 };
+329 -1
arch/arm64/boot/dts/qcom/sm8150.dtsi
··· 915 915 status = "disabled"; 916 916 }; 917 917 918 + ethernet: ethernet@20000 { 919 + compatible = "qcom,sm8150-ethqos"; 920 + reg = <0x0 0x00020000 0x0 0x10000>, 921 + <0x0 0x00036000 0x0 0x100>; 922 + reg-names = "stmmaceth", "rgmii"; 923 + clock-names = "stmmaceth", "pclk", "ptp_ref", "rgmii"; 924 + clocks = <&gcc GCC_EMAC_AXI_CLK>, 925 + <&gcc GCC_EMAC_SLV_AHB_CLK>, 926 + <&gcc GCC_EMAC_PTP_CLK>, 927 + <&gcc GCC_EMAC_RGMII_CLK>; 928 + interrupts = <GIC_SPI 689 IRQ_TYPE_LEVEL_HIGH>, 929 + <GIC_SPI 699 IRQ_TYPE_LEVEL_HIGH>; 930 + interrupt-names = "macirq", "eth_lpi"; 931 + 932 + power-domains = <&gcc EMAC_GDSC>; 933 + resets = <&gcc GCC_EMAC_BCR>; 934 + 935 + iommus = <&apps_smmu 0x3C0 0x0>; 936 + 937 + snps,tso; 938 + rx-fifo-depth = <4096>; 939 + tx-fifo-depth = <4096>; 940 + 941 + status = "disabled"; 942 + }; 943 + 944 + 918 945 qupv3_id_0: geniqup@8c0000 { 919 946 compatible = "qcom,geni-se-qup"; 920 947 reg = <0x0 0x008c0000 0x0 0x6000>; ··· 1773 1746 interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>; 1774 1747 }; 1775 1748 1749 + pcie0: pci@1c00000 { 1750 + compatible = "qcom,pcie-sm8150", "snps,dw-pcie"; 1751 + reg = <0 0x01c00000 0 0x3000>, 1752 + <0 0x60000000 0 0xf1d>, 1753 + <0 0x60000f20 0 0xa8>, 1754 + <0 0x60001000 0 0x1000>, 1755 + <0 0x60100000 0 0x100000>; 1756 + reg-names = "parf", "dbi", "elbi", "atu", "config"; 1757 + device_type = "pci"; 1758 + linux,pci-domain = <0>; 1759 + bus-range = <0x00 0xff>; 1760 + num-lanes = <1>; 1761 + 1762 + #address-cells = <3>; 1763 + #size-cells = <2>; 1764 + 1765 + ranges = <0x01000000 0x0 0x60200000 0 0x60200000 0x0 0x100000>, 1766 + <0x02000000 0x0 0x60300000 0 0x60300000 0x0 0x3d00000>; 1767 + 1768 + interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>; 1769 + interrupt-names = "msi"; 1770 + #interrupt-cells = <1>; 1771 + interrupt-map-mask = <0 0 0 0x7>; 1772 + interrupt-map = <0 0 0 1 &intc 0 149 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ 1773 + <0 0 0 2 &intc 0 150 IRQ_TYPE_LEVEL_HIGH>, /* int_b */ 1774 + <0 0 0 3 &intc 0 151 IRQ_TYPE_LEVEL_HIGH>, /* int_c */ 1775 + <0 0 0 4 &intc 0 152 IRQ_TYPE_LEVEL_HIGH>; /* int_d */ 1776 + 1777 + clocks = <&gcc GCC_PCIE_0_PIPE_CLK>, 1778 + <&gcc GCC_PCIE_0_AUX_CLK>, 1779 + <&gcc GCC_PCIE_0_CFG_AHB_CLK>, 1780 + <&gcc GCC_PCIE_0_MSTR_AXI_CLK>, 1781 + <&gcc GCC_PCIE_0_SLV_AXI_CLK>, 1782 + <&gcc GCC_PCIE_0_SLV_Q2A_AXI_CLK>, 1783 + <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>; 1784 + clock-names = "pipe", 1785 + "aux", 1786 + "cfg", 1787 + "bus_master", 1788 + "bus_slave", 1789 + "slave_q2a", 1790 + "tbu"; 1791 + 1792 + iommus = <&apps_smmu 0x1d80 0x7f>; 1793 + iommu-map = <0x0 &apps_smmu 0x1d80 0x1>, 1794 + <0x100 &apps_smmu 0x1d81 0x1>; 1795 + 1796 + resets = <&gcc GCC_PCIE_0_BCR>; 1797 + reset-names = "pci"; 1798 + 1799 + power-domains = <&gcc PCIE_0_GDSC>; 1800 + 1801 + phys = <&pcie0_lane>; 1802 + phy-names = "pciephy"; 1803 + 1804 + perst-gpio = <&tlmm 35 GPIO_ACTIVE_HIGH>; 1805 + enable-gpio = <&tlmm 37 GPIO_ACTIVE_HIGH>; 1806 + 1807 + pinctrl-names = "default"; 1808 + pinctrl-0 = <&pcie0_default_state>; 1809 + 1810 + status = "disabled"; 1811 + }; 1812 + 1813 + pcie0_phy: phy@1c06000 { 1814 + compatible = "qcom,sm8150-qmp-gen3x1-pcie-phy"; 1815 + reg = <0 0x01c06000 0 0x1c0>; 1816 + #address-cells = <2>; 1817 + #size-cells = <2>; 1818 + ranges; 1819 + clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>, 1820 + <&gcc GCC_PCIE_0_CFG_AHB_CLK>, 1821 + <&gcc GCC_PCIE0_PHY_REFGEN_CLK>; 1822 + clock-names = "aux", "cfg_ahb", "refgen"; 1823 + 1824 + resets = <&gcc GCC_PCIE_0_PHY_BCR>; 1825 + reset-names = "phy"; 1826 + 1827 + assigned-clocks = <&gcc GCC_PCIE0_PHY_REFGEN_CLK>; 1828 + assigned-clock-rates = <100000000>; 1829 + 1830 + status = "disabled"; 1831 + 1832 + pcie0_lane: phy@1c06200 { 1833 + reg = <0 0x1c06200 0 0x170>, /* tx */ 1834 + <0 0x1c06400 0 0x200>, /* rx */ 1835 + <0 0x1c06800 0 0x1f0>, /* pcs */ 1836 + <0 0x1c06c00 0 0xf4>; /* "pcs_lane" same as pcs_misc? */ 1837 + clocks = <&gcc GCC_PCIE_0_PIPE_CLK>; 1838 + clock-names = "pipe0"; 1839 + 1840 + #phy-cells = <0>; 1841 + clock-output-names = "pcie_0_pipe_clk"; 1842 + }; 1843 + }; 1844 + 1845 + pcie1: pci@1c08000 { 1846 + compatible = "qcom,pcie-sm8150", "snps,dw-pcie"; 1847 + reg = <0 0x01c08000 0 0x3000>, 1848 + <0 0x40000000 0 0xf1d>, 1849 + <0 0x40000f20 0 0xa8>, 1850 + <0 0x40001000 0 0x1000>, 1851 + <0 0x40100000 0 0x100000>; 1852 + reg-names = "parf", "dbi", "elbi", "atu", "config"; 1853 + device_type = "pci"; 1854 + linux,pci-domain = <1>; 1855 + bus-range = <0x00 0xff>; 1856 + num-lanes = <2>; 1857 + 1858 + #address-cells = <3>; 1859 + #size-cells = <2>; 1860 + 1861 + ranges = <0x01000000 0x0 0x40200000 0x0 0x40200000 0x0 0x100000>, 1862 + <0x02000000 0x0 0x40300000 0x0 0x40300000 0x0 0x1fd00000>; 1863 + 1864 + interrupts = <GIC_SPI 307 IRQ_TYPE_EDGE_RISING>; 1865 + interrupt-names = "msi"; 1866 + #interrupt-cells = <1>; 1867 + interrupt-map-mask = <0 0 0 0x7>; 1868 + interrupt-map = <0 0 0 1 &intc 0 434 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ 1869 + <0 0 0 2 &intc 0 435 IRQ_TYPE_LEVEL_HIGH>, /* int_b */ 1870 + <0 0 0 3 &intc 0 438 IRQ_TYPE_LEVEL_HIGH>, /* int_c */ 1871 + <0 0 0 4 &intc 0 439 IRQ_TYPE_LEVEL_HIGH>; /* int_d */ 1872 + 1873 + clocks = <&gcc GCC_PCIE_1_PIPE_CLK>, 1874 + <&gcc GCC_PCIE_1_AUX_CLK>, 1875 + <&gcc GCC_PCIE_1_CFG_AHB_CLK>, 1876 + <&gcc GCC_PCIE_1_MSTR_AXI_CLK>, 1877 + <&gcc GCC_PCIE_1_SLV_AXI_CLK>, 1878 + <&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>, 1879 + <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>; 1880 + clock-names = "pipe", 1881 + "aux", 1882 + "cfg", 1883 + "bus_master", 1884 + "bus_slave", 1885 + "slave_q2a", 1886 + "tbu"; 1887 + 1888 + assigned-clocks = <&gcc GCC_PCIE_1_AUX_CLK>; 1889 + assigned-clock-rates = <19200000>; 1890 + 1891 + iommus = <&apps_smmu 0x1e00 0x7f>; 1892 + iommu-map = <0x0 &apps_smmu 0x1e00 0x1>, 1893 + <0x100 &apps_smmu 0x1e01 0x1>; 1894 + 1895 + resets = <&gcc GCC_PCIE_1_BCR>; 1896 + reset-names = "pci"; 1897 + 1898 + power-domains = <&gcc PCIE_1_GDSC>; 1899 + 1900 + phys = <&pcie1_lane>; 1901 + phy-names = "pciephy"; 1902 + 1903 + perst-gpio = <&tlmm 102 GPIO_ACTIVE_HIGH>; 1904 + enable-gpio = <&tlmm 104 GPIO_ACTIVE_HIGH>; 1905 + 1906 + pinctrl-names = "default"; 1907 + pinctrl-0 = <&pcie1_default_state>; 1908 + 1909 + status = "disabled"; 1910 + }; 1911 + 1912 + pcie1_phy: phy@1c0e000 { 1913 + compatible = "qcom,sm8150-qmp-gen3x2-pcie-phy"; 1914 + reg = <0 0x01c0e000 0 0x1c0>; 1915 + #address-cells = <2>; 1916 + #size-cells = <2>; 1917 + ranges; 1918 + clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>, 1919 + <&gcc GCC_PCIE_1_CFG_AHB_CLK>, 1920 + <&gcc GCC_PCIE1_PHY_REFGEN_CLK>; 1921 + clock-names = "aux", "cfg_ahb", "refgen"; 1922 + 1923 + resets = <&gcc GCC_PCIE_1_PHY_BCR>; 1924 + reset-names = "phy"; 1925 + 1926 + assigned-clocks = <&gcc GCC_PCIE1_PHY_REFGEN_CLK>; 1927 + assigned-clock-rates = <100000000>; 1928 + 1929 + status = "disabled"; 1930 + 1931 + pcie1_lane: phy@1c0e200 { 1932 + reg = <0 0x1c0e200 0 0x170>, /* tx0 */ 1933 + <0 0x1c0e400 0 0x200>, /* rx0 */ 1934 + <0 0x1c0ea00 0 0x1f0>, /* pcs */ 1935 + <0 0x1c0e600 0 0x170>, /* tx1 */ 1936 + <0 0x1c0e800 0 0x200>, /* rx1 */ 1937 + <0 0x1c0ee00 0 0xf4>; /* "pcs_com" same as pcs_misc? */ 1938 + clocks = <&gcc GCC_PCIE_1_PIPE_CLK>; 1939 + clock-names = "pipe0"; 1940 + 1941 + #phy-cells = <0>; 1942 + clock-output-names = "pcie_1_pipe_clk"; 1943 + }; 1944 + }; 1945 + 1776 1946 ufs_mem_hc: ufshc@1d84000 { 1777 1947 compatible = "qcom,sm8150-ufshc", "qcom,ufshc", 1778 1948 "jedec,ufs-2.0"; ··· 2030 1806 "ref_aux"; 2031 1807 clocks = <&gcc GCC_UFS_MEM_CLKREF_CLK>, 2032 1808 <&gcc GCC_UFS_PHY_PHY_AUX_CLK>; 1809 + 1810 + power-domains = <&gcc UFS_PHY_GDSC>; 2033 1811 2034 1812 resets = <&ufs_mem_hc 0>; 2035 1813 reset-names = "ufsphy"; ··· 2274 2048 #gpio-cells = <2>; 2275 2049 interrupt-controller; 2276 2050 #interrupt-cells = <2>; 2051 + wakeup-parent = <&pdc>; 2277 2052 2278 2053 qup_i2c0_default: qup-i2c0-default { 2279 2054 mux { ··· 2674 2447 function = "qup19"; 2675 2448 drive-strength = <6>; 2676 2449 bias-disable; 2450 + }; 2451 + 2452 + pcie0_default_state: pcie0-default { 2453 + perst { 2454 + pins = "gpio35"; 2455 + function = "gpio"; 2456 + drive-strength = <2>; 2457 + bias-pull-down; 2458 + }; 2459 + 2460 + clkreq { 2461 + pins = "gpio36"; 2462 + function = "pci_e0"; 2463 + drive-strength = <2>; 2464 + bias-pull-up; 2465 + }; 2466 + 2467 + wake { 2468 + pins = "gpio37"; 2469 + function = "gpio"; 2470 + drive-strength = <2>; 2471 + bias-pull-up; 2472 + }; 2473 + }; 2474 + 2475 + pcie1_default_state: pcie1-default { 2476 + perst { 2477 + pins = "gpio102"; 2478 + function = "gpio"; 2479 + drive-strength = <2>; 2480 + bias-pull-down; 2481 + }; 2482 + 2483 + clkreq { 2484 + pins = "gpio103"; 2485 + function = "pci_e1"; 2486 + drive-strength = <2>; 2487 + bias-pull-up; 2488 + }; 2489 + 2490 + wake { 2491 + pins = "gpio104"; 2492 + function = "gpio"; 2493 + drive-strength = <2>; 2494 + bias-pull-up; 2495 + }; 2677 2496 }; 2678 2497 }; 2679 2498 ··· 3543 3270 }; 3544 3271 }; 3545 3272 3273 + sdhc_2: sdhci@8804000 { 3274 + compatible = "qcom,sm8150-sdhci", "qcom,sdhci-msm-v5"; 3275 + reg = <0 0x08804000 0 0x1000>; 3276 + 3277 + interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>, 3278 + <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>; 3279 + interrupt-names = "hc_irq", "pwr_irq"; 3280 + 3281 + clocks = <&gcc GCC_SDCC2_AHB_CLK>, 3282 + <&gcc GCC_SDCC2_APPS_CLK>, 3283 + <&rpmhcc RPMH_CXO_CLK>; 3284 + clock-names = "iface", "core", "xo"; 3285 + iommus = <&apps_smmu 0x6a0 0x0>; 3286 + qcom,dll-config = <0x0007642c>; 3287 + qcom,ddr-config = <0x80040868>; 3288 + power-domains = <&rpmhpd 0>; 3289 + operating-points-v2 = <&sdhc2_opp_table>; 3290 + 3291 + status = "disabled"; 3292 + 3293 + sdhc2_opp_table: sdhc2-opp-table { 3294 + compatible = "operating-points-v2"; 3295 + 3296 + opp-19200000 { 3297 + opp-hz = /bits/ 64 <19200000>; 3298 + required-opps = <&rpmhpd_opp_min_svs>; 3299 + }; 3300 + 3301 + opp-50000000 { 3302 + opp-hz = /bits/ 64 <50000000>; 3303 + required-opps = <&rpmhpd_opp_low_svs>; 3304 + }; 3305 + 3306 + opp-100000000 { 3307 + opp-hz = /bits/ 64 <100000000>; 3308 + required-opps = <&rpmhpd_opp_svs>; 3309 + }; 3310 + 3311 + opp-202000000 { 3312 + opp-hz = /bits/ 64 <202000000>; 3313 + required-opps = <&rpmhpd_opp_svs_l1>; 3314 + }; 3315 + }; 3316 + }; 3317 + 3546 3318 dc_noc: interconnect@9160000 { 3547 3319 compatible = "qcom,sm8150-dc-noc"; 3548 3320 reg = <0 0x09160000 0 0x3200>; ··· 3697 3379 reg = <0 0x0ac00000 0 0x1000>; 3698 3380 #interconnect-cells = <1>; 3699 3381 qcom,bcm-voters = <&apps_bcm_voter>; 3382 + }; 3383 + 3384 + pdc: interrupt-controller@b220000 { 3385 + compatible = "qcom,sm8150-pdc", "qcom,pdc"; 3386 + reg = <0 0x0b220000 0 0x400>; 3387 + qcom,pdc-ranges = <0 480 94>, <94 609 31>, 3388 + <125 63 1>; 3389 + #interrupt-cells = <2>; 3390 + interrupt-parent = <&intc>; 3391 + interrupt-controller; 3700 3392 }; 3701 3393 3702 3394 aoss_qmp: power-controller@c300000 { ··· 4072 3744 }; 4073 3745 }; 4074 3746 4075 - apps_bcm_voter: bcm_voter { 3747 + apps_bcm_voter: bcm-voter { 4076 3748 compatible = "qcom,bcm-voter"; 4077 3749 }; 4078 3750 };
+29 -1
arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi
··· 441 441 status = "okay"; 442 442 clock-frequency = <1000000>; 443 443 444 - /* Dual Cirrus Logic CS35L41 amps @ 40, 41 */ 444 + cs35l41_l: cs35l41@40 { 445 + compatible = "cirrus,cs35l41"; 446 + reg = <0x40>; 447 + interrupt-parent = <&tlmm>; 448 + interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 449 + reset-gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>; 450 + cirrus,boost-peak-milliamp = <4000>; 451 + cirrus,boost-ind-nanohenry = <1000>; 452 + cirrus,boost-cap-microfarad = <15>; 453 + cirrus,asp-sdout-hiz = <3>; 454 + cirrus,gpio2-src-select = <2>; 455 + cirrus,gpio2-output-enable; 456 + #sound-dai-cells = <1>; 457 + }; 458 + 459 + cs35l41_r: cs35l41@41 { 460 + compatible = "cirrus,cs35l41"; 461 + reg = <0x41>; 462 + interrupt-parent = <&tlmm>; 463 + interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 464 + reset-gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>; 465 + cirrus,boost-peak-milliamp = <4000>; 466 + cirrus,boost-ind-nanohenry = <1000>; 467 + cirrus,boost-cap-microfarad = <15>; 468 + cirrus,asp-sdout-hiz = <3>; 469 + cirrus,gpio2-src-select = <2>; 470 + cirrus,gpio2-output-enable; 471 + #sound-dai-cells = <1>; 472 + }; 445 473 }; 446 474 447 475 &i2c5 {
+335 -4
arch/arm64/boot/dts/qcom/sm8250.dtsi
··· 18 18 #include <dt-bindings/soc/qcom,rpmh-rsc.h> 19 19 #include <dt-bindings/sound/qcom,q6afe.h> 20 20 #include <dt-bindings/thermal/thermal.h> 21 + #include <dt-bindings/clock/qcom,camcc-sm8250.h> 21 22 #include <dt-bindings/clock/qcom,videocc-sm8250.h> 22 23 23 24 / { ··· 3150 3149 #power-domain-cells = <1>; 3151 3150 }; 3152 3151 3152 + cci0: cci@ac4f000 { 3153 + compatible = "qcom,sm8250-cci"; 3154 + #address-cells = <1>; 3155 + #size-cells = <0>; 3156 + 3157 + reg = <0 0x0ac4f000 0 0x1000>; 3158 + interrupts = <GIC_SPI 460 IRQ_TYPE_EDGE_RISING>; 3159 + power-domains = <&camcc TITAN_TOP_GDSC>; 3160 + 3161 + clocks = <&camcc CAM_CC_CAMNOC_AXI_CLK>, 3162 + <&camcc CAM_CC_SLOW_AHB_CLK_SRC>, 3163 + <&camcc CAM_CC_CPAS_AHB_CLK>, 3164 + <&camcc CAM_CC_CCI_0_CLK>, 3165 + <&camcc CAM_CC_CCI_0_CLK_SRC>; 3166 + clock-names = "camnoc_axi", 3167 + "slow_ahb_src", 3168 + "cpas_ahb", 3169 + "cci", 3170 + "cci_src"; 3171 + 3172 + pinctrl-0 = <&cci0_default>; 3173 + pinctrl-1 = <&cci0_sleep>; 3174 + pinctrl-names = "default", "sleep"; 3175 + 3176 + status = "disabled"; 3177 + 3178 + cci0_i2c0: i2c-bus@0 { 3179 + reg = <0>; 3180 + clock-frequency = <1000000>; 3181 + #address-cells = <1>; 3182 + #size-cells = <0>; 3183 + }; 3184 + 3185 + cci0_i2c1: i2c-bus@1 { 3186 + reg = <1>; 3187 + clock-frequency = <1000000>; 3188 + #address-cells = <1>; 3189 + #size-cells = <0>; 3190 + }; 3191 + }; 3192 + 3193 + cci1: cci@ac50000 { 3194 + compatible = "qcom,sm8250-cci"; 3195 + #address-cells = <1>; 3196 + #size-cells = <0>; 3197 + 3198 + reg = <0 0x0ac50000 0 0x1000>; 3199 + interrupts = <GIC_SPI 271 IRQ_TYPE_EDGE_RISING>; 3200 + power-domains = <&camcc TITAN_TOP_GDSC>; 3201 + 3202 + clocks = <&camcc CAM_CC_CAMNOC_AXI_CLK>, 3203 + <&camcc CAM_CC_SLOW_AHB_CLK_SRC>, 3204 + <&camcc CAM_CC_CPAS_AHB_CLK>, 3205 + <&camcc CAM_CC_CCI_1_CLK>, 3206 + <&camcc CAM_CC_CCI_1_CLK_SRC>; 3207 + clock-names = "camnoc_axi", 3208 + "slow_ahb_src", 3209 + "cpas_ahb", 3210 + "cci", 3211 + "cci_src"; 3212 + 3213 + pinctrl-0 = <&cci1_default>; 3214 + pinctrl-1 = <&cci1_sleep>; 3215 + pinctrl-names = "default", "sleep"; 3216 + 3217 + status = "disabled"; 3218 + 3219 + cci1_i2c0: i2c-bus@0 { 3220 + reg = <0>; 3221 + clock-frequency = <1000000>; 3222 + #address-cells = <1>; 3223 + #size-cells = <0>; 3224 + }; 3225 + 3226 + cci1_i2c1: i2c-bus@1 { 3227 + reg = <1>; 3228 + clock-frequency = <1000000>; 3229 + #address-cells = <1>; 3230 + #size-cells = <0>; 3231 + }; 3232 + }; 3233 + 3234 + camss: camss@ac6a000 { 3235 + compatible = "qcom,sm8250-camss"; 3236 + status = "disabled"; 3237 + 3238 + reg = <0 0xac6a000 0 0x2000>, 3239 + <0 0xac6c000 0 0x2000>, 3240 + <0 0xac6e000 0 0x1000>, 3241 + <0 0xac70000 0 0x1000>, 3242 + <0 0xac72000 0 0x1000>, 3243 + <0 0xac74000 0 0x1000>, 3244 + <0 0xacb4000 0 0xd000>, 3245 + <0 0xacc3000 0 0xd000>, 3246 + <0 0xacd9000 0 0x2200>, 3247 + <0 0xacdb200 0 0x2200>; 3248 + reg-names = "csiphy0", 3249 + "csiphy1", 3250 + "csiphy2", 3251 + "csiphy3", 3252 + "csiphy4", 3253 + "csiphy5", 3254 + "vfe0", 3255 + "vfe1", 3256 + "vfe_lite0", 3257 + "vfe_lite1"; 3258 + 3259 + interrupts = <GIC_SPI 477 IRQ_TYPE_LEVEL_HIGH>, 3260 + <GIC_SPI 478 IRQ_TYPE_LEVEL_HIGH>, 3261 + <GIC_SPI 479 IRQ_TYPE_LEVEL_HIGH>, 3262 + <GIC_SPI 448 IRQ_TYPE_LEVEL_HIGH>, 3263 + <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>, 3264 + <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>, 3265 + <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>, 3266 + <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>, 3267 + <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>, 3268 + <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>, 3269 + <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>, 3270 + <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>, 3271 + <GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>, 3272 + <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>; 3273 + interrupt-names = "csiphy0", 3274 + "csiphy1", 3275 + "csiphy2", 3276 + "csiphy3", 3277 + "csiphy4", 3278 + "csiphy5", 3279 + "csid0", 3280 + "csid1", 3281 + "csid2", 3282 + "csid3", 3283 + "vfe0", 3284 + "vfe1", 3285 + "vfe_lite0", 3286 + "vfe_lite1"; 3287 + 3288 + power-domains = <&camcc IFE_0_GDSC>, 3289 + <&camcc IFE_1_GDSC>, 3290 + <&camcc TITAN_TOP_GDSC>; 3291 + 3292 + clocks = <&gcc GCC_CAMERA_AHB_CLK>, 3293 + <&gcc GCC_CAMERA_HF_AXI_CLK>, 3294 + <&gcc GCC_CAMERA_SF_AXI_CLK>, 3295 + <&camcc CAM_CC_CAMNOC_AXI_CLK>, 3296 + <&camcc CAM_CC_CAMNOC_AXI_CLK_SRC>, 3297 + <&camcc CAM_CC_CORE_AHB_CLK>, 3298 + <&camcc CAM_CC_CPAS_AHB_CLK>, 3299 + <&camcc CAM_CC_CSIPHY0_CLK>, 3300 + <&camcc CAM_CC_CSI0PHYTIMER_CLK>, 3301 + <&camcc CAM_CC_CSIPHY1_CLK>, 3302 + <&camcc CAM_CC_CSI1PHYTIMER_CLK>, 3303 + <&camcc CAM_CC_CSIPHY2_CLK>, 3304 + <&camcc CAM_CC_CSI2PHYTIMER_CLK>, 3305 + <&camcc CAM_CC_CSIPHY3_CLK>, 3306 + <&camcc CAM_CC_CSI3PHYTIMER_CLK>, 3307 + <&camcc CAM_CC_CSIPHY4_CLK>, 3308 + <&camcc CAM_CC_CSI4PHYTIMER_CLK>, 3309 + <&camcc CAM_CC_CSIPHY5_CLK>, 3310 + <&camcc CAM_CC_CSI5PHYTIMER_CLK>, 3311 + <&camcc CAM_CC_SLOW_AHB_CLK_SRC>, 3312 + <&camcc CAM_CC_IFE_0_AHB_CLK>, 3313 + <&camcc CAM_CC_IFE_0_AXI_CLK>, 3314 + <&camcc CAM_CC_IFE_0_CLK>, 3315 + <&camcc CAM_CC_IFE_0_CPHY_RX_CLK>, 3316 + <&camcc CAM_CC_IFE_0_CSID_CLK>, 3317 + <&camcc CAM_CC_IFE_0_AREG_CLK>, 3318 + <&camcc CAM_CC_IFE_1_AHB_CLK>, 3319 + <&camcc CAM_CC_IFE_1_AXI_CLK>, 3320 + <&camcc CAM_CC_IFE_1_CLK>, 3321 + <&camcc CAM_CC_IFE_1_CPHY_RX_CLK>, 3322 + <&camcc CAM_CC_IFE_1_CSID_CLK>, 3323 + <&camcc CAM_CC_IFE_1_AREG_CLK>, 3324 + <&camcc CAM_CC_IFE_LITE_AHB_CLK>, 3325 + <&camcc CAM_CC_IFE_LITE_AXI_CLK>, 3326 + <&camcc CAM_CC_IFE_LITE_CLK>, 3327 + <&camcc CAM_CC_IFE_LITE_CPHY_RX_CLK>, 3328 + <&camcc CAM_CC_IFE_LITE_CSID_CLK>; 3329 + 3330 + clock-names = "cam_ahb_clk", 3331 + "cam_hf_axi", 3332 + "cam_sf_axi", 3333 + "camnoc_axi", 3334 + "camnoc_axi_src", 3335 + "core_ahb", 3336 + "cpas_ahb", 3337 + "csiphy0", 3338 + "csiphy0_timer", 3339 + "csiphy1", 3340 + "csiphy1_timer", 3341 + "csiphy2", 3342 + "csiphy2_timer", 3343 + "csiphy3", 3344 + "csiphy3_timer", 3345 + "csiphy4", 3346 + "csiphy4_timer", 3347 + "csiphy5", 3348 + "csiphy5_timer", 3349 + "slow_ahb_src", 3350 + "vfe0_ahb", 3351 + "vfe0_axi", 3352 + "vfe0", 3353 + "vfe0_cphy_rx", 3354 + "vfe0_csid", 3355 + "vfe0_areg", 3356 + "vfe1_ahb", 3357 + "vfe1_axi", 3358 + "vfe1", 3359 + "vfe1_cphy_rx", 3360 + "vfe1_csid", 3361 + "vfe1_areg", 3362 + "vfe_lite_ahb", 3363 + "vfe_lite_axi", 3364 + "vfe_lite", 3365 + "vfe_lite_cphy_rx", 3366 + "vfe_lite_csid"; 3367 + 3368 + iommus = <&apps_smmu 0x800 0x400>, 3369 + <&apps_smmu 0x801 0x400>, 3370 + <&apps_smmu 0x840 0x400>, 3371 + <&apps_smmu 0x841 0x400>, 3372 + <&apps_smmu 0xc00 0x400>, 3373 + <&apps_smmu 0xc01 0x400>, 3374 + <&apps_smmu 0xc40 0x400>, 3375 + <&apps_smmu 0xc41 0x400>; 3376 + 3377 + interconnects = <&gem_noc MASTER_AMPSS_M0 &config_noc SLAVE_CAMERA_CFG>, 3378 + <&mmss_noc MASTER_CAMNOC_HF &mc_virt SLAVE_EBI_CH0>, 3379 + <&mmss_noc MASTER_CAMNOC_SF &mc_virt SLAVE_EBI_CH0>, 3380 + <&mmss_noc MASTER_CAMNOC_ICP &mc_virt SLAVE_EBI_CH0>; 3381 + interconnect-names = "cam_ahb", 3382 + "cam_hf_0_mnoc", 3383 + "cam_sf_0_mnoc", 3384 + "cam_sf_icp_mnoc"; 3385 + }; 3386 + 3387 + camcc: clock-controller@ad00000 { 3388 + compatible = "qcom,sm8250-camcc"; 3389 + reg = <0 0x0ad00000 0 0x10000>; 3390 + clocks = <&gcc GCC_CAMERA_AHB_CLK>, 3391 + <&rpmhcc RPMH_CXO_CLK>, 3392 + <&rpmhcc RPMH_CXO_CLK_A>, 3393 + <&sleep_clk>; 3394 + clock-names = "iface", "bi_tcxo", "bi_tcxo_ao", "sleep_clk"; 3395 + power-domains = <&rpmhpd SM8250_MMCX>; 3396 + required-opps = <&rpmhpd_opp_low_svs>; 3397 + #clock-cells = <1>; 3398 + #reset-cells = <1>; 3399 + #power-domain-cells = <1>; 3400 + }; 3401 + 3153 3402 mdss: mdss@ae00000 { 3154 3403 compatible = "qcom,sm8250-mdss"; 3155 3404 reg = <0 0x0ae00000 0 0x1000>; ··· 3453 3202 power-domains = <&rpmhpd SM8250_MMCX>; 3454 3203 3455 3204 interrupt-parent = <&mdss>; 3456 - interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; 3205 + interrupts = <0>; 3457 3206 3458 3207 ports { 3459 3208 #address-cells = <1>; ··· 3505 3254 reg-names = "dsi_ctrl"; 3506 3255 3507 3256 interrupt-parent = <&mdss>; 3508 - interrupts = <4 IRQ_TYPE_LEVEL_HIGH>; 3257 + interrupts = <4>; 3509 3258 3510 3259 clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, 3511 3260 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, ··· 3578 3327 reg-names = "dsi_ctrl"; 3579 3328 3580 3329 interrupt-parent = <&mdss>; 3581 - interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; 3330 + interrupts = <5>; 3582 3331 3583 3332 clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK>, 3584 3333 <&dispcc DISP_CC_MDSS_BYTE1_INTF_CLK>, ··· 3769 3518 #interrupt-cells = <2>; 3770 3519 gpio-ranges = <&tlmm 0 0 181>; 3771 3520 wakeup-parent = <&pdc>; 3521 + 3522 + cci0_default: cci0-default { 3523 + cci0_i2c0_default: cci0-i2c0-default { 3524 + /* SDA, SCL */ 3525 + pins = "gpio101", "gpio102"; 3526 + function = "cci_i2c"; 3527 + 3528 + bias-pull-up; 3529 + drive-strength = <2>; /* 2 mA */ 3530 + }; 3531 + 3532 + cci0_i2c1_default: cci0-i2c1-default { 3533 + /* SDA, SCL */ 3534 + pins = "gpio103", "gpio104"; 3535 + function = "cci_i2c"; 3536 + 3537 + bias-pull-up; 3538 + drive-strength = <2>; /* 2 mA */ 3539 + }; 3540 + }; 3541 + 3542 + cci0_sleep: cci0-sleep { 3543 + cci0_i2c0_sleep: cci0-i2c0-sleep { 3544 + /* SDA, SCL */ 3545 + pins = "gpio101", "gpio102"; 3546 + function = "cci_i2c"; 3547 + 3548 + drive-strength = <2>; /* 2 mA */ 3549 + bias-pull-down; 3550 + }; 3551 + 3552 + cci0_i2c1_sleep: cci0-i2c1-sleep { 3553 + /* SDA, SCL */ 3554 + pins = "gpio103", "gpio104"; 3555 + function = "cci_i2c"; 3556 + 3557 + drive-strength = <2>; /* 2 mA */ 3558 + bias-pull-down; 3559 + }; 3560 + }; 3561 + 3562 + cci1_default: cci1-default { 3563 + cci1_i2c0_default: cci1-i2c0-default { 3564 + /* SDA, SCL */ 3565 + pins = "gpio105","gpio106"; 3566 + function = "cci_i2c"; 3567 + 3568 + bias-pull-up; 3569 + drive-strength = <2>; /* 2 mA */ 3570 + }; 3571 + 3572 + cci1_i2c1_default: cci1-i2c1-default { 3573 + /* SDA, SCL */ 3574 + pins = "gpio107","gpio108"; 3575 + function = "cci_i2c"; 3576 + 3577 + bias-pull-up; 3578 + drive-strength = <2>; /* 2 mA */ 3579 + }; 3580 + }; 3581 + 3582 + cci1_sleep: cci1-sleep { 3583 + cci1_i2c0_sleep: cci1-i2c0-sleep { 3584 + /* SDA, SCL */ 3585 + pins = "gpio105","gpio106"; 3586 + function = "cci_i2c"; 3587 + 3588 + bias-pull-down; 3589 + drive-strength = <2>; /* 2 mA */ 3590 + }; 3591 + 3592 + cci1_i2c1_sleep: cci1-i2c1-sleep { 3593 + /* SDA, SCL */ 3594 + pins = "gpio107","gpio108"; 3595 + function = "cci_i2c"; 3596 + 3597 + bias-pull-down; 3598 + drive-strength = <2>; /* 2 mA */ 3599 + }; 3600 + }; 3772 3601 3773 3602 pri_mi2s_active: pri-mi2s-active { 3774 3603 sclk { ··· 4985 4654 }; 4986 4655 }; 4987 4656 4988 - apps_bcm_voter: bcm_voter { 4657 + apps_bcm_voter: bcm-voter { 4989 4658 compatible = "qcom,bcm-voter"; 4990 4659 }; 4991 4660 };
+4
arch/arm64/boot/dts/qcom/sm8350-hdk.dts
··· 213 213 firmware-name = "qcom/sm8350/cdsp.mbn"; 214 214 }; 215 215 216 + &gpi_dma1 { 217 + status = "okay"; 218 + }; 219 + 216 220 &mpss { 217 221 status = "okay"; 218 222 firmware-name = "qcom/sm8350/modem.mbn";
+12
arch/arm64/boot/dts/qcom/sm8350-microsoft-surface-duo2.dts
··· 281 281 firmware-name = "qcom/sm8350/microsoft/cdsp.mbn"; 282 282 }; 283 283 284 + &i2c10 { 285 + status = "okay"; 286 + }; 287 + 288 + &i2c11 { 289 + status = "okay"; 290 + }; 291 + 284 292 &ipa { 285 293 status = "okay"; 286 294 ··· 301 293 }; 302 294 303 295 &qupv3_id_0 { 296 + status = "okay"; 297 + }; 298 + 299 + &qupv3_id_1 { 304 300 status = "okay"; 305 301 }; 306 302
+182 -4
arch/arm64/boot/dts/qcom/sm8350.dtsi
··· 6 6 #include <dt-bindings/interrupt-controller/arm-gic.h> 7 7 #include <dt-bindings/clock/qcom,gcc-sm8350.h> 8 8 #include <dt-bindings/clock/qcom,rpmh.h> 9 + #include <dt-bindings/dma/qcom-gpi.h> 9 10 #include <dt-bindings/gpio/gpio.h> 10 11 #include <dt-bindings/interconnect/qcom,sm8350.h> 11 12 #include <dt-bindings/mailbox/qcom-ipcc.h> ··· 676 675 }; 677 676 }; 678 677 678 + gpi_dma2: dma-controller@800000 { 679 + compatible = "qcom,sm8350-gpi-dma"; 680 + reg = <0 0x00800000 0 0x60000>; 681 + interrupts = <GIC_SPI 588 IRQ_TYPE_LEVEL_HIGH>, 682 + <GIC_SPI 589 IRQ_TYPE_LEVEL_HIGH>, 683 + <GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH>, 684 + <GIC_SPI 591 IRQ_TYPE_LEVEL_HIGH>, 685 + <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH>, 686 + <GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>, 687 + <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH>, 688 + <GIC_SPI 595 IRQ_TYPE_LEVEL_HIGH>, 689 + <GIC_SPI 596 IRQ_TYPE_LEVEL_HIGH>, 690 + <GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH>, 691 + <GIC_SPI 598 IRQ_TYPE_LEVEL_HIGH>, 692 + <GIC_SPI 599 IRQ_TYPE_LEVEL_HIGH>; 693 + dma-channels = <12>; 694 + dma-channel-mask = <0xff>; 695 + iommus = <&apps_smmu 0x5f6 0x0>; 696 + #dma-cells = <3>; 697 + status = "disabled"; 698 + }; 699 + 679 700 qupv3_id_2: geniqup@8c0000 { 680 701 compatible = "qcom,geni-se-qup"; 681 702 reg = <0x0 0x008c0000 0x0 0x6000>; ··· 718 695 pinctrl-names = "default"; 719 696 pinctrl-0 = <&qup_i2c14_default>; 720 697 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>; 698 + dmas = <&gpi_dma2 0 0 QCOM_GPI_I2C>, 699 + <&gpi_dma2 1 0 QCOM_GPI_I2C>; 700 + dma-names = "tx", "rx"; 721 701 #address-cells = <1>; 722 702 #size-cells = <0>; 723 703 status = "disabled"; ··· 734 708 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>; 735 709 power-domains = <&rpmhpd SM8350_CX>; 736 710 operating-points-v2 = <&qup_opp_table_120mhz>; 711 + dmas = <&gpi_dma2 0 0 QCOM_GPI_SPI>, 712 + <&gpi_dma2 1 0 QCOM_GPI_SPI>; 713 + dma-names = "tx", "rx"; 737 714 #address-cells = <1>; 738 715 #size-cells = <0>; 739 716 status = "disabled"; ··· 750 721 pinctrl-names = "default"; 751 722 pinctrl-0 = <&qup_i2c15_default>; 752 723 interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>; 724 + dmas = <&gpi_dma2 0 1 QCOM_GPI_I2C>, 725 + <&gpi_dma2 1 1 QCOM_GPI_I2C>; 726 + dma-names = "tx", "rx"; 753 727 #address-cells = <1>; 754 728 #size-cells = <0>; 755 729 status = "disabled"; ··· 766 734 interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>; 767 735 power-domains = <&rpmhpd SM8350_CX>; 768 736 operating-points-v2 = <&qup_opp_table_120mhz>; 737 + dmas = <&gpi_dma2 0 1 QCOM_GPI_SPI>, 738 + <&gpi_dma2 1 1 QCOM_GPI_SPI>; 739 + dma-names = "tx", "rx"; 769 740 #address-cells = <1>; 770 741 #size-cells = <0>; 771 742 status = "disabled"; ··· 782 747 pinctrl-names = "default"; 783 748 pinctrl-0 = <&qup_i2c16_default>; 784 749 interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>; 750 + dmas = <&gpi_dma2 0 2 QCOM_GPI_I2C>, 751 + <&gpi_dma2 1 2 QCOM_GPI_I2C>; 752 + dma-names = "tx", "rx"; 785 753 #address-cells = <1>; 786 754 #size-cells = <0>; 787 755 status = "disabled"; ··· 798 760 interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>; 799 761 power-domains = <&rpmhpd SM8350_CX>; 800 762 operating-points-v2 = <&qup_opp_table_100mhz>; 763 + dmas = <&gpi_dma2 0 2 QCOM_GPI_SPI>, 764 + <&gpi_dma2 1 2 QCOM_GPI_SPI>; 765 + dma-names = "tx", "rx"; 801 766 #address-cells = <1>; 802 767 #size-cells = <0>; 803 768 status = "disabled"; ··· 814 773 pinctrl-names = "default"; 815 774 pinctrl-0 = <&qup_i2c17_default>; 816 775 interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>; 776 + dmas = <&gpi_dma2 0 3 QCOM_GPI_I2C>, 777 + <&gpi_dma2 1 3 QCOM_GPI_I2C>; 778 + dma-names = "tx", "rx"; 817 779 #address-cells = <1>; 818 780 #size-cells = <0>; 819 781 status = "disabled"; ··· 830 786 interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>; 831 787 power-domains = <&rpmhpd SM8350_CX>; 832 788 operating-points-v2 = <&qup_opp_table_100mhz>; 789 + dmas = <&gpi_dma2 0 3 QCOM_GPI_SPI>, 790 + <&gpi_dma2 1 3 QCOM_GPI_SPI>; 791 + dma-names = "tx", "rx"; 833 792 #address-cells = <1>; 834 793 #size-cells = <0>; 835 794 status = "disabled"; ··· 848 801 interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>; 849 802 power-domains = <&rpmhpd SM8350_CX>; 850 803 operating-points-v2 = <&qup_opp_table_100mhz>; 804 + dmas = <&gpi_dma2 0 4 QCOM_GPI_SPI>, 805 + <&gpi_dma2 1 4 QCOM_GPI_SPI>; 806 + dma-names = "tx", "rx"; 851 807 #address-cells = <1>; 852 808 #size-cells = <0>; 853 809 status = "disabled"; ··· 877 827 pinctrl-names = "default"; 878 828 pinctrl-0 = <&qup_i2c19_default>; 879 829 interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>; 830 + dmas = <&gpi_dma2 0 5 QCOM_GPI_I2C>, 831 + <&gpi_dma2 1 5 QCOM_GPI_I2C>; 832 + dma-names = "tx", "rx"; 880 833 #address-cells = <1>; 881 834 #size-cells = <0>; 882 835 status = "disabled"; ··· 893 840 interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>; 894 841 power-domains = <&rpmhpd SM8350_CX>; 895 842 operating-points-v2 = <&qup_opp_table_100mhz>; 843 + dmas = <&gpi_dma2 0 5 QCOM_GPI_SPI>, 844 + <&gpi_dma2 1 5 QCOM_GPI_SPI>; 845 + dma-names = "tx", "rx"; 896 846 #address-cells = <1>; 897 847 #size-cells = <0>; 898 848 status = "disabled"; 899 849 }; 850 + }; 851 + 852 + gpi_dma0: dma-controller@900000 { 853 + compatible = "qcom,sm8350-gpi-dma"; 854 + reg = <0 0x09800000 0 0x60000>; 855 + interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>, 856 + <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>, 857 + <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>, 858 + <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>, 859 + <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>, 860 + <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>, 861 + <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>, 862 + <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>, 863 + <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>, 864 + <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>, 865 + <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>, 866 + <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>; 867 + dma-channels = <12>; 868 + dma-channel-mask = <0x7e>; 869 + iommus = <&apps_smmu 0x5b6 0x0>; 870 + #dma-cells = <3>; 871 + status = "disabled"; 900 872 }; 901 873 902 874 qupv3_id_0: geniqup@9c0000 { ··· 944 866 pinctrl-names = "default"; 945 867 pinctrl-0 = <&qup_i2c0_default>; 946 868 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>; 869 + dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>, 870 + <&gpi_dma0 1 0 QCOM_GPI_I2C>; 871 + dma-names = "tx", "rx"; 947 872 #address-cells = <1>; 948 873 #size-cells = <0>; 949 874 status = "disabled"; ··· 960 879 interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>; 961 880 power-domains = <&rpmhpd SM8350_CX>; 962 881 operating-points-v2 = <&qup_opp_table_100mhz>; 882 + dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>, 883 + <&gpi_dma0 1 0 QCOM_GPI_SPI>; 884 + dma-names = "tx", "rx"; 963 885 #address-cells = <1>; 964 886 #size-cells = <0>; 965 887 status = "disabled"; ··· 976 892 pinctrl-names = "default"; 977 893 pinctrl-0 = <&qup_i2c1_default>; 978 894 interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>; 895 + dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>, 896 + <&gpi_dma0 1 1 QCOM_GPI_I2C>; 897 + dma-names = "tx", "rx"; 979 898 #address-cells = <1>; 980 899 #size-cells = <0>; 981 900 status = "disabled"; ··· 992 905 interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>; 993 906 power-domains = <&rpmhpd SM8350_CX>; 994 907 operating-points-v2 = <&qup_opp_table_100mhz>; 908 + dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>, 909 + <&gpi_dma0 1 1 QCOM_GPI_SPI>; 910 + dma-names = "tx", "rx"; 995 911 #address-cells = <1>; 996 912 #size-cells = <0>; 997 913 status = "disabled"; ··· 1008 918 pinctrl-names = "default"; 1009 919 pinctrl-0 = <&qup_i2c2_default>; 1010 920 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>; 921 + dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>, 922 + <&gpi_dma0 1 2 QCOM_GPI_I2C>; 923 + dma-names = "tx", "rx"; 1011 924 #address-cells = <1>; 1012 925 #size-cells = <0>; 1013 926 status = "disabled"; ··· 1024 931 interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>; 1025 932 power-domains = <&rpmhpd SM8350_CX>; 1026 933 operating-points-v2 = <&qup_opp_table_100mhz>; 934 + dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>, 935 + <&gpi_dma0 1 2 QCOM_GPI_SPI>; 936 + dma-names = "tx", "rx"; 1027 937 #address-cells = <1>; 1028 938 #size-cells = <0>; 1029 939 status = "disabled"; ··· 1057 961 interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>; 1058 962 power-domains = <&rpmhpd SM8350_CX>; 1059 963 operating-points-v2 = <&qup_opp_table_100mhz>; 964 + dmas = <&gpi_dma0 0 3 QCOM_GPI_SPI>, 965 + <&gpi_dma0 1 3 QCOM_GPI_SPI>; 966 + dma-names = "tx", "rx"; 1060 967 #address-cells = <1>; 1061 968 #size-cells = <0>; 1062 969 status = "disabled"; ··· 1073 974 pinctrl-names = "default"; 1074 975 pinctrl-0 = <&qup_i2c4_default>; 1075 976 interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>; 977 + dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>, 978 + <&gpi_dma0 1 4 QCOM_GPI_I2C>; 979 + dma-names = "tx", "rx"; 1076 980 #address-cells = <1>; 1077 981 #size-cells = <0>; 1078 982 status = "disabled"; ··· 1089 987 interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>; 1090 988 power-domains = <&rpmhpd SM8350_CX>; 1091 989 operating-points-v2 = <&qup_opp_table_100mhz>; 990 + dmas = <&gpi_dma0 0 4 QCOM_GPI_SPI>, 991 + <&gpi_dma0 1 4 QCOM_GPI_SPI>; 992 + dma-names = "tx", "rx"; 1092 993 #address-cells = <1>; 1093 994 #size-cells = <0>; 1094 995 status = "disabled"; ··· 1105 1000 pinctrl-names = "default"; 1106 1001 pinctrl-0 = <&qup_i2c5_default>; 1107 1002 interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>; 1003 + dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>, 1004 + <&gpi_dma0 1 5 QCOM_GPI_I2C>; 1005 + dma-names = "tx", "rx"; 1108 1006 #address-cells = <1>; 1109 1007 #size-cells = <0>; 1110 1008 status = "disabled"; ··· 1121 1013 interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>; 1122 1014 power-domains = <&rpmhpd SM8350_CX>; 1123 1015 operating-points-v2 = <&qup_opp_table_100mhz>; 1016 + dmas = <&gpi_dma0 0 5 QCOM_GPI_SPI>, 1017 + <&gpi_dma0 1 5 QCOM_GPI_SPI>; 1018 + dma-names = "tx", "rx"; 1124 1019 #address-cells = <1>; 1125 1020 #size-cells = <0>; 1126 1021 status = "disabled"; ··· 1137 1026 pinctrl-names = "default"; 1138 1027 pinctrl-0 = <&qup_i2c6_default>; 1139 1028 interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>; 1029 + dmas = <&gpi_dma0 0 6 QCOM_GPI_I2C>, 1030 + <&gpi_dma0 1 6 QCOM_GPI_I2C>; 1031 + dma-names = "tx", "rx"; 1140 1032 #address-cells = <1>; 1141 1033 #size-cells = <0>; 1142 1034 status = "disabled"; ··· 1153 1039 interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>; 1154 1040 power-domains = <&rpmhpd SM8350_CX>; 1155 1041 operating-points-v2 = <&qup_opp_table_100mhz>; 1042 + dmas = <&gpi_dma0 0 6 QCOM_GPI_SPI>, 1043 + <&gpi_dma0 1 6 QCOM_GPI_SPI>; 1044 + dma-names = "tx", "rx"; 1156 1045 #address-cells = <1>; 1157 1046 #size-cells = <0>; 1158 1047 status = "disabled"; ··· 1182 1065 pinctrl-names = "default"; 1183 1066 pinctrl-0 = <&qup_i2c7_default>; 1184 1067 interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>; 1068 + dmas = <&gpi_dma0 0 7 QCOM_GPI_I2C>, 1069 + <&gpi_dma0 1 7 QCOM_GPI_I2C>; 1070 + dma-names = "tx", "rx"; 1185 1071 #address-cells = <1>; 1186 1072 #size-cells = <0>; 1187 1073 status = "disabled"; ··· 1198 1078 interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>; 1199 1079 power-domains = <&rpmhpd SM8350_CX>; 1200 1080 operating-points-v2 = <&qup_opp_table_100mhz>; 1081 + dmas = <&gpi_dma0 0 7 QCOM_GPI_SPI>, 1082 + <&gpi_dma0 1 7 QCOM_GPI_SPI>; 1083 + dma-names = "tx", "rx"; 1201 1084 #address-cells = <1>; 1202 1085 #size-cells = <0>; 1203 1086 status = "disabled"; 1204 1087 }; 1088 + }; 1089 + 1090 + gpi_dma1: dma-controller@a00000 { 1091 + compatible = "qcom,sm8350-gpi-dma"; 1092 + reg = <0 0x00a00000 0 0x60000>; 1093 + interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>, 1094 + <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>, 1095 + <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>, 1096 + <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>, 1097 + <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>, 1098 + <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>, 1099 + <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>, 1100 + <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>, 1101 + <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>, 1102 + <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>, 1103 + <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>, 1104 + <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>; 1105 + dma-channels = <12>; 1106 + dma-channel-mask = <0xff>; 1107 + iommus = <&apps_smmu 0x56 0x0>; 1108 + #dma-cells = <3>; 1109 + status = "disabled"; 1205 1110 }; 1206 1111 1207 1112 qupv3_id_1: geniqup@ac0000 { ··· 1249 1104 pinctrl-names = "default"; 1250 1105 pinctrl-0 = <&qup_i2c8_default>; 1251 1106 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; 1107 + dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>, 1108 + <&gpi_dma1 1 0 QCOM_GPI_I2C>; 1109 + dma-names = "tx", "rx"; 1252 1110 #address-cells = <1>; 1253 1111 #size-cells = <0>; 1254 1112 status = "disabled"; ··· 1265 1117 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; 1266 1118 power-domains = <&rpmhpd SM8350_CX>; 1267 1119 operating-points-v2 = <&qup_opp_table_120mhz>; 1120 + dmas = <&gpi_dma1 0 0 QCOM_GPI_SPI>, 1121 + <&gpi_dma1 1 0 QCOM_GPI_SPI>; 1122 + dma-names = "tx", "rx"; 1268 1123 #address-cells = <1>; 1269 1124 #size-cells = <0>; 1270 1125 status = "disabled"; ··· 1281 1130 pinctrl-names = "default"; 1282 1131 pinctrl-0 = <&qup_i2c9_default>; 1283 1132 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; 1133 + dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>, 1134 + <&gpi_dma1 1 1 QCOM_GPI_I2C>; 1135 + dma-names = "tx", "rx"; 1284 1136 #address-cells = <1>; 1285 1137 #size-cells = <0>; 1286 1138 status = "disabled"; ··· 1297 1143 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; 1298 1144 power-domains = <&rpmhpd SM8350_CX>; 1299 1145 operating-points-v2 = <&qup_opp_table_100mhz>; 1146 + dmas = <&gpi_dma1 0 1 QCOM_GPI_SPI>, 1147 + <&gpi_dma1 1 1 QCOM_GPI_SPI>; 1148 + dma-names = "tx", "rx"; 1300 1149 #address-cells = <1>; 1301 1150 #size-cells = <0>; 1302 1151 status = "disabled"; ··· 1313 1156 pinctrl-names = "default"; 1314 1157 pinctrl-0 = <&qup_i2c10_default>; 1315 1158 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; 1159 + dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>, 1160 + <&gpi_dma1 1 2 QCOM_GPI_I2C>; 1161 + dma-names = "tx", "rx"; 1316 1162 #address-cells = <1>; 1317 1163 #size-cells = <0>; 1318 1164 status = "disabled"; ··· 1329 1169 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; 1330 1170 power-domains = <&rpmhpd SM8350_CX>; 1331 1171 operating-points-v2 = <&qup_opp_table_100mhz>; 1172 + dmas = <&gpi_dma1 0 2 QCOM_GPI_SPI>, 1173 + <&gpi_dma1 1 2 QCOM_GPI_SPI>; 1174 + dma-names = "tx", "rx"; 1332 1175 #address-cells = <1>; 1333 1176 #size-cells = <0>; 1334 1177 status = "disabled"; ··· 1345 1182 pinctrl-names = "default"; 1346 1183 pinctrl-0 = <&qup_i2c11_default>; 1347 1184 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; 1185 + dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>, 1186 + <&gpi_dma1 1 3 QCOM_GPI_I2C>; 1187 + dma-names = "tx", "rx"; 1348 1188 #address-cells = <1>; 1349 1189 #size-cells = <0>; 1350 1190 status = "disabled"; ··· 1361 1195 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; 1362 1196 power-domains = <&rpmhpd SM8350_CX>; 1363 1197 operating-points-v2 = <&qup_opp_table_100mhz>; 1198 + dmas = <&gpi_dma1 0 3 QCOM_GPI_SPI>, 1199 + <&gpi_dma1 1 3 QCOM_GPI_SPI>; 1200 + dma-names = "tx", "rx"; 1364 1201 #address-cells = <1>; 1365 1202 #size-cells = <0>; 1366 1203 status = "disabled"; ··· 1377 1208 pinctrl-names = "default"; 1378 1209 pinctrl-0 = <&qup_i2c12_default>; 1379 1210 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>; 1211 + dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>, 1212 + <&gpi_dma1 1 4 QCOM_GPI_I2C>; 1213 + dma-names = "tx", "rx"; 1380 1214 #address-cells = <1>; 1381 1215 #size-cells = <0>; 1382 1216 status = "disabled"; ··· 1393 1221 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>; 1394 1222 power-domains = <&rpmhpd SM8350_CX>; 1395 1223 operating-points-v2 = <&qup_opp_table_100mhz>; 1224 + dmas = <&gpi_dma1 0 4 QCOM_GPI_SPI>, 1225 + <&gpi_dma1 1 4 QCOM_GPI_SPI>; 1226 + dma-names = "tx", "rx"; 1396 1227 #address-cells = <1>; 1397 1228 #size-cells = <0>; 1398 1229 status = "disabled"; ··· 1409 1234 pinctrl-names = "default"; 1410 1235 pinctrl-0 = <&qup_i2c13_default>; 1411 1236 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>; 1237 + dmas = <&gpi_dma1 0 5 QCOM_GPI_I2C>, 1238 + <&gpi_dma1 1 5 QCOM_GPI_I2C>; 1239 + dma-names = "tx", "rx"; 1412 1240 #address-cells = <1>; 1413 1241 #size-cells = <0>; 1414 1242 status = "disabled"; ··· 1425 1247 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>; 1426 1248 power-domains = <&rpmhpd SM8350_CX>; 1427 1249 operating-points-v2 = <&qup_opp_table_100mhz>; 1250 + dmas = <&gpi_dma1 0 5 QCOM_GPI_SPI>, 1251 + <&gpi_dma1 1 5 QCOM_GPI_SPI>; 1252 + dma-names = "tx", "rx"; 1428 1253 #address-cells = <1>; 1429 1254 #size-cells = <0>; 1430 1255 status = "disabled"; ··· 2062 1881 }; 2063 1882 }; 2064 1883 2065 - apps_bcm_voter: bcm_voter { 1884 + apps_bcm_voter: bcm-voter { 2066 1885 compatible = "qcom,bcm-voter"; 2067 1886 }; 2068 1887 }; ··· 2097 1916 iommus = <&apps_smmu 0xe0 0x0>; 2098 1917 2099 1918 clock-names = 2100 - "ref_clk", 2101 1919 "core_clk", 2102 1920 "bus_aggr_clk", 2103 1921 "iface_clk", ··· 2106 1926 "rx_lane0_sync_clk", 2107 1927 "rx_lane1_sync_clk"; 2108 1928 clocks = 2109 - <&rpmhcc RPMH_CXO_CLK>, 2110 1929 <&gcc GCC_UFS_PHY_AXI_CLK>, 2111 1930 <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>, 2112 1931 <&gcc GCC_UFS_PHY_AHB_CLK>, ··· 2115 1936 <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>, 2116 1937 <&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>; 2117 1938 freq-table-hz = 2118 - <75000000 300000000>, 2119 1939 <75000000 300000000>, 2120 1940 <0 0>, 2121 1941 <0 0>,
+41
arch/arm64/boot/dts/qcom/sm8450-hdk.dts
··· 349 349 }; 350 350 }; 351 351 352 + &pcie0 { 353 + status = "okay"; 354 + max-link-speed = <2>; 355 + }; 356 + 357 + &pcie0_phy { 358 + status = "okay"; 359 + vdda-phy-supply = <&vreg_l5b_0p88>; 360 + vdda-pll-supply = <&vreg_l6b_1p2>; 361 + }; 362 + 363 + &pcie1 { 364 + status = "okay"; 365 + }; 366 + 367 + &pcie1_phy { 368 + status = "okay"; 369 + vdda-phy-supply = <&vreg_l2h_0p91>; 370 + vdda-pll-supply = <&vreg_l6b_1p2>; 371 + }; 372 + 373 + &remoteproc_adsp { 374 + status = "okay"; 375 + firmware-name = "qcom/sm8450/adsp.mbn"; 376 + }; 377 + 378 + &remoteproc_cdsp { 379 + status = "okay"; 380 + firmware-name = "qcom/sm8450/cdsp.mbn"; 381 + }; 382 + 383 + &remoteproc_mpss { 384 + status = "okay"; 385 + firmware-name = "qcom/sm8450/modem.mbn"; 386 + }; 387 + 388 + &remoteproc_slpi { 389 + status = "okay"; 390 + firmware-name = "qcom/sm8450/slpi.mbn"; 391 + }; 392 + 352 393 &qupv3_id_0 { 353 394 status = "okay"; 354 395 };
+34
arch/arm64/boot/dts/qcom/sm8450-qrd.dts
··· 342 342 }; 343 343 }; 344 344 345 + &pcie0 { 346 + status = "okay"; 347 + }; 348 + 349 + &pcie0_phy { 350 + status = "okay"; 351 + vdda-phy-supply = <&vreg_l5b_0p88>; 352 + vdda-pll-supply = <&vreg_l6b_1p2>; 353 + }; 354 + 355 + &gpi_dma0 { 356 + status = "okay"; 357 + }; 358 + 359 + &i2c5 { 360 + status = "okay"; 361 + }; 362 + 345 363 &qupv3_id_0 { 364 + status = "okay"; 365 + }; 366 + 367 + &qupv3_id_2 { 346 368 status = "okay"; 347 369 }; 348 370 ··· 386 364 &remoteproc_slpi { 387 365 status = "okay"; 388 366 firmware-name = "qcom/sm8450/slpi.mbn"; 367 + }; 368 + 369 + &spi4 { 370 + status = "okay"; 371 + }; 372 + 373 + &spi18 { 374 + status = "okay"; 375 + }; 376 + 377 + &spi19 { 378 + status = "okay"; 389 379 }; 390 380 391 381 &tlmm {
+2497 -3
arch/arm64/boot/dts/qcom/sm8450.dtsi
··· 6 6 #include <dt-bindings/interrupt-controller/arm-gic.h> 7 7 #include <dt-bindings/clock/qcom,gcc-sm8450.h> 8 8 #include <dt-bindings/clock/qcom,rpmh.h> 9 + #include <dt-bindings/dma/qcom-gpi.h> 9 10 #include <dt-bindings/gpio/gpio.h> 10 11 #include <dt-bindings/mailbox/qcom-ipcc.h> 11 12 #include <dt-bindings/power/qcom-rpmpd.h> 12 13 #include <dt-bindings/interconnect/qcom,sm8450.h> 13 14 #include <dt-bindings/soc/qcom,rpmh-rsc.h> 15 + #include <dt-bindings/thermal/thermal.h> 14 16 15 17 / { 16 18 interrupt-parent = <&intc>; ··· 49 47 power-domains = <&CPU_PD0>; 50 48 power-domain-names = "psci"; 51 49 qcom,freq-domain = <&cpufreq_hw 0>; 50 + #cooling-cells = <2>; 52 51 L2_0: l2-cache { 53 52 compatible = "cache"; 54 53 next-level-cache = <&L3_0>; ··· 68 65 power-domains = <&CPU_PD1>; 69 66 power-domain-names = "psci"; 70 67 qcom,freq-domain = <&cpufreq_hw 0>; 68 + #cooling-cells = <2>; 71 69 L2_100: l2-cache { 72 70 compatible = "cache"; 73 71 next-level-cache = <&L3_0>; ··· 84 80 power-domains = <&CPU_PD2>; 85 81 power-domain-names = "psci"; 86 82 qcom,freq-domain = <&cpufreq_hw 0>; 83 + #cooling-cells = <2>; 87 84 L2_200: l2-cache { 88 85 compatible = "cache"; 89 86 next-level-cache = <&L3_0>; ··· 100 95 power-domains = <&CPU_PD3>; 101 96 power-domain-names = "psci"; 102 97 qcom,freq-domain = <&cpufreq_hw 0>; 98 + #cooling-cells = <2>; 103 99 L2_300: l2-cache { 104 100 compatible = "cache"; 105 101 next-level-cache = <&L3_0>; ··· 116 110 power-domains = <&CPU_PD4>; 117 111 power-domain-names = "psci"; 118 112 qcom,freq-domain = <&cpufreq_hw 1>; 113 + #cooling-cells = <2>; 119 114 L2_400: l2-cache { 120 115 compatible = "cache"; 121 116 next-level-cache = <&L3_0>; ··· 132 125 power-domains = <&CPU_PD5>; 133 126 power-domain-names = "psci"; 134 127 qcom,freq-domain = <&cpufreq_hw 1>; 128 + #cooling-cells = <2>; 135 129 L2_500: l2-cache { 136 130 compatible = "cache"; 137 131 next-level-cache = <&L3_0>; ··· 149 141 power-domains = <&CPU_PD6>; 150 142 power-domain-names = "psci"; 151 143 qcom,freq-domain = <&cpufreq_hw 1>; 144 + #cooling-cells = <2>; 152 145 L2_600: l2-cache { 153 146 compatible = "cache"; 154 147 next-level-cache = <&L3_0>; ··· 165 156 power-domains = <&CPU_PD7>; 166 157 power-domain-names = "psci"; 167 158 qcom,freq-domain = <&cpufreq_hw 2>; 159 + #cooling-cells = <2>; 168 160 L2_700: l2-cache { 169 161 compatible = "cache"; 170 162 next-level-cache = <&L3_0>; ··· 340 330 CLUSTER_PD: cpu-cluster0 { 341 331 #power-domain-cells = <0>; 342 332 domain-idle-states = <&CLUSTER_SLEEP_0>, <&CLUSTER_SLEEP_1>; 333 + }; 334 + }; 335 + 336 + qup_opp_table_100mhz: qup-100mhz-opp-table { 337 + compatible = "operating-points-v2"; 338 + 339 + opp-50000000 { 340 + opp-hz = /bits/ 64 <50000000>; 341 + required-opps = <&rpmhpd_opp_min_svs>; 342 + }; 343 + 344 + opp-75000000 { 345 + opp-hz = /bits/ 64 <75000000>; 346 + required-opps = <&rpmhpd_opp_low_svs>; 347 + }; 348 + 349 + opp-100000000 { 350 + opp-hz = /bits/ 64 <100000000>; 351 + required-opps = <&rpmhpd_opp_svs>; 343 352 }; 344 353 }; 345 354 ··· 712 683 #clock-cells = <1>; 713 684 #reset-cells = <1>; 714 685 #power-domain-cells = <1>; 715 - clock-names = "bi_tcxo", "sleep_clk"; 716 - clocks = <&rpmhcc RPMH_CXO_CLK>, <&sleep_clk>; 686 + clocks = <&rpmhcc RPMH_CXO_CLK>, 687 + <&pcie0_lane>, 688 + <&pcie1_lane>, 689 + <&sleep_clk>; 690 + clock-names = "bi_tcxo", 691 + "pcie_0_pipe_clk", 692 + "pcie_1_pipe_clk", 693 + "sleep_clk"; 694 + }; 695 + 696 + gpi_dma2: dma-controller@800000 { 697 + compatible = "qcom,sm8450-gpi-dma"; 698 + #dma-cells = <3>; 699 + reg = <0 0x800000 0 0x60000>; 700 + interrupts = <GIC_SPI 588 IRQ_TYPE_LEVEL_HIGH>, 701 + <GIC_SPI 589 IRQ_TYPE_LEVEL_HIGH>, 702 + <GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH>, 703 + <GIC_SPI 591 IRQ_TYPE_LEVEL_HIGH>, 704 + <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH>, 705 + <GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>, 706 + <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH>, 707 + <GIC_SPI 595 IRQ_TYPE_LEVEL_HIGH>, 708 + <GIC_SPI 596 IRQ_TYPE_LEVEL_HIGH>, 709 + <GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH>, 710 + <GIC_SPI 598 IRQ_TYPE_LEVEL_HIGH>, 711 + <GIC_SPI 599 IRQ_TYPE_LEVEL_HIGH>; 712 + dma-channels = <12>; 713 + dma-channel-mask = <0x7e>; 714 + iommus = <&apps_smmu 0x496 0x0>; 715 + status = "disabled"; 716 + }; 717 + 718 + qupv3_id_2: geniqup@8c0000 { 719 + compatible = "qcom,geni-se-qup"; 720 + reg = <0x0 0x008c0000 0x0 0x2000>; 721 + clock-names = "m-ahb", "s-ahb"; 722 + clocks = <&gcc GCC_QUPV3_WRAP_2_M_AHB_CLK>, 723 + <&gcc GCC_QUPV3_WRAP_2_S_AHB_CLK>; 724 + iommus = <&apps_smmu 0x483 0x0>; 725 + #address-cells = <2>; 726 + #size-cells = <2>; 727 + ranges; 728 + status = "disabled"; 729 + 730 + i2c15: i2c@880000 { 731 + compatible = "qcom,geni-i2c"; 732 + reg = <0x0 0x00880000 0x0 0x4000>; 733 + clock-names = "se"; 734 + clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>; 735 + pinctrl-names = "default"; 736 + pinctrl-0 = <&qup_i2c15_data_clk>; 737 + interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>; 738 + #address-cells = <1>; 739 + #size-cells = <0>; 740 + interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>, 741 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 742 + <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>; 743 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 744 + dmas = <&gpi_dma2 0 0 QCOM_GPI_I2C>, 745 + <&gpi_dma2 1 0 QCOM_GPI_I2C>; 746 + dma-names = "tx", "rx"; 747 + status = "disabled"; 748 + }; 749 + 750 + spi15: spi@880000 { 751 + compatible = "qcom,geni-spi"; 752 + reg = <0x0 0x00880000 0x0 0x4000>; 753 + clock-names = "se"; 754 + clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>; 755 + interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>; 756 + pinctrl-names = "default"; 757 + pinctrl-0 = <&qup_spi15_data_clk>, <&qup_spi15_cs>; 758 + spi-max-frequency = <50000000>; 759 + interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>, 760 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>; 761 + interconnect-names = "qup-core", "qup-config"; 762 + dmas = <&gpi_dma2 0 0 QCOM_GPI_SPI>, 763 + <&gpi_dma2 1 0 QCOM_GPI_SPI>; 764 + dma-names = "tx", "rx"; 765 + #address-cells = <1>; 766 + #size-cells = <0>; 767 + status = "disabled"; 768 + }; 769 + 770 + i2c16: i2c@884000 { 771 + compatible = "qcom,geni-i2c"; 772 + reg = <0x0 0x00884000 0x0 0x4000>; 773 + clock-names = "se"; 774 + clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>; 775 + pinctrl-names = "default"; 776 + pinctrl-0 = <&qup_i2c16_data_clk>; 777 + interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>; 778 + #address-cells = <1>; 779 + #size-cells = <0>; 780 + interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>, 781 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 782 + <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>; 783 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 784 + dmas = <&gpi_dma2 0 1 QCOM_GPI_I2C>, 785 + <&gpi_dma2 1 1 QCOM_GPI_I2C>; 786 + dma-names = "tx", "rx"; 787 + status = "disabled"; 788 + }; 789 + 790 + spi16: spi@884000 { 791 + compatible = "qcom,geni-spi"; 792 + reg = <0x0 0x00884000 0x0 0x4000>; 793 + clock-names = "se"; 794 + clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>; 795 + interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>; 796 + pinctrl-names = "default"; 797 + pinctrl-0 = <&qup_spi16_data_clk>, <&qup_spi16_cs>; 798 + spi-max-frequency = <50000000>; 799 + interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>, 800 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>; 801 + interconnect-names = "qup-core", "qup-config"; 802 + dmas = <&gpi_dma2 0 1 QCOM_GPI_SPI>, 803 + <&gpi_dma2 1 1 QCOM_GPI_SPI>; 804 + dma-names = "tx", "rx"; 805 + #address-cells = <1>; 806 + #size-cells = <0>; 807 + status = "disabled"; 808 + }; 809 + 810 + i2c17: i2c@888000 { 811 + compatible = "qcom,geni-i2c"; 812 + reg = <0x0 0x00888000 0x0 0x4000>; 813 + clock-names = "se"; 814 + clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>; 815 + pinctrl-names = "default"; 816 + pinctrl-0 = <&qup_i2c17_data_clk>; 817 + interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>; 818 + #address-cells = <1>; 819 + #size-cells = <0>; 820 + interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>, 821 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 822 + <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>; 823 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 824 + dmas = <&gpi_dma2 0 2 QCOM_GPI_I2C>, 825 + <&gpi_dma2 1 2 QCOM_GPI_I2C>; 826 + dma-names = "tx", "rx"; 827 + status = "disabled"; 828 + }; 829 + 830 + spi17: spi@888000 { 831 + compatible = "qcom,geni-spi"; 832 + reg = <0x0 0x00888000 0x0 0x4000>; 833 + clock-names = "se"; 834 + clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>; 835 + interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>; 836 + pinctrl-names = "default"; 837 + pinctrl-0 = <&qup_spi17_data_clk>, <&qup_spi17_cs>; 838 + spi-max-frequency = <50000000>; 839 + interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>, 840 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>; 841 + interconnect-names = "qup-core", "qup-config"; 842 + dmas = <&gpi_dma2 0 2 QCOM_GPI_SPI>, 843 + <&gpi_dma2 1 2 QCOM_GPI_SPI>; 844 + dma-names = "tx", "rx"; 845 + #address-cells = <1>; 846 + #size-cells = <0>; 847 + status = "disabled"; 848 + }; 849 + 850 + i2c18: i2c@88c000 { 851 + compatible = "qcom,geni-i2c"; 852 + reg = <0x0 0x0088c000 0x0 0x4000>; 853 + clock-names = "se"; 854 + clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>; 855 + pinctrl-names = "default"; 856 + pinctrl-0 = <&qup_i2c18_data_clk>; 857 + interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>; 858 + #address-cells = <1>; 859 + #size-cells = <0>; 860 + interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>, 861 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 862 + <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>; 863 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 864 + dmas = <&gpi_dma2 0 3 QCOM_GPI_I2C>, 865 + <&gpi_dma2 1 3 QCOM_GPI_I2C>; 866 + dma-names = "tx", "rx"; 867 + status = "disabled"; 868 + }; 869 + 870 + spi18: spi@88c000 { 871 + compatible = "qcom,geni-spi"; 872 + reg = <0 0x0088c000 0 0x4000>; 873 + clock-names = "se"; 874 + clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>; 875 + interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>; 876 + pinctrl-names = "default"; 877 + pinctrl-0 = <&qup_spi18_data_clk>, <&qup_spi18_cs>; 878 + spi-max-frequency = <50000000>; 879 + interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>, 880 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>; 881 + interconnect-names = "qup-core", "qup-config"; 882 + dmas = <&gpi_dma2 0 3 QCOM_GPI_I2C>, 883 + <&gpi_dma2 1 3 QCOM_GPI_I2C>; 884 + dma-names = "tx", "rx"; 885 + #address-cells = <1>; 886 + #size-cells = <0>; 887 + status = "disabled"; 888 + }; 889 + 890 + i2c19: i2c@890000 { 891 + compatible = "qcom,geni-i2c"; 892 + reg = <0x0 0x00890000 0x0 0x4000>; 893 + clock-names = "se"; 894 + clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>; 895 + pinctrl-names = "default"; 896 + pinctrl-0 = <&qup_i2c19_data_clk>; 897 + interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>; 898 + #address-cells = <1>; 899 + #size-cells = <0>; 900 + interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>, 901 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 902 + <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>; 903 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 904 + dmas = <&gpi_dma2 0 4 QCOM_GPI_I2C>, 905 + <&gpi_dma2 1 4 QCOM_GPI_I2C>; 906 + dma-names = "tx", "rx"; 907 + status = "disabled"; 908 + }; 909 + 910 + spi19: spi@890000 { 911 + compatible = "qcom,geni-spi"; 912 + reg = <0 0x00890000 0 0x4000>; 913 + clock-names = "se"; 914 + clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>; 915 + interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>; 916 + pinctrl-names = "default"; 917 + pinctrl-0 = <&qup_spi19_data_clk>, <&qup_spi19_cs>; 918 + spi-max-frequency = <50000000>; 919 + interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>, 920 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>; 921 + interconnect-names = "qup-core", "qup-config"; 922 + dmas = <&gpi_dma2 0 4 QCOM_GPI_I2C>, 923 + <&gpi_dma2 1 4 QCOM_GPI_I2C>; 924 + dma-names = "tx", "rx"; 925 + #address-cells = <1>; 926 + #size-cells = <0>; 927 + status = "disabled"; 928 + }; 929 + 930 + i2c20: i2c@894000 { 931 + compatible = "qcom,geni-i2c"; 932 + reg = <0x0 0x00894000 0x0 0x4000>; 933 + clock-names = "se"; 934 + clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>; 935 + pinctrl-names = "default"; 936 + pinctrl-0 = <&qup_i2c20_data_clk>; 937 + interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>; 938 + #address-cells = <1>; 939 + #size-cells = <0>; 940 + interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>, 941 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 942 + <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>; 943 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 944 + dmas = <&gpi_dma2 0 5 QCOM_GPI_I2C>, 945 + <&gpi_dma2 1 5 QCOM_GPI_I2C>; 946 + dma-names = "tx", "rx"; 947 + status = "disabled"; 948 + }; 949 + 950 + spi20: spi@894000 { 951 + compatible = "qcom,geni-spi"; 952 + reg = <0 0x00894000 0 0x4000>; 953 + clock-names = "se"; 954 + clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>; 955 + interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>; 956 + pinctrl-names = "default"; 957 + pinctrl-0 = <&qup_spi20_data_clk>, <&qup_spi20_cs>; 958 + spi-max-frequency = <50000000>; 959 + interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>, 960 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>; 961 + interconnect-names = "qup-core", "qup-config"; 962 + dmas = <&gpi_dma2 0 5 QCOM_GPI_SPI>, 963 + <&gpi_dma2 1 5 QCOM_GPI_SPI>; 964 + dma-names = "tx", "rx"; 965 + #address-cells = <1>; 966 + #size-cells = <0>; 967 + status = "disabled"; 968 + }; 969 + 970 + i2c21: i2c@898000 { 971 + compatible = "qcom,geni-i2c"; 972 + reg = <0x0 0x00898000 0x0 0x4000>; 973 + clock-names = "se"; 974 + clocks = <&gcc GCC_QUPV3_WRAP2_S6_CLK>; 975 + pinctrl-names = "default"; 976 + pinctrl-0 = <&qup_i2c21_data_clk>; 977 + interrupts = <GIC_SPI 579 IRQ_TYPE_LEVEL_HIGH>; 978 + #address-cells = <1>; 979 + #size-cells = <0>; 980 + interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>, 981 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 982 + <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>; 983 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 984 + dmas = <&gpi_dma2 0 6 QCOM_GPI_I2C>, 985 + <&gpi_dma2 1 6 QCOM_GPI_I2C>; 986 + dma-names = "tx", "rx"; 987 + status = "disabled"; 988 + }; 989 + 990 + spi21: spi@898000 { 991 + compatible = "qcom,geni-spi"; 992 + reg = <0 0x00898000 0 0x4000>; 993 + clock-names = "se"; 994 + clocks = <&gcc GCC_QUPV3_WRAP2_S6_CLK>; 995 + interrupts = <GIC_SPI 579 IRQ_TYPE_LEVEL_HIGH>; 996 + pinctrl-names = "default"; 997 + pinctrl-0 = <&qup_spi21_data_clk>, <&qup_spi21_cs>; 998 + spi-max-frequency = <50000000>; 999 + interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>, 1000 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>; 1001 + interconnect-names = "qup-core", "qup-config"; 1002 + dmas = <&gpi_dma2 0 6 QCOM_GPI_SPI>, 1003 + <&gpi_dma2 1 6 QCOM_GPI_SPI>; 1004 + dma-names = "tx", "rx"; 1005 + #address-cells = <1>; 1006 + #size-cells = <0>; 1007 + status = "disabled"; 1008 + }; 1009 + }; 1010 + 1011 + gpi_dma0: dma-controller@900000 { 1012 + compatible = "qcom,sm8450-gpi-dma"; 1013 + #dma-cells = <3>; 1014 + reg = <0 0x900000 0 0x60000>; 1015 + interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>, 1016 + <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>, 1017 + <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>, 1018 + <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>, 1019 + <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>, 1020 + <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>, 1021 + <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>, 1022 + <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>, 1023 + <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>, 1024 + <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>, 1025 + <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>, 1026 + <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>; 1027 + dma-channels = <12>; 1028 + dma-channel-mask = <0x7e>; 1029 + iommus = <&apps_smmu 0x5b6 0x0>; 1030 + status = "disabled"; 717 1031 }; 718 1032 719 1033 qupv3_id_0: geniqup@9c0000 { ··· 1065 693 clock-names = "m-ahb", "s-ahb"; 1066 694 clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>, 1067 695 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>; 696 + iommus = <&apps_smmu 0x5a3 0x0>; 697 + interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>; 698 + interconnect-names = "qup-core"; 1068 699 #address-cells = <2>; 1069 700 #size-cells = <2>; 1070 701 ranges; 1071 702 status = "disabled"; 703 + 704 + i2c0: i2c@980000 { 705 + compatible = "qcom,geni-i2c"; 706 + reg = <0x0 0x00980000 0x0 0x4000>; 707 + clock-names = "se"; 708 + clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>; 709 + pinctrl-names = "default"; 710 + pinctrl-0 = <&qup_i2c0_data_clk>; 711 + interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>; 712 + #address-cells = <1>; 713 + #size-cells = <0>; 714 + interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 715 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 716 + <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 717 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 718 + dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>, 719 + <&gpi_dma0 1 0 QCOM_GPI_I2C>; 720 + dma-names = "tx", "rx"; 721 + status = "disabled"; 722 + }; 723 + 724 + spi0: spi@980000 { 725 + compatible = "qcom,geni-spi"; 726 + reg = <0x0 0x00980000 0x0 0x4000>; 727 + clock-names = "se"; 728 + clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>; 729 + interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>; 730 + pinctrl-names = "default"; 731 + pinctrl-0 = <&qup_spi0_data_clk>, <&qup_spi0_cs>; 732 + power-domains = <&rpmhpd SM8450_CX>; 733 + operating-points-v2 = <&qup_opp_table_100mhz>; 734 + interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 735 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 736 + <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 737 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 738 + dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>, 739 + <&gpi_dma0 1 0 QCOM_GPI_SPI>; 740 + dma-names = "tx", "rx"; 741 + #address-cells = <1>; 742 + #size-cells = <0>; 743 + status = "disabled"; 744 + }; 745 + 746 + i2c1: i2c@984000 { 747 + compatible = "qcom,geni-i2c"; 748 + reg = <0x0 0x00984000 0x0 0x4000>; 749 + clock-names = "se"; 750 + clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>; 751 + pinctrl-names = "default"; 752 + pinctrl-0 = <&qup_i2c1_data_clk>; 753 + interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>; 754 + #address-cells = <1>; 755 + #size-cells = <0>; 756 + interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 757 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 758 + <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 759 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 760 + dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>, 761 + <&gpi_dma0 1 1 QCOM_GPI_I2C>; 762 + dma-names = "tx", "rx"; 763 + status = "disabled"; 764 + }; 765 + 766 + spi1: spi@984000 { 767 + compatible = "qcom,geni-spi"; 768 + reg = <0x0 0x00984000 0x0 0x4000>; 769 + clock-names = "se"; 770 + clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>; 771 + interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>; 772 + pinctrl-names = "default"; 773 + pinctrl-0 = <&qup_spi1_data_clk>, <&qup_spi1_cs>; 774 + interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 775 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 776 + <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 777 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 778 + dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>, 779 + <&gpi_dma0 1 1 QCOM_GPI_SPI>; 780 + dma-names = "tx", "rx"; 781 + #address-cells = <1>; 782 + #size-cells = <0>; 783 + status = "disabled"; 784 + }; 785 + 786 + i2c2: i2c@988000 { 787 + compatible = "qcom,geni-i2c"; 788 + reg = <0x0 0x00988000 0x0 0x4000>; 789 + clock-names = "se"; 790 + clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>; 791 + pinctrl-names = "default"; 792 + pinctrl-0 = <&qup_i2c2_data_clk>; 793 + interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>; 794 + #address-cells = <1>; 795 + #size-cells = <0>; 796 + interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 797 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 798 + <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 799 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 800 + dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>, 801 + <&gpi_dma0 1 2 QCOM_GPI_I2C>; 802 + dma-names = "tx", "rx"; 803 + status = "disabled"; 804 + }; 805 + 806 + spi2: spi@988000 { 807 + compatible = "qcom,geni-spi"; 808 + reg = <0x0 0x00988000 0x0 0x4000>; 809 + clock-names = "se"; 810 + clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>; 811 + interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>; 812 + pinctrl-names = "default"; 813 + pinctrl-0 = <&qup_spi2_data_clk>, <&qup_spi2_cs>; 814 + interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 815 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 816 + <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 817 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 818 + dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>, 819 + <&gpi_dma0 1 2 QCOM_GPI_SPI>; 820 + dma-names = "tx", "rx"; 821 + #address-cells = <1>; 822 + #size-cells = <0>; 823 + status = "disabled"; 824 + }; 825 + 826 + 827 + i2c3: i2c@98c000 { 828 + compatible = "qcom,geni-i2c"; 829 + reg = <0x0 0x0098c000 0x0 0x4000>; 830 + clock-names = "se"; 831 + clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>; 832 + pinctrl-names = "default"; 833 + pinctrl-0 = <&qup_i2c3_data_clk>; 834 + interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>; 835 + #address-cells = <1>; 836 + #size-cells = <0>; 837 + interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 838 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 839 + <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 840 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 841 + dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>, 842 + <&gpi_dma0 1 3 QCOM_GPI_I2C>; 843 + dma-names = "tx", "rx"; 844 + status = "disabled"; 845 + }; 846 + 847 + spi3: spi@98c000 { 848 + compatible = "qcom,geni-spi"; 849 + reg = <0x0 0x0098c000 0x0 0x4000>; 850 + clock-names = "se"; 851 + clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>; 852 + interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>; 853 + pinctrl-names = "default"; 854 + pinctrl-0 = <&qup_spi3_data_clk>, <&qup_spi3_cs>; 855 + interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 856 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 857 + <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 858 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 859 + dmas = <&gpi_dma0 0 3 QCOM_GPI_SPI>, 860 + <&gpi_dma0 1 3 QCOM_GPI_SPI>; 861 + dma-names = "tx", "rx"; 862 + #address-cells = <1>; 863 + #size-cells = <0>; 864 + status = "disabled"; 865 + }; 866 + 867 + i2c4: i2c@990000 { 868 + compatible = "qcom,geni-i2c"; 869 + reg = <0x0 0x00990000 0x0 0x4000>; 870 + clock-names = "se"; 871 + clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>; 872 + pinctrl-names = "default"; 873 + pinctrl-0 = <&qup_i2c4_data_clk>; 874 + interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>; 875 + #address-cells = <1>; 876 + #size-cells = <0>; 877 + interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 878 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 879 + <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 880 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 881 + dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>, 882 + <&gpi_dma0 1 4 QCOM_GPI_I2C>; 883 + dma-names = "tx", "rx"; 884 + status = "disabled"; 885 + }; 886 + 887 + spi4: spi@990000 { 888 + compatible = "qcom,geni-spi"; 889 + reg = <0x0 0x00990000 0x0 0x4000>; 890 + clock-names = "se"; 891 + clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>; 892 + interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>; 893 + pinctrl-names = "default"; 894 + pinctrl-0 = <&qup_spi4_data_clk>, <&qup_spi4_cs>; 895 + power-domains = <&rpmhpd SM8450_CX>; 896 + operating-points-v2 = <&qup_opp_table_100mhz>; 897 + interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 898 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 899 + <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 900 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 901 + dmas = <&gpi_dma0 0 4 QCOM_GPI_SPI>, 902 + <&gpi_dma0 1 4 QCOM_GPI_SPI>; 903 + dma-names = "tx", "rx"; 904 + #address-cells = <1>; 905 + #size-cells = <0>; 906 + status = "disabled"; 907 + }; 908 + 909 + i2c5: i2c@994000 { 910 + compatible = "qcom,geni-i2c"; 911 + reg = <0x0 0x00994000 0x0 0x4000>; 912 + clock-names = "se"; 913 + clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>; 914 + pinctrl-names = "default"; 915 + pinctrl-0 = <&qup_i2c5_data_clk>; 916 + interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>; 917 + #address-cells = <1>; 918 + #size-cells = <0>; 919 + interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 920 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 921 + <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 922 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 923 + dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>, 924 + <&gpi_dma0 1 5 QCOM_GPI_I2C>; 925 + dma-names = "tx", "rx"; 926 + status = "disabled"; 927 + }; 928 + 929 + spi5: spi@994000 { 930 + compatible = "qcom,geni-spi"; 931 + reg = <0x0 0x00994000 0x0 0x4000>; 932 + clock-names = "se"; 933 + clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>; 934 + interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>; 935 + pinctrl-names = "default"; 936 + pinctrl-0 = <&qup_spi5_data_clk>, <&qup_spi5_cs>; 937 + interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 938 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 939 + <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 940 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 941 + dmas = <&gpi_dma0 0 5 QCOM_GPI_SPI>, 942 + <&gpi_dma0 1 5 QCOM_GPI_SPI>; 943 + dma-names = "tx", "rx"; 944 + #address-cells = <1>; 945 + #size-cells = <0>; 946 + status = "disabled"; 947 + }; 948 + 949 + 950 + i2c6: i2c@998000 { 951 + compatible = "qcom,geni-i2c"; 952 + reg = <0x0 0x998000 0x0 0x4000>; 953 + clock-names = "se"; 954 + clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>; 955 + pinctrl-names = "default"; 956 + pinctrl-0 = <&qup_i2c6_data_clk>; 957 + interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>; 958 + #address-cells = <1>; 959 + #size-cells = <0>; 960 + interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 961 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 962 + <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 963 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 964 + dmas = <&gpi_dma0 0 6 QCOM_GPI_I2C>, 965 + <&gpi_dma0 1 6 QCOM_GPI_I2C>; 966 + dma-names = "tx", "rx"; 967 + status = "disabled"; 968 + }; 969 + 970 + spi6: spi@998000 { 971 + compatible = "qcom,geni-spi"; 972 + reg = <0x0 0x998000 0x0 0x4000>; 973 + clock-names = "se"; 974 + clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>; 975 + interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>; 976 + pinctrl-names = "default"; 977 + pinctrl-0 = <&qup_spi6_data_clk>, <&qup_spi6_cs>; 978 + interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>, 979 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 980 + <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; 981 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 982 + dmas = <&gpi_dma0 0 6 QCOM_GPI_SPI>, 983 + <&gpi_dma0 1 6 QCOM_GPI_SPI>; 984 + dma-names = "tx", "rx"; 985 + #address-cells = <1>; 986 + #size-cells = <0>; 987 + status = "disabled"; 988 + }; 1072 989 1073 990 uart7: serial@99c000 { 1074 991 compatible = "qcom,geni-debug-uart"; ··· 1373 712 }; 1374 713 }; 1375 714 715 + gpi_dma1: dma-controller@a00000 { 716 + compatible = "qcom,sm8450-gpi-dma"; 717 + #dma-cells = <3>; 718 + reg = <0 0xa00000 0 0x60000>; 719 + interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>, 720 + <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>, 721 + <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>, 722 + <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>, 723 + <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>, 724 + <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>, 725 + <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>, 726 + <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>, 727 + <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>, 728 + <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>, 729 + <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>, 730 + <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>; 731 + dma-channels = <12>; 732 + dma-channel-mask = <0x7e>; 733 + iommus = <&apps_smmu 0x56 0x0>; 734 + status = "disabled"; 735 + }; 736 + 1376 737 qupv3_id_1: geniqup@ac0000 { 1377 738 compatible = "qcom,geni-se-qup"; 1378 739 reg = <0x0 0x00ac0000 0x0 0x6000>; 1379 740 clock-names = "m-ahb", "s-ahb"; 1380 741 clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>, 1381 742 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>; 743 + iommus = <&apps_smmu 0x43 0x0>; 744 + interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>; 745 + interconnect-names = "qup-core"; 1382 746 #address-cells = <2>; 1383 747 #size-cells = <2>; 1384 748 ranges; 1385 749 status = "disabled"; 750 + 751 + i2c8: i2c@a80000 { 752 + compatible = "qcom,geni-i2c"; 753 + reg = <0x0 0x00a80000 0x0 0x4000>; 754 + clock-names = "se"; 755 + clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>; 756 + pinctrl-names = "default"; 757 + pinctrl-0 = <&qup_i2c8_data_clk>; 758 + interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; 759 + #address-cells = <1>; 760 + #size-cells = <0>; 761 + interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 762 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 763 + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 764 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 765 + dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>, 766 + <&gpi_dma1 1 0 QCOM_GPI_I2C>; 767 + dma-names = "tx", "rx"; 768 + status = "disabled"; 769 + }; 770 + 771 + spi8: spi@a80000 { 772 + compatible = "qcom,geni-spi"; 773 + reg = <0x0 0x00a80000 0x0 0x4000>; 774 + clock-names = "se"; 775 + clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>; 776 + interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; 777 + pinctrl-names = "default"; 778 + pinctrl-0 = <&qup_spi8_data_clk>, <&qup_spi8_cs>; 779 + interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 780 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 781 + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 782 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 783 + dmas = <&gpi_dma1 0 0 QCOM_GPI_SPI>, 784 + <&gpi_dma1 1 0 QCOM_GPI_SPI>; 785 + dma-names = "tx", "rx"; 786 + #address-cells = <1>; 787 + #size-cells = <0>; 788 + status = "disabled"; 789 + }; 790 + 791 + i2c9: i2c@a84000 { 792 + compatible = "qcom,geni-i2c"; 793 + reg = <0x0 0x00a84000 0x0 0x4000>; 794 + clock-names = "se"; 795 + clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>; 796 + pinctrl-names = "default"; 797 + pinctrl-0 = <&qup_i2c9_data_clk>; 798 + interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; 799 + #address-cells = <1>; 800 + #size-cells = <0>; 801 + interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 802 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 803 + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 804 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 805 + dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>, 806 + <&gpi_dma1 1 1 QCOM_GPI_I2C>; 807 + dma-names = "tx", "rx"; 808 + status = "disabled"; 809 + }; 810 + 811 + spi9: spi@a84000 { 812 + compatible = "qcom,geni-spi"; 813 + reg = <0x0 0x00a84000 0x0 0x4000>; 814 + clock-names = "se"; 815 + clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>; 816 + interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; 817 + pinctrl-names = "default"; 818 + pinctrl-0 = <&qup_spi9_data_clk>, <&qup_spi9_cs>; 819 + interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 820 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 821 + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 822 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 823 + dmas = <&gpi_dma1 0 1 QCOM_GPI_SPI>, 824 + <&gpi_dma1 1 1 QCOM_GPI_SPI>; 825 + dma-names = "tx", "rx"; 826 + #address-cells = <1>; 827 + #size-cells = <0>; 828 + status = "disabled"; 829 + }; 830 + 831 + i2c10: i2c@a88000 { 832 + compatible = "qcom,geni-i2c"; 833 + reg = <0x0 0x00a88000 0x0 0x4000>; 834 + clock-names = "se"; 835 + clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>; 836 + pinctrl-names = "default"; 837 + pinctrl-0 = <&qup_i2c10_data_clk>; 838 + interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; 839 + #address-cells = <1>; 840 + #size-cells = <0>; 841 + interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 842 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 843 + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 844 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 845 + dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>, 846 + <&gpi_dma1 1 2 QCOM_GPI_I2C>; 847 + dma-names = "tx", "rx"; 848 + status = "disabled"; 849 + }; 850 + 851 + spi10: spi@a88000 { 852 + compatible = "qcom,geni-spi"; 853 + reg = <0x0 0x00a88000 0x0 0x4000>; 854 + clock-names = "se"; 855 + clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>; 856 + interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; 857 + pinctrl-names = "default"; 858 + pinctrl-0 = <&qup_spi10_data_clk>, <&qup_spi10_cs>; 859 + interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 860 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 861 + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 862 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 863 + dmas = <&gpi_dma1 0 2 QCOM_GPI_SPI>, 864 + <&gpi_dma1 1 2 QCOM_GPI_SPI>; 865 + dma-names = "tx", "rx"; 866 + #address-cells = <1>; 867 + #size-cells = <0>; 868 + status = "disabled"; 869 + }; 870 + 871 + i2c11: i2c@a8c000 { 872 + compatible = "qcom,geni-i2c"; 873 + reg = <0x0 0x00a8c000 0x0 0x4000>; 874 + clock-names = "se"; 875 + clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>; 876 + pinctrl-names = "default"; 877 + pinctrl-0 = <&qup_i2c11_data_clk>; 878 + interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; 879 + #address-cells = <1>; 880 + #size-cells = <0>; 881 + interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 882 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 883 + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 884 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 885 + dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>, 886 + <&gpi_dma1 1 3 QCOM_GPI_I2C>; 887 + dma-names = "tx", "rx"; 888 + status = "disabled"; 889 + }; 890 + 891 + spi11: spi@a8c000 { 892 + compatible = "qcom,geni-spi"; 893 + reg = <0x0 0x00a8c000 0x0 0x4000>; 894 + clock-names = "se"; 895 + clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>; 896 + interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; 897 + pinctrl-names = "default"; 898 + pinctrl-0 = <&qup_spi11_data_clk>, <&qup_spi11_cs>; 899 + interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 900 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 901 + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 902 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 903 + dmas = <&gpi_dma1 0 3 QCOM_GPI_SPI>, 904 + <&gpi_dma1 1 3 QCOM_GPI_SPI>; 905 + dma-names = "tx", "rx"; 906 + #address-cells = <1>; 907 + #size-cells = <0>; 908 + status = "disabled"; 909 + }; 910 + 911 + i2c12: i2c@a90000 { 912 + compatible = "qcom,geni-i2c"; 913 + reg = <0x0 0x00a90000 0x0 0x4000>; 914 + clock-names = "se"; 915 + clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>; 916 + pinctrl-names = "default"; 917 + pinctrl-0 = <&qup_i2c12_data_clk>; 918 + interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>; 919 + #address-cells = <1>; 920 + #size-cells = <0>; 921 + interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 922 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 923 + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 924 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 925 + dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>, 926 + <&gpi_dma1 1 4 QCOM_GPI_I2C>; 927 + dma-names = "tx", "rx"; 928 + status = "disabled"; 929 + }; 930 + 931 + spi12: spi@a90000 { 932 + compatible = "qcom,geni-spi"; 933 + reg = <0x0 0x00a90000 0x0 0x4000>; 934 + clock-names = "se"; 935 + clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>; 936 + interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>; 937 + pinctrl-names = "default"; 938 + pinctrl-0 = <&qup_spi12_data_clk>, <&qup_spi12_cs>; 939 + interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 940 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 941 + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 942 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 943 + dmas = <&gpi_dma1 0 4 QCOM_GPI_SPI>, 944 + <&gpi_dma1 1 4 QCOM_GPI_SPI>; 945 + dma-names = "tx", "rx"; 946 + #address-cells = <1>; 947 + #size-cells = <0>; 948 + status = "disabled"; 949 + }; 1386 950 1387 951 i2c13: i2c@a94000 { 1388 952 compatible = "qcom,geni-i2c"; ··· 1617 731 pinctrl-names = "default"; 1618 732 pinctrl-0 = <&qup_i2c13_data_clk>; 1619 733 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>; 734 + interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 735 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 736 + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 737 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 738 + dmas = <&gpi_dma1 0 5 QCOM_GPI_I2C>, 739 + <&gpi_dma1 1 5 QCOM_GPI_I2C>; 740 + dma-names = "tx", "rx"; 741 + #address-cells = <1>; 742 + #size-cells = <0>; 743 + status = "disabled"; 744 + }; 745 + 746 + spi13: spi@a94000 { 747 + compatible = "qcom,geni-spi"; 748 + reg = <0x0 0x00a94000 0x0 0x4000>; 749 + clock-names = "se"; 750 + clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>; 751 + interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>; 752 + pinctrl-names = "default"; 753 + pinctrl-0 = <&qup_spi13_data_clk>, <&qup_spi13_cs>; 754 + interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 755 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 756 + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 757 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 758 + dmas = <&gpi_dma1 0 5 QCOM_GPI_SPI>, 759 + <&gpi_dma1 1 5 QCOM_GPI_SPI>; 760 + dma-names = "tx", "rx"; 1620 761 #address-cells = <1>; 1621 762 #size-cells = <0>; 1622 763 status = "disabled"; ··· 1657 744 pinctrl-names = "default"; 1658 745 pinctrl-0 = <&qup_i2c14_data_clk>; 1659 746 interrupts = <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>; 747 + interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 748 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 749 + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 750 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 751 + dmas = <&gpi_dma1 0 6 QCOM_GPI_I2C>, 752 + <&gpi_dma1 1 6 QCOM_GPI_I2C>; 753 + dma-names = "tx", "rx"; 1660 754 #address-cells = <1>; 1661 755 #size-cells = <0>; 1662 756 status = "disabled"; 757 + }; 758 + 759 + spi14: spi@a98000 { 760 + compatible = "qcom,geni-spi"; 761 + reg = <0x0 0x00a98000 0x0 0x4000>; 762 + clock-names = "se"; 763 + clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>; 764 + interrupts = <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>; 765 + pinctrl-names = "default"; 766 + pinctrl-0 = <&qup_spi14_data_clk>, <&qup_spi14_cs>; 767 + interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>, 768 + <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>, 769 + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; 770 + interconnect-names = "qup-core", "qup-config", "qup-memory"; 771 + dmas = <&gpi_dma1 0 6 QCOM_GPI_SPI>, 772 + <&gpi_dma1 1 6 QCOM_GPI_SPI>; 773 + dma-names = "tx", "rx"; 774 + #address-cells = <1>; 775 + #size-cells = <0>; 776 + status = "disabled"; 777 + }; 778 + }; 779 + 780 + pcie0: pci@1c00000 { 781 + compatible = "qcom,pcie-sm8450-pcie0"; 782 + reg = <0 0x01c00000 0 0x3000>, 783 + <0 0x60000000 0 0xf1d>, 784 + <0 0x60000f20 0 0xa8>, 785 + <0 0x60001000 0 0x1000>, 786 + <0 0x60100000 0 0x100000>; 787 + reg-names = "parf", "dbi", "elbi", "atu", "config"; 788 + device_type = "pci"; 789 + linux,pci-domain = <0>; 790 + bus-range = <0x00 0xff>; 791 + num-lanes = <1>; 792 + 793 + #address-cells = <3>; 794 + #size-cells = <2>; 795 + 796 + ranges = <0x01000000 0x0 0x60200000 0 0x60200000 0x0 0x100000>, 797 + <0x02000000 0x0 0x60300000 0 0x60300000 0x0 0x3d00000>; 798 + 799 + interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>; 800 + interrupt-names = "msi"; 801 + #interrupt-cells = <1>; 802 + interrupt-map-mask = <0 0 0 0x7>; 803 + interrupt-map = <0 0 0 1 &intc 0 0 0 149 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ 804 + <0 0 0 2 &intc 0 0 0 150 IRQ_TYPE_LEVEL_HIGH>, /* int_b */ 805 + <0 0 0 3 &intc 0 0 0 151 IRQ_TYPE_LEVEL_HIGH>, /* int_c */ 806 + <0 0 0 4 &intc 0 0 0 152 IRQ_TYPE_LEVEL_HIGH>; /* int_d */ 807 + 808 + clocks = <&gcc GCC_PCIE_0_PIPE_CLK>, 809 + <&gcc GCC_PCIE_0_PIPE_CLK_SRC>, 810 + <&pcie0_lane>, 811 + <&rpmhcc RPMH_CXO_CLK>, 812 + <&gcc GCC_PCIE_0_AUX_CLK>, 813 + <&gcc GCC_PCIE_0_CFG_AHB_CLK>, 814 + <&gcc GCC_PCIE_0_MSTR_AXI_CLK>, 815 + <&gcc GCC_PCIE_0_SLV_AXI_CLK>, 816 + <&gcc GCC_PCIE_0_SLV_Q2A_AXI_CLK>, 817 + <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>, 818 + <&gcc GCC_AGGRE_NOC_PCIE_0_AXI_CLK>, 819 + <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>; 820 + clock-names = "pipe", 821 + "pipe_mux", 822 + "phy_pipe", 823 + "ref", 824 + "aux", 825 + "cfg", 826 + "bus_master", 827 + "bus_slave", 828 + "slave_q2a", 829 + "ddrss_sf_tbu", 830 + "aggre0", 831 + "aggre1"; 832 + 833 + iommus = <&apps_smmu 0x1c00 0x7f>; 834 + iommu-map = <0x0 &apps_smmu 0x1c00 0x1>, 835 + <0x100 &apps_smmu 0x1c01 0x1>; 836 + 837 + resets = <&gcc GCC_PCIE_0_BCR>; 838 + reset-names = "pci"; 839 + 840 + power-domains = <&gcc PCIE_0_GDSC>; 841 + power-domain-names = "gdsc"; 842 + 843 + phys = <&pcie0_lane>; 844 + phy-names = "pciephy"; 845 + 846 + perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>; 847 + wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>; 848 + 849 + pinctrl-names = "default"; 850 + pinctrl-0 = <&pcie0_default_state>; 851 + 852 + status = "disabled"; 853 + }; 854 + 855 + pcie0_phy: phy@1c06000 { 856 + compatible = "qcom,sm8450-qmp-gen3x1-pcie-phy"; 857 + reg = <0 0x01c06000 0 0x200>; 858 + #address-cells = <2>; 859 + #size-cells = <2>; 860 + ranges; 861 + clocks = <&gcc GCC_PCIE_0_AUX_CLK>, 862 + <&gcc GCC_PCIE_0_CFG_AHB_CLK>, 863 + <&gcc GCC_PCIE_0_CLKREF_EN>, 864 + <&gcc GCC_PCIE_0_PHY_RCHNG_CLK>; 865 + clock-names = "aux", "cfg_ahb", "ref", "refgen"; 866 + 867 + resets = <&gcc GCC_PCIE_0_PHY_BCR>; 868 + reset-names = "phy"; 869 + 870 + assigned-clocks = <&gcc GCC_PCIE_0_PHY_RCHNG_CLK>; 871 + assigned-clock-rates = <100000000>; 872 + 873 + status = "disabled"; 874 + 875 + pcie0_lane: phy@1c06200 { 876 + reg = <0 0x1c06e00 0 0x200>, /* tx */ 877 + <0 0x1c07000 0 0x200>, /* rx */ 878 + <0 0x1c06200 0 0x200>, /* pcs */ 879 + <0 0x1c06600 0 0x200>; /* pcs_pcie */ 880 + clocks = <&gcc GCC_PCIE_0_PIPE_CLK>; 881 + clock-names = "pipe0"; 882 + 883 + #clock-cells = <0>; 884 + #phy-cells = <0>; 885 + clock-output-names = "pcie_0_pipe_clk"; 886 + }; 887 + }; 888 + 889 + pcie1: pci@1c08000 { 890 + compatible = "qcom,pcie-sm8450-pcie1"; 891 + reg = <0 0x01c08000 0 0x3000>, 892 + <0 0x40000000 0 0xf1d>, 893 + <0 0x40000f20 0 0xa8>, 894 + <0 0x40001000 0 0x1000>, 895 + <0 0x40100000 0 0x100000>; 896 + reg-names = "parf", "dbi", "elbi", "atu", "config"; 897 + device_type = "pci"; 898 + linux,pci-domain = <1>; 899 + bus-range = <0x00 0xff>; 900 + num-lanes = <2>; 901 + 902 + #address-cells = <3>; 903 + #size-cells = <2>; 904 + 905 + ranges = <0x01000000 0x0 0x40200000 0 0x40200000 0x0 0x100000>, 906 + <0x02000000 0x0 0x40300000 0 0x40300000 0x0 0x1fd00000>; 907 + 908 + interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>; 909 + interrupt-names = "msi"; 910 + #interrupt-cells = <1>; 911 + interrupt-map-mask = <0 0 0 0x7>; 912 + interrupt-map = <0 0 0 1 &intc 0 0 0 434 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ 913 + <0 0 0 2 &intc 0 0 0 435 IRQ_TYPE_LEVEL_HIGH>, /* int_b */ 914 + <0 0 0 3 &intc 0 0 0 438 IRQ_TYPE_LEVEL_HIGH>, /* int_c */ 915 + <0 0 0 4 &intc 0 0 0 439 IRQ_TYPE_LEVEL_HIGH>; /* int_d */ 916 + 917 + clocks = <&gcc GCC_PCIE_1_PIPE_CLK>, 918 + <&gcc GCC_PCIE_1_PIPE_CLK_SRC>, 919 + <&pcie1_lane>, 920 + <&rpmhcc RPMH_CXO_CLK>, 921 + <&gcc GCC_PCIE_1_AUX_CLK>, 922 + <&gcc GCC_PCIE_1_CFG_AHB_CLK>, 923 + <&gcc GCC_PCIE_1_MSTR_AXI_CLK>, 924 + <&gcc GCC_PCIE_1_SLV_AXI_CLK>, 925 + <&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>, 926 + <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>, 927 + <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>; 928 + clock-names = "pipe", 929 + "pipe_mux", 930 + "phy_pipe", 931 + "ref", 932 + "aux", 933 + "cfg", 934 + "bus_master", 935 + "bus_slave", 936 + "slave_q2a", 937 + "ddrss_sf_tbu", 938 + "aggre1"; 939 + 940 + iommus = <&apps_smmu 0x1c80 0x7f>; 941 + iommu-map = <0x0 &apps_smmu 0x1c80 0x1>, 942 + <0x100 &apps_smmu 0x1c81 0x1>; 943 + 944 + resets = <&gcc GCC_PCIE_1_BCR>; 945 + reset-names = "pci"; 946 + 947 + power-domains = <&gcc PCIE_1_GDSC>; 948 + power-domain-names = "gdsc"; 949 + 950 + phys = <&pcie1_lane>; 951 + phy-names = "pciephy"; 952 + 953 + perst-gpio = <&tlmm 97 GPIO_ACTIVE_LOW>; 954 + enable-gpio = <&tlmm 99 GPIO_ACTIVE_HIGH>; 955 + 956 + pinctrl-names = "default"; 957 + pinctrl-0 = <&pcie1_default_state>; 958 + 959 + status = "disabled"; 960 + }; 961 + 962 + pcie1_phy: phy@1c0f000 { 963 + compatible = "qcom,sm8450-qmp-gen4x2-pcie-phy"; 964 + reg = <0 0x01c0f000 0 0x200>; 965 + #address-cells = <2>; 966 + #size-cells = <2>; 967 + ranges; 968 + clocks = <&gcc GCC_PCIE_1_PHY_AUX_CLK>, 969 + <&gcc GCC_PCIE_1_CFG_AHB_CLK>, 970 + <&gcc GCC_PCIE_1_CLKREF_EN>, 971 + <&gcc GCC_PCIE_1_PHY_RCHNG_CLK>; 972 + clock-names = "aux", "cfg_ahb", "ref", "refgen"; 973 + 974 + resets = <&gcc GCC_PCIE_1_PHY_BCR>; 975 + reset-names = "phy"; 976 + 977 + assigned-clocks = <&gcc GCC_PCIE_1_PHY_RCHNG_CLK>; 978 + assigned-clock-rates = <100000000>; 979 + 980 + status = "disabled"; 981 + 982 + pcie1_lane: phy@1c0e000 { 983 + reg = <0 0x1c0e000 0 0x200>, /* tx */ 984 + <0 0x1c0e200 0 0x300>, /* rx */ 985 + <0 0x1c0f200 0 0x200>, /* pcs */ 986 + <0 0x1c0e800 0 0x200>, /* tx */ 987 + <0 0x1c0ea00 0 0x300>, /* rx */ 988 + <0 0x1c0f400 0 0xc00>; /* pcs_pcie */ 989 + clocks = <&gcc GCC_PCIE_1_PIPE_CLK>; 990 + clock-names = "pipe0"; 991 + 992 + #clock-cells = <0>; 993 + #phy-cells = <0>; 994 + clock-output-names = "pcie_1_pipe_clk"; 1663 995 }; 1664 996 }; 1665 997 ··· 2045 887 2046 888 label = "slpi"; 2047 889 qcom,remote-pid = <3>; 890 + 891 + fastrpc { 892 + compatible = "qcom,fastrpc"; 893 + qcom,glink-channels = "fastrpcglink-apps-dsp"; 894 + label = "sdsp"; 895 + #address-cells = <1>; 896 + #size-cells = <0>; 897 + 898 + compute-cb@1 { 899 + compatible = "qcom,fastrpc-compute-cb"; 900 + reg = <1>; 901 + iommus = <&apps_smmu 0x0541 0x0>; 902 + }; 903 + 904 + compute-cb@2 { 905 + compatible = "qcom,fastrpc-compute-cb"; 906 + reg = <2>; 907 + iommus = <&apps_smmu 0x0542 0x0>; 908 + }; 909 + 910 + compute-cb@3 { 911 + compatible = "qcom,fastrpc-compute-cb"; 912 + reg = <3>; 913 + iommus = <&apps_smmu 0x0543 0x0>; 914 + /* note: shared-cb = <4> in downstream */ 915 + }; 916 + }; 2048 917 }; 2049 918 }; 2050 919 ··· 2112 927 2113 928 label = "lpass"; 2114 929 qcom,remote-pid = <2>; 930 + 931 + fastrpc { 932 + compatible = "qcom,fastrpc"; 933 + qcom,glink-channels = "fastrpcglink-apps-dsp"; 934 + label = "adsp"; 935 + #address-cells = <1>; 936 + #size-cells = <0>; 937 + 938 + compute-cb@3 { 939 + compatible = "qcom,fastrpc-compute-cb"; 940 + reg = <3>; 941 + iommus = <&apps_smmu 0x1803 0x0>; 942 + }; 943 + 944 + compute-cb@4 { 945 + compatible = "qcom,fastrpc-compute-cb"; 946 + reg = <4>; 947 + iommus = <&apps_smmu 0x1804 0x0>; 948 + }; 949 + 950 + compute-cb@5 { 951 + compatible = "qcom,fastrpc-compute-cb"; 952 + reg = <5>; 953 + iommus = <&apps_smmu 0x1805 0x0>; 954 + }; 955 + }; 2115 956 }; 2116 957 }; 2117 958 ··· 2178 967 2179 968 label = "cdsp"; 2180 969 qcom,remote-pid = <5>; 970 + 971 + fastrpc { 972 + compatible = "qcom,fastrpc"; 973 + qcom,glink-channels = "fastrpcglink-apps-dsp"; 974 + label = "cdsp"; 975 + #address-cells = <1>; 976 + #size-cells = <0>; 977 + 978 + compute-cb@1 { 979 + compatible = "qcom,fastrpc-compute-cb"; 980 + reg = <1>; 981 + iommus = <&apps_smmu 0x2161 0x0400>, 982 + <&apps_smmu 0x1021 0x1420>; 983 + }; 984 + 985 + compute-cb@2 { 986 + compatible = "qcom,fastrpc-compute-cb"; 987 + reg = <2>; 988 + iommus = <&apps_smmu 0x2162 0x0400>, 989 + <&apps_smmu 0x1022 0x1420>; 990 + }; 991 + 992 + compute-cb@3 { 993 + compatible = "qcom,fastrpc-compute-cb"; 994 + reg = <3>; 995 + iommus = <&apps_smmu 0x2163 0x0400>, 996 + <&apps_smmu 0x1023 0x1420>; 997 + }; 998 + 999 + compute-cb@4 { 1000 + compatible = "qcom,fastrpc-compute-cb"; 1001 + reg = <4>; 1002 + iommus = <&apps_smmu 0x2164 0x0400>, 1003 + <&apps_smmu 0x1024 0x1420>; 1004 + }; 1005 + 1006 + compute-cb@5 { 1007 + compatible = "qcom,fastrpc-compute-cb"; 1008 + reg = <5>; 1009 + iommus = <&apps_smmu 0x2165 0x0400>, 1010 + <&apps_smmu 0x1025 0x1420>; 1011 + }; 1012 + 1013 + compute-cb@6 { 1014 + compatible = "qcom,fastrpc-compute-cb"; 1015 + reg = <6>; 1016 + iommus = <&apps_smmu 0x2166 0x0400>, 1017 + <&apps_smmu 0x1026 0x1420>; 1018 + }; 1019 + 1020 + compute-cb@7 { 1021 + compatible = "qcom,fastrpc-compute-cb"; 1022 + reg = <7>; 1023 + iommus = <&apps_smmu 0x2167 0x0400>, 1024 + <&apps_smmu 0x1027 0x1420>; 1025 + }; 1026 + 1027 + compute-cb@8 { 1028 + compatible = "qcom,fastrpc-compute-cb"; 1029 + reg = <8>; 1030 + iommus = <&apps_smmu 0x2168 0x0400>, 1031 + <&apps_smmu 0x1028 0x1420>; 1032 + }; 1033 + 1034 + /* note: secure cb9 in downstream */ 1035 + }; 2181 1036 }; 2182 1037 }; 2183 1038 ··· 2298 1021 interrupt-controller; 2299 1022 }; 2300 1023 1024 + tsens0: thermal-sensor@c263000 { 1025 + compatible = "qcom,sm8450-tsens", "qcom,tsens-v2"; 1026 + reg = <0 0x0c263000 0 0x1000>, /* TM */ 1027 + <0 0x0c222000 0 0x1000>; /* SROT */ 1028 + #qcom,sensors = <16>; 1029 + interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>, 1030 + <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>; 1031 + interrupt-names = "uplow", "critical"; 1032 + #thermal-sensor-cells = <1>; 1033 + }; 1034 + 1035 + tsens1: thermal-sensor@c265000 { 1036 + compatible = "qcom,sm8450-tsens", "qcom,tsens-v2"; 1037 + reg = <0 0x0c265000 0 0x1000>, /* TM */ 1038 + <0 0x0c223000 0 0x1000>; /* SROT */ 1039 + #qcom,sensors = <16>; 1040 + interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>, 1041 + <GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>; 1042 + interrupt-names = "uplow", "critical"; 1043 + #thermal-sensor-cells = <1>; 1044 + }; 1045 + 2301 1046 aoss_qmp: power-controller@c300000 { 2302 1047 compatible = "qcom,sm8450-aoss-qmp", "qcom,aoss-qmp"; 2303 1048 reg = <0 0x0c300000 0 0x400>; ··· 2350 1051 gpio-ranges = <&tlmm 0 0 211>; 2351 1052 wakeup-parent = <&pdc>; 2352 1053 1054 + pcie0_default_state: pcie0-default-state { 1055 + perst { 1056 + pins = "gpio94"; 1057 + function = "gpio"; 1058 + drive-strength = <2>; 1059 + bias-pull-down; 1060 + }; 1061 + 1062 + clkreq { 1063 + pins = "gpio95"; 1064 + function = "pcie0_clkreqn"; 1065 + drive-strength = <2>; 1066 + bias-pull-up; 1067 + }; 1068 + 1069 + wake { 1070 + pins = "gpio96"; 1071 + function = "gpio"; 1072 + drive-strength = <2>; 1073 + bias-pull-up; 1074 + }; 1075 + }; 1076 + 1077 + pcie1_default_state: pcie1-default-state { 1078 + perst { 1079 + pins = "gpio97"; 1080 + function = "gpio"; 1081 + drive-strength = <2>; 1082 + bias-pull-down; 1083 + }; 1084 + 1085 + clkreq { 1086 + pins = "gpio98"; 1087 + function = "pcie1_clkreqn"; 1088 + drive-strength = <2>; 1089 + bias-pull-up; 1090 + }; 1091 + 1092 + wake { 1093 + pins = "gpio99"; 1094 + function = "gpio"; 1095 + drive-strength = <2>; 1096 + bias-pull-up; 1097 + }; 1098 + }; 1099 + 1100 + qup_i2c0_data_clk: qup-i2c0-data-clk { 1101 + pins = "gpio0", "gpio1"; 1102 + function = "qup0"; 1103 + }; 1104 + 1105 + qup_i2c1_data_clk: qup-i2c1-data-clk { 1106 + pins = "gpio4", "gpio5"; 1107 + function = "qup1"; 1108 + }; 1109 + 1110 + qup_i2c2_data_clk: qup-i2c2-data-clk { 1111 + pins = "gpio8", "gpio9"; 1112 + function = "qup2"; 1113 + }; 1114 + 1115 + qup_i2c3_data_clk: qup-i2c3-data-clk { 1116 + pins = "gpio12", "gpio13"; 1117 + function = "qup3"; 1118 + }; 1119 + 1120 + qup_i2c4_data_clk: qup-i2c4-data-clk { 1121 + pins = "gpio16", "gpio17"; 1122 + function = "qup4"; 1123 + }; 1124 + 1125 + qup_i2c5_data_clk: qup-i2c5-data-clk { 1126 + pins = "gpio206", "gpio207"; 1127 + function = "qup5"; 1128 + }; 1129 + 1130 + qup_i2c6_data_clk: qup-i2c6-data-clk { 1131 + pins = "gpio20", "gpio21"; 1132 + function = "qup6"; 1133 + }; 1134 + 1135 + qup_i2c8_data_clk: qup-i2c8-data-clk { 1136 + pins = "gpio28", "gpio29"; 1137 + function = "qup8"; 1138 + }; 1139 + 1140 + qup_i2c9_data_clk: qup-i2c9-data-clk { 1141 + pins = "gpio32", "gpio33"; 1142 + function = "qup9"; 1143 + }; 1144 + 1145 + qup_i2c10_data_clk: qup-i2c10-data-clk { 1146 + pins = "gpio36", "gpio37"; 1147 + function = "qup10"; 1148 + }; 1149 + 1150 + qup_i2c11_data_clk: qup-i2c11-data-clk { 1151 + pins = "gpio40", "gpio41"; 1152 + function = "qup11"; 1153 + }; 1154 + 1155 + qup_i2c12_data_clk: qup-i2c12-data-clk { 1156 + pins = "gpio44", "gpio45"; 1157 + function = "qup12"; 1158 + }; 1159 + 2353 1160 qup_i2c13_data_clk: qup-i2c13-data-clk { 2354 1161 pins = "gpio48", "gpio49"; 2355 1162 function = "qup13"; ··· 2468 1063 function = "qup14"; 2469 1064 drive-strength = <2>; 2470 1065 bias-pull-up; 1066 + }; 1067 + 1068 + qup_i2c15_data_clk: qup-i2c15-data-clk { 1069 + pins = "gpio56", "gpio57"; 1070 + function = "qup15"; 1071 + }; 1072 + 1073 + qup_i2c16_data_clk: qup-i2c16-data-clk { 1074 + pins = "gpio60", "gpio61"; 1075 + function = "qup16"; 1076 + }; 1077 + 1078 + qup_i2c17_data_clk: qup-i2c17-data-clk { 1079 + pins = "gpio64", "gpio65"; 1080 + function = "qup17"; 1081 + }; 1082 + 1083 + qup_i2c18_data_clk: qup-i2c18-data-clk { 1084 + pins = "gpio68", "gpio69"; 1085 + function = "qup18"; 1086 + }; 1087 + 1088 + qup_i2c19_data_clk: qup-i2c19-data-clk { 1089 + pins = "gpio72", "gpio73"; 1090 + function = "qup19"; 1091 + }; 1092 + 1093 + qup_i2c20_data_clk: qup-i2c20-data-clk { 1094 + pins = "gpio76", "gpio77"; 1095 + function = "qup20"; 1096 + }; 1097 + 1098 + qup_i2c21_data_clk: qup-i2c21-data-clk { 1099 + pins = "gpio80", "gpio81"; 1100 + function = "qup21"; 1101 + }; 1102 + 1103 + qup_spi0_cs: qup-spi0-cs { 1104 + pins = "gpio3"; 1105 + function = "qup0"; 1106 + }; 1107 + 1108 + qup_spi0_data_clk: qup-spi0-data-clk { 1109 + pins = "gpio0", "gpio1", "gpio2"; 1110 + function = "qup0"; 1111 + }; 1112 + 1113 + qup_spi1_cs: qup-spi1-cs { 1114 + pins = "gpio7"; 1115 + function = "qup1"; 1116 + }; 1117 + 1118 + qup_spi1_data_clk: qup-spi1-data-clk { 1119 + pins = "gpio4", "gpio5", "gpio6"; 1120 + function = "qup1"; 1121 + }; 1122 + 1123 + qup_spi2_cs: qup-spi2-cs { 1124 + pins = "gpio11"; 1125 + function = "qup2"; 1126 + }; 1127 + 1128 + qup_spi2_data_clk: qup-spi2-data-clk { 1129 + pins = "gpio8", "gpio9", "gpio10"; 1130 + function = "qup2"; 1131 + }; 1132 + 1133 + qup_spi3_cs: qup-spi3-cs { 1134 + pins = "gpio15"; 1135 + function = "qup3"; 1136 + }; 1137 + 1138 + qup_spi3_data_clk: qup-spi3-data-clk { 1139 + pins = "gpio12", "gpio13", "gpio14"; 1140 + function = "qup3"; 1141 + }; 1142 + 1143 + qup_spi4_cs: qup-spi4-cs { 1144 + pins = "gpio19"; 1145 + function = "qup4"; 1146 + drive-strength = <6>; 1147 + bias-disable; 1148 + }; 1149 + 1150 + qup_spi4_data_clk: qup-spi4-data-clk { 1151 + pins = "gpio16", "gpio17", "gpio18"; 1152 + function = "qup4"; 1153 + }; 1154 + 1155 + qup_spi5_cs: qup-spi5-cs { 1156 + pins = "gpio85"; 1157 + function = "qup5"; 1158 + }; 1159 + 1160 + qup_spi5_data_clk: qup-spi5-data-clk { 1161 + pins = "gpio206", "gpio207", "gpio84"; 1162 + function = "qup5"; 1163 + }; 1164 + 1165 + qup_spi6_cs: qup-spi6-cs { 1166 + pins = "gpio23"; 1167 + function = "qup6"; 1168 + }; 1169 + 1170 + qup_spi6_data_clk: qup-spi6-data-clk { 1171 + pins = "gpio20", "gpio21", "gpio22"; 1172 + function = "qup6"; 1173 + }; 1174 + 1175 + qup_spi8_cs: qup-spi8-cs { 1176 + pins = "gpio31"; 1177 + function = "qup8"; 1178 + }; 1179 + 1180 + qup_spi8_data_clk: qup-spi8-data-clk { 1181 + pins = "gpio28", "gpio29", "gpio30"; 1182 + function = "qup8"; 1183 + }; 1184 + 1185 + qup_spi9_cs: qup-spi9-cs { 1186 + pins = "gpio35"; 1187 + function = "qup9"; 1188 + }; 1189 + 1190 + qup_spi9_data_clk: qup-spi9-data-clk { 1191 + pins = "gpio32", "gpio33", "gpio34"; 1192 + function = "qup9"; 1193 + }; 1194 + 1195 + qup_spi10_cs: qup-spi10-cs { 1196 + pins = "gpio39"; 1197 + function = "qup10"; 1198 + }; 1199 + 1200 + qup_spi10_data_clk: qup-spi10-data-clk { 1201 + pins = "gpio36", "gpio37", "gpio38"; 1202 + function = "qup10"; 1203 + }; 1204 + 1205 + qup_spi11_cs: qup-spi11-cs { 1206 + pins = "gpio43"; 1207 + function = "qup11"; 1208 + }; 1209 + 1210 + qup_spi11_data_clk: qup-spi11-data-clk { 1211 + pins = "gpio40", "gpio41", "gpio42"; 1212 + function = "qup11"; 1213 + }; 1214 + 1215 + qup_spi12_cs: qup-spi12-cs { 1216 + pins = "gpio47"; 1217 + function = "qup12"; 1218 + }; 1219 + 1220 + qup_spi12_data_clk: qup-spi12-data-clk { 1221 + pins = "gpio44", "gpio45", "gpio46"; 1222 + function = "qup12"; 1223 + }; 1224 + 1225 + qup_spi13_cs: qup-spi13-cs { 1226 + pins = "gpio51"; 1227 + function = "qup13"; 1228 + }; 1229 + 1230 + qup_spi13_data_clk: qup-spi13-data-clk { 1231 + pins = "gpio48", "gpio49", "gpio50"; 1232 + function = "qup13"; 1233 + }; 1234 + 1235 + qup_spi14_cs: qup-spi14-cs { 1236 + pins = "gpio55"; 1237 + function = "qup14"; 1238 + }; 1239 + 1240 + qup_spi14_data_clk: qup-spi14-data-clk { 1241 + pins = "gpio52", "gpio53", "gpio54"; 1242 + function = "qup14"; 1243 + }; 1244 + 1245 + qup_spi15_cs: qup-spi15-cs { 1246 + pins = "gpio59"; 1247 + function = "qup15"; 1248 + }; 1249 + 1250 + qup_spi15_data_clk: qup-spi15-data-clk { 1251 + pins = "gpio56", "gpio57", "gpio58"; 1252 + function = "qup15"; 1253 + }; 1254 + 1255 + qup_spi16_cs: qup-spi16-cs { 1256 + pins = "gpio63"; 1257 + function = "qup16"; 1258 + }; 1259 + 1260 + qup_spi16_data_clk: qup-spi16-data-clk { 1261 + pins = "gpio60", "gpio61", "gpio62"; 1262 + function = "qup16"; 1263 + }; 1264 + 1265 + qup_spi17_cs: qup-spi17-cs { 1266 + pins = "gpio67"; 1267 + function = "qup17"; 1268 + }; 1269 + 1270 + qup_spi17_data_clk: qup-spi17-data-clk { 1271 + pins = "gpio64", "gpio65", "gpio66"; 1272 + function = "qup17"; 1273 + }; 1274 + 1275 + qup_spi18_cs: qup-spi18-cs { 1276 + pins = "gpio71"; 1277 + function = "qup18"; 1278 + drive-strength = <6>; 1279 + bias-disable; 1280 + }; 1281 + 1282 + qup_spi18_data_clk: qup-spi18-data-clk { 1283 + pins = "gpio68", "gpio69", "gpio70"; 1284 + function = "qup18"; 1285 + drive-strength = <6>; 1286 + bias-disable; 1287 + }; 1288 + 1289 + qup_spi19_cs: qup-spi19-cs { 1290 + pins = "gpio75"; 1291 + function = "qup19"; 1292 + drive-strength = <6>; 1293 + bias-disable; 1294 + }; 1295 + 1296 + qup_spi19_data_clk: qup-spi19-data-clk { 1297 + pins = "gpio72", "gpio73", "gpio74"; 1298 + function = "qup19"; 1299 + drive-strength = <6>; 1300 + bias-disable; 1301 + }; 1302 + 1303 + qup_spi20_cs: qup-spi20-cs { 1304 + pins = "gpio79"; 1305 + function = "qup20"; 1306 + }; 1307 + 1308 + qup_spi20_data_clk: qup-spi20-data-clk { 1309 + pins = "gpio76", "gpio77", "gpio78"; 1310 + function = "qup20"; 1311 + }; 1312 + 1313 + qup_spi21_cs: qup-spi21-cs { 1314 + pins = "gpio83"; 1315 + function = "qup21"; 1316 + }; 1317 + 1318 + qup_spi21_data_clk: qup-spi21-data-clk { 1319 + pins = "gpio80", "gpio81", "gpio82"; 1320 + function = "qup21"; 2471 1321 }; 2472 1322 2473 1323 qup_uart7_rx: qup-uart7-rx { ··· 3085 1425 reset-names = "ufsphy"; 3086 1426 status = "disabled"; 3087 1427 3088 - ufs_mem_phy_lanes: lanes@1d87400 { 1428 + ufs_mem_phy_lanes: phy@1d87400 { 3089 1429 reg = <0 0x01d87400 0 0x108>, 3090 1430 <0 0x01d87600 0 0x1e0>, 3091 1431 <0 0x01d87c00 0 0x1dc>, ··· 3152 1492 reg = <0 0x3c40000 0 0x17200>; 3153 1493 #interconnect-cells = <2>; 3154 1494 qcom,bcm-voters = <&apps_bcm_voter>; 1495 + }; 1496 + }; 1497 + 1498 + thermal-zones { 1499 + aoss0-thermal { 1500 + polling-delay-passive = <0>; 1501 + polling-delay = <0>; 1502 + thermal-sensors = <&tsens0 0>; 1503 + 1504 + trips { 1505 + thermal-engine-config { 1506 + temperature = <125000>; 1507 + hysteresis = <1000>; 1508 + type = "passive"; 1509 + }; 1510 + 1511 + reset-mon-cfg { 1512 + temperature = <115000>; 1513 + hysteresis = <5000>; 1514 + type = "passive"; 1515 + }; 1516 + }; 1517 + }; 1518 + 1519 + cpuss0-thermal { 1520 + polling-delay-passive = <0>; 1521 + polling-delay = <0>; 1522 + thermal-sensors = <&tsens0 1>; 1523 + 1524 + trips { 1525 + thermal-engine-config { 1526 + temperature = <125000>; 1527 + hysteresis = <1000>; 1528 + type = "passive"; 1529 + }; 1530 + 1531 + reset-mon-cfg { 1532 + temperature = <115000>; 1533 + hysteresis = <5000>; 1534 + type = "passive"; 1535 + }; 1536 + }; 1537 + }; 1538 + 1539 + cpuss1-thermal { 1540 + polling-delay-passive = <0>; 1541 + polling-delay = <0>; 1542 + thermal-sensors = <&tsens0 2>; 1543 + 1544 + trips { 1545 + thermal-engine-config { 1546 + temperature = <125000>; 1547 + hysteresis = <1000>; 1548 + type = "passive"; 1549 + }; 1550 + 1551 + reset-mon-cfg { 1552 + temperature = <115000>; 1553 + hysteresis = <5000>; 1554 + type = "passive"; 1555 + }; 1556 + }; 1557 + }; 1558 + 1559 + cpuss3-thermal { 1560 + polling-delay-passive = <0>; 1561 + polling-delay = <0>; 1562 + thermal-sensors = <&tsens0 3>; 1563 + 1564 + trips { 1565 + thermal-engine-config { 1566 + temperature = <125000>; 1567 + hysteresis = <1000>; 1568 + type = "passive"; 1569 + }; 1570 + 1571 + reset-mon-cfg { 1572 + temperature = <115000>; 1573 + hysteresis = <5000>; 1574 + type = "passive"; 1575 + }; 1576 + }; 1577 + }; 1578 + 1579 + cpuss4-thermal { 1580 + polling-delay-passive = <0>; 1581 + polling-delay = <0>; 1582 + thermal-sensors = <&tsens0 4>; 1583 + 1584 + trips { 1585 + thermal-engine-config { 1586 + temperature = <125000>; 1587 + hysteresis = <1000>; 1588 + type = "passive"; 1589 + }; 1590 + 1591 + reset-mon-cfg { 1592 + temperature = <115000>; 1593 + hysteresis = <5000>; 1594 + type = "passive"; 1595 + }; 1596 + }; 1597 + }; 1598 + 1599 + cpu4-top-thermal { 1600 + polling-delay-passive = <0>; 1601 + polling-delay = <0>; 1602 + thermal-sensors = <&tsens0 5>; 1603 + 1604 + trips { 1605 + cpu4_top_alert0: trip-point0 { 1606 + temperature = <90000>; 1607 + hysteresis = <2000>; 1608 + type = "passive"; 1609 + }; 1610 + 1611 + cpu4_top_alert1: trip-point1 { 1612 + temperature = <95000>; 1613 + hysteresis = <2000>; 1614 + type = "passive"; 1615 + }; 1616 + 1617 + cpu4_top_crit: cpu_crit { 1618 + temperature = <110000>; 1619 + hysteresis = <1000>; 1620 + type = "critical"; 1621 + }; 1622 + }; 1623 + }; 1624 + 1625 + cpu4-bottom-thermal { 1626 + polling-delay-passive = <0>; 1627 + polling-delay = <0>; 1628 + thermal-sensors = <&tsens0 6>; 1629 + 1630 + trips { 1631 + cpu4_bottom_alert0: trip-point0 { 1632 + temperature = <90000>; 1633 + hysteresis = <2000>; 1634 + type = "passive"; 1635 + }; 1636 + 1637 + cpu4_bottom_alert1: trip-point1 { 1638 + temperature = <95000>; 1639 + hysteresis = <2000>; 1640 + type = "passive"; 1641 + }; 1642 + 1643 + cpu4_bottom_crit: cpu_crit { 1644 + temperature = <110000>; 1645 + hysteresis = <1000>; 1646 + type = "critical"; 1647 + }; 1648 + }; 1649 + }; 1650 + 1651 + cpu5-top-thermal { 1652 + polling-delay-passive = <0>; 1653 + polling-delay = <0>; 1654 + thermal-sensors = <&tsens0 7>; 1655 + 1656 + trips { 1657 + cpu5_top_alert0: trip-point0 { 1658 + temperature = <90000>; 1659 + hysteresis = <2000>; 1660 + type = "passive"; 1661 + }; 1662 + 1663 + cpu5_top_alert1: trip-point1 { 1664 + temperature = <95000>; 1665 + hysteresis = <2000>; 1666 + type = "passive"; 1667 + }; 1668 + 1669 + cpu5_top_crit: cpu_crit { 1670 + temperature = <110000>; 1671 + hysteresis = <1000>; 1672 + type = "critical"; 1673 + }; 1674 + }; 1675 + }; 1676 + 1677 + cpu5-bottom-thermal { 1678 + polling-delay-passive = <0>; 1679 + polling-delay = <0>; 1680 + thermal-sensors = <&tsens0 8>; 1681 + 1682 + trips { 1683 + cpu5_bottom_alert0: trip-point0 { 1684 + temperature = <90000>; 1685 + hysteresis = <2000>; 1686 + type = "passive"; 1687 + }; 1688 + 1689 + cpu5_bottom_alert1: trip-point1 { 1690 + temperature = <95000>; 1691 + hysteresis = <2000>; 1692 + type = "passive"; 1693 + }; 1694 + 1695 + cpu5_bottom_crit: cpu_crit { 1696 + temperature = <110000>; 1697 + hysteresis = <1000>; 1698 + type = "critical"; 1699 + }; 1700 + }; 1701 + }; 1702 + 1703 + cpu6-top-thermal { 1704 + polling-delay-passive = <0>; 1705 + polling-delay = <0>; 1706 + thermal-sensors = <&tsens0 9>; 1707 + 1708 + trips { 1709 + cpu6_top_alert0: trip-point0 { 1710 + temperature = <90000>; 1711 + hysteresis = <2000>; 1712 + type = "passive"; 1713 + }; 1714 + 1715 + cpu6_top_alert1: trip-point1 { 1716 + temperature = <95000>; 1717 + hysteresis = <2000>; 1718 + type = "passive"; 1719 + }; 1720 + 1721 + cpu6_top_crit: cpu_crit { 1722 + temperature = <110000>; 1723 + hysteresis = <1000>; 1724 + type = "critical"; 1725 + }; 1726 + }; 1727 + }; 1728 + 1729 + cpu6-bottom-thermal { 1730 + polling-delay-passive = <0>; 1731 + polling-delay = <0>; 1732 + thermal-sensors = <&tsens0 10>; 1733 + 1734 + trips { 1735 + cpu6_bottom_alert0: trip-point0 { 1736 + temperature = <90000>; 1737 + hysteresis = <2000>; 1738 + type = "passive"; 1739 + }; 1740 + 1741 + cpu6_bottom_alert1: trip-point1 { 1742 + temperature = <95000>; 1743 + hysteresis = <2000>; 1744 + type = "passive"; 1745 + }; 1746 + 1747 + cpu6_bottom_crit: cpu_crit { 1748 + temperature = <110000>; 1749 + hysteresis = <1000>; 1750 + type = "critical"; 1751 + }; 1752 + }; 1753 + }; 1754 + 1755 + cpu7-top-thermal { 1756 + polling-delay-passive = <0>; 1757 + polling-delay = <0>; 1758 + thermal-sensors = <&tsens0 11>; 1759 + 1760 + trips { 1761 + cpu7_top_alert0: trip-point0 { 1762 + temperature = <90000>; 1763 + hysteresis = <2000>; 1764 + type = "passive"; 1765 + }; 1766 + 1767 + cpu7_top_alert1: trip-point1 { 1768 + temperature = <95000>; 1769 + hysteresis = <2000>; 1770 + type = "passive"; 1771 + }; 1772 + 1773 + cpu7_top_crit: cpu_crit { 1774 + temperature = <110000>; 1775 + hysteresis = <1000>; 1776 + type = "critical"; 1777 + }; 1778 + }; 1779 + }; 1780 + 1781 + cpu7-middle-thermal { 1782 + polling-delay-passive = <0>; 1783 + polling-delay = <0>; 1784 + thermal-sensors = <&tsens0 12>; 1785 + 1786 + trips { 1787 + cpu7_middle_alert0: trip-point0 { 1788 + temperature = <90000>; 1789 + hysteresis = <2000>; 1790 + type = "passive"; 1791 + }; 1792 + 1793 + cpu7_middle_alert1: trip-point1 { 1794 + temperature = <95000>; 1795 + hysteresis = <2000>; 1796 + type = "passive"; 1797 + }; 1798 + 1799 + cpu7_middle_crit: cpu_crit { 1800 + temperature = <110000>; 1801 + hysteresis = <1000>; 1802 + type = "critical"; 1803 + }; 1804 + }; 1805 + }; 1806 + 1807 + cpu7-bottom-thermal { 1808 + polling-delay-passive = <0>; 1809 + polling-delay = <0>; 1810 + thermal-sensors = <&tsens0 13>; 1811 + 1812 + trips { 1813 + cpu7_bottom_alert0: trip-point0 { 1814 + temperature = <90000>; 1815 + hysteresis = <2000>; 1816 + type = "passive"; 1817 + }; 1818 + 1819 + cpu7_bottom_alert1: trip-point1 { 1820 + temperature = <95000>; 1821 + hysteresis = <2000>; 1822 + type = "passive"; 1823 + }; 1824 + 1825 + cpu7_bottom_crit: cpu_crit { 1826 + temperature = <110000>; 1827 + hysteresis = <1000>; 1828 + type = "critical"; 1829 + }; 1830 + }; 1831 + }; 1832 + 1833 + gpu-top-thermal { 1834 + polling-delay-passive = <10>; 1835 + polling-delay = <0>; 1836 + thermal-sensors = <&tsens0 14>; 1837 + 1838 + trips { 1839 + thermal-engine-config { 1840 + temperature = <125000>; 1841 + hysteresis = <1000>; 1842 + type = "passive"; 1843 + }; 1844 + 1845 + thermal-hal-config { 1846 + temperature = <125000>; 1847 + hysteresis = <1000>; 1848 + type = "passive"; 1849 + }; 1850 + 1851 + reset-mon-cfg { 1852 + temperature = <115000>; 1853 + hysteresis = <5000>; 1854 + type = "passive"; 1855 + }; 1856 + 1857 + gpu0_tj_cfg: tj_cfg { 1858 + temperature = <95000>; 1859 + hysteresis = <5000>; 1860 + type = "passive"; 1861 + }; 1862 + }; 1863 + }; 1864 + 1865 + gpu-bottom-thermal { 1866 + polling-delay-passive = <10>; 1867 + polling-delay = <0>; 1868 + thermal-sensors = <&tsens0 15>; 1869 + 1870 + trips { 1871 + thermal-engine-config { 1872 + temperature = <125000>; 1873 + hysteresis = <1000>; 1874 + type = "passive"; 1875 + }; 1876 + 1877 + thermal-hal-config { 1878 + temperature = <125000>; 1879 + hysteresis = <1000>; 1880 + type = "passive"; 1881 + }; 1882 + 1883 + reset-mon-cfg { 1884 + temperature = <115000>; 1885 + hysteresis = <5000>; 1886 + type = "passive"; 1887 + }; 1888 + 1889 + gpu1_tj_cfg: tj_cfg { 1890 + temperature = <95000>; 1891 + hysteresis = <5000>; 1892 + type = "passive"; 1893 + }; 1894 + }; 1895 + }; 1896 + 1897 + aoss1-thermal { 1898 + polling-delay-passive = <0>; 1899 + polling-delay = <0>; 1900 + thermal-sensors = <&tsens1 0>; 1901 + 1902 + trips { 1903 + thermal-engine-config { 1904 + temperature = <125000>; 1905 + hysteresis = <1000>; 1906 + type = "passive"; 1907 + }; 1908 + 1909 + reset-mon-cfg { 1910 + temperature = <115000>; 1911 + hysteresis = <5000>; 1912 + type = "passive"; 1913 + }; 1914 + }; 1915 + }; 1916 + 1917 + cpu0-thermal { 1918 + polling-delay-passive = <0>; 1919 + polling-delay = <0>; 1920 + thermal-sensors = <&tsens1 1>; 1921 + 1922 + trips { 1923 + cpu0_alert0: trip-point0 { 1924 + temperature = <90000>; 1925 + hysteresis = <2000>; 1926 + type = "passive"; 1927 + }; 1928 + 1929 + cpu0_alert1: trip-point1 { 1930 + temperature = <95000>; 1931 + hysteresis = <2000>; 1932 + type = "passive"; 1933 + }; 1934 + 1935 + cpu0_crit: cpu_crit { 1936 + temperature = <110000>; 1937 + hysteresis = <1000>; 1938 + type = "critical"; 1939 + }; 1940 + }; 1941 + }; 1942 + 1943 + cpu1-thermal { 1944 + polling-delay-passive = <0>; 1945 + polling-delay = <0>; 1946 + thermal-sensors = <&tsens1 2>; 1947 + 1948 + trips { 1949 + cpu1_alert0: trip-point0 { 1950 + temperature = <90000>; 1951 + hysteresis = <2000>; 1952 + type = "passive"; 1953 + }; 1954 + 1955 + cpu1_alert1: trip-point1 { 1956 + temperature = <95000>; 1957 + hysteresis = <2000>; 1958 + type = "passive"; 1959 + }; 1960 + 1961 + cpu1_crit: cpu_crit { 1962 + temperature = <110000>; 1963 + hysteresis = <1000>; 1964 + type = "critical"; 1965 + }; 1966 + }; 1967 + }; 1968 + 1969 + cpu2-thermal { 1970 + polling-delay-passive = <0>; 1971 + polling-delay = <0>; 1972 + thermal-sensors = <&tsens1 3>; 1973 + 1974 + trips { 1975 + cpu2_alert0: trip-point0 { 1976 + temperature = <90000>; 1977 + hysteresis = <2000>; 1978 + type = "passive"; 1979 + }; 1980 + 1981 + cpu2_alert1: trip-point1 { 1982 + temperature = <95000>; 1983 + hysteresis = <2000>; 1984 + type = "passive"; 1985 + }; 1986 + 1987 + cpu2_crit: cpu_crit { 1988 + temperature = <110000>; 1989 + hysteresis = <1000>; 1990 + type = "critical"; 1991 + }; 1992 + }; 1993 + }; 1994 + 1995 + cpu3-thermal { 1996 + polling-delay-passive = <0>; 1997 + polling-delay = <0>; 1998 + thermal-sensors = <&tsens1 4>; 1999 + 2000 + trips { 2001 + cpu3_alert0: trip-point0 { 2002 + temperature = <90000>; 2003 + hysteresis = <2000>; 2004 + type = "passive"; 2005 + }; 2006 + 2007 + cpu3_alert1: trip-point1 { 2008 + temperature = <95000>; 2009 + hysteresis = <2000>; 2010 + type = "passive"; 2011 + }; 2012 + 2013 + cpu3_crit: cpu_crit { 2014 + temperature = <110000>; 2015 + hysteresis = <1000>; 2016 + type = "critical"; 2017 + }; 2018 + }; 2019 + }; 2020 + 2021 + cdsp0-thermal { 2022 + polling-delay-passive = <10>; 2023 + polling-delay = <0>; 2024 + thermal-sensors = <&tsens1 5>; 2025 + 2026 + trips { 2027 + thermal-engine-config { 2028 + temperature = <125000>; 2029 + hysteresis = <1000>; 2030 + type = "passive"; 2031 + }; 2032 + 2033 + thermal-hal-config { 2034 + temperature = <125000>; 2035 + hysteresis = <1000>; 2036 + type = "passive"; 2037 + }; 2038 + 2039 + reset-mon-cfg { 2040 + temperature = <115000>; 2041 + hysteresis = <5000>; 2042 + type = "passive"; 2043 + }; 2044 + 2045 + cdsp_0_config: junction-config { 2046 + temperature = <95000>; 2047 + hysteresis = <5000>; 2048 + type = "passive"; 2049 + }; 2050 + }; 2051 + }; 2052 + 2053 + cdsp1-thermal { 2054 + polling-delay-passive = <10>; 2055 + polling-delay = <0>; 2056 + thermal-sensors = <&tsens1 6>; 2057 + 2058 + trips { 2059 + thermal-engine-config { 2060 + temperature = <125000>; 2061 + hysteresis = <1000>; 2062 + type = "passive"; 2063 + }; 2064 + 2065 + thermal-hal-config { 2066 + temperature = <125000>; 2067 + hysteresis = <1000>; 2068 + type = "passive"; 2069 + }; 2070 + 2071 + reset-mon-cfg { 2072 + temperature = <115000>; 2073 + hysteresis = <5000>; 2074 + type = "passive"; 2075 + }; 2076 + 2077 + cdsp_1_config: junction-config { 2078 + temperature = <95000>; 2079 + hysteresis = <5000>; 2080 + type = "passive"; 2081 + }; 2082 + }; 2083 + }; 2084 + 2085 + cdsp2-thermal { 2086 + polling-delay-passive = <10>; 2087 + polling-delay = <0>; 2088 + thermal-sensors = <&tsens1 7>; 2089 + 2090 + trips { 2091 + thermal-engine-config { 2092 + temperature = <125000>; 2093 + hysteresis = <1000>; 2094 + type = "passive"; 2095 + }; 2096 + 2097 + thermal-hal-config { 2098 + temperature = <125000>; 2099 + hysteresis = <1000>; 2100 + type = "passive"; 2101 + }; 2102 + 2103 + reset-mon-cfg { 2104 + temperature = <115000>; 2105 + hysteresis = <5000>; 2106 + type = "passive"; 2107 + }; 2108 + 2109 + cdsp_2_config: junction-config { 2110 + temperature = <95000>; 2111 + hysteresis = <5000>; 2112 + type = "passive"; 2113 + }; 2114 + }; 2115 + }; 2116 + 2117 + video-thermal { 2118 + polling-delay-passive = <0>; 2119 + polling-delay = <0>; 2120 + thermal-sensors = <&tsens1 8>; 2121 + 2122 + trips { 2123 + thermal-engine-config { 2124 + temperature = <125000>; 2125 + hysteresis = <1000>; 2126 + type = "passive"; 2127 + }; 2128 + 2129 + reset-mon-cfg { 2130 + temperature = <115000>; 2131 + hysteresis = <5000>; 2132 + type = "passive"; 2133 + }; 2134 + }; 2135 + }; 2136 + 2137 + mem-thermal { 2138 + polling-delay-passive = <10>; 2139 + polling-delay = <0>; 2140 + thermal-sensors = <&tsens1 9>; 2141 + 2142 + trips { 2143 + thermal-engine-config { 2144 + temperature = <125000>; 2145 + hysteresis = <1000>; 2146 + type = "passive"; 2147 + }; 2148 + 2149 + ddr_config0: ddr0-config { 2150 + temperature = <90000>; 2151 + hysteresis = <5000>; 2152 + type = "passive"; 2153 + }; 2154 + 2155 + reset-mon-cfg { 2156 + temperature = <115000>; 2157 + hysteresis = <5000>; 2158 + type = "passive"; 2159 + }; 2160 + }; 2161 + }; 2162 + 2163 + modem0-thermal { 2164 + polling-delay-passive = <0>; 2165 + polling-delay = <0>; 2166 + thermal-sensors = <&tsens1 10>; 2167 + 2168 + trips { 2169 + thermal-engine-config { 2170 + temperature = <125000>; 2171 + hysteresis = <1000>; 2172 + type = "passive"; 2173 + }; 2174 + 2175 + mdmss0_config0: mdmss0-config0 { 2176 + temperature = <102000>; 2177 + hysteresis = <3000>; 2178 + type = "passive"; 2179 + }; 2180 + 2181 + mdmss0_config1: mdmss0-config1 { 2182 + temperature = <105000>; 2183 + hysteresis = <3000>; 2184 + type = "passive"; 2185 + }; 2186 + 2187 + reset-mon-cfg { 2188 + temperature = <115000>; 2189 + hysteresis = <5000>; 2190 + type = "passive"; 2191 + }; 2192 + }; 2193 + }; 2194 + 2195 + modem1-thermal { 2196 + polling-delay-passive = <0>; 2197 + polling-delay = <0>; 2198 + thermal-sensors = <&tsens1 11>; 2199 + 2200 + trips { 2201 + thermal-engine-config { 2202 + temperature = <125000>; 2203 + hysteresis = <1000>; 2204 + type = "passive"; 2205 + }; 2206 + 2207 + mdmss1_config0: mdmss1-config0 { 2208 + temperature = <102000>; 2209 + hysteresis = <3000>; 2210 + type = "passive"; 2211 + }; 2212 + 2213 + mdmss1_config1: mdmss1-config1 { 2214 + temperature = <105000>; 2215 + hysteresis = <3000>; 2216 + type = "passive"; 2217 + }; 2218 + 2219 + reset-mon-cfg { 2220 + temperature = <115000>; 2221 + hysteresis = <5000>; 2222 + type = "passive"; 2223 + }; 2224 + }; 2225 + }; 2226 + 2227 + modem2-thermal { 2228 + polling-delay-passive = <0>; 2229 + polling-delay = <0>; 2230 + thermal-sensors = <&tsens1 12>; 2231 + 2232 + trips { 2233 + thermal-engine-config { 2234 + temperature = <125000>; 2235 + hysteresis = <1000>; 2236 + type = "passive"; 2237 + }; 2238 + 2239 + mdmss2_config0: mdmss2-config0 { 2240 + temperature = <102000>; 2241 + hysteresis = <3000>; 2242 + type = "passive"; 2243 + }; 2244 + 2245 + mdmss2_config1: mdmss2-config1 { 2246 + temperature = <105000>; 2247 + hysteresis = <3000>; 2248 + type = "passive"; 2249 + }; 2250 + 2251 + reset-mon-cfg { 2252 + temperature = <115000>; 2253 + hysteresis = <5000>; 2254 + type = "passive"; 2255 + }; 2256 + }; 2257 + }; 2258 + 2259 + modem3-thermal { 2260 + polling-delay-passive = <0>; 2261 + polling-delay = <0>; 2262 + thermal-sensors = <&tsens1 13>; 2263 + 2264 + trips { 2265 + thermal-engine-config { 2266 + temperature = <125000>; 2267 + hysteresis = <1000>; 2268 + type = "passive"; 2269 + }; 2270 + 2271 + mdmss3_config0: mdmss3-config0 { 2272 + temperature = <102000>; 2273 + hysteresis = <3000>; 2274 + type = "passive"; 2275 + }; 2276 + 2277 + mdmss3_config1: mdmss3-config1 { 2278 + temperature = <105000>; 2279 + hysteresis = <3000>; 2280 + type = "passive"; 2281 + }; 2282 + 2283 + reset-mon-cfg { 2284 + temperature = <115000>; 2285 + hysteresis = <5000>; 2286 + type = "passive"; 2287 + }; 2288 + }; 2289 + }; 2290 + 2291 + camera0-thermal { 2292 + polling-delay-passive = <0>; 2293 + polling-delay = <0>; 2294 + thermal-sensors = <&tsens1 14>; 2295 + 2296 + trips { 2297 + thermal-engine-config { 2298 + temperature = <125000>; 2299 + hysteresis = <1000>; 2300 + type = "passive"; 2301 + }; 2302 + 2303 + reset-mon-cfg { 2304 + temperature = <115000>; 2305 + hysteresis = <5000>; 2306 + type = "passive"; 2307 + }; 2308 + }; 2309 + }; 2310 + 2311 + camera1-thermal { 2312 + polling-delay-passive = <0>; 2313 + polling-delay = <0>; 2314 + thermal-sensors = <&tsens1 15>; 2315 + 2316 + trips { 2317 + thermal-engine-config { 2318 + temperature = <125000>; 2319 + hysteresis = <1000>; 2320 + type = "passive"; 2321 + }; 2322 + 2323 + reset-mon-cfg { 2324 + temperature = <115000>; 2325 + hysteresis = <5000>; 2326 + type = "passive"; 2327 + }; 2328 + }; 3155 2329 }; 3156 2330 }; 3157 2331
+4
include/dt-bindings/clock/qcom,gcc-msm8998.h
··· 186 186 #define UFS_UNIPRO_CORE_CLK_SRC 177 187 187 #define GCC_MMSS_GPLL0_CLK 178 188 188 #define HMSS_GPLL0_CLK_SRC 179 189 + #define GCC_IM_SLEEP 180 190 + #define AGGRE2_SNOC_NORTH_AXI 181 191 + #define SSC_XO 182 192 + #define SSC_CNOC_AHBS_CLK 183 189 193 190 194 #define PCIE_0_GDSC 0 191 195 #define UFS_GDSC 1
+43
include/dt-bindings/clock/qcom,lpassaudiocc-sc7280.h
··· 1 + /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ 2 + /* 3 + * Copyright (c) 2021, The Linux Foundation. All rights reserved. 4 + */ 5 + 6 + #ifndef _DT_BINDINGS_CLK_QCOM_LPASS_AUDIO_CC_SC7280_H 7 + #define _DT_BINDINGS_CLK_QCOM_LPASS_AUDIO_CC_SC7280_H 8 + 9 + /* LPASS_AUDIO_CC clocks */ 10 + #define LPASS_AUDIO_CC_PLL 0 11 + #define LPASS_AUDIO_CC_PLL_OUT_AUX2 1 12 + #define LPASS_AUDIO_CC_PLL_OUT_AUX2_DIV_CLK_SRC 2 13 + #define LPASS_AUDIO_CC_PLL_OUT_MAIN_DIV_CLK_SRC 3 14 + #define LPASS_AUDIO_CC_CDIV_RX_MCLK_DIV_CLK_SRC 4 15 + #define LPASS_AUDIO_CC_CODEC_MEM0_CLK 5 16 + #define LPASS_AUDIO_CC_CODEC_MEM1_CLK 6 17 + #define LPASS_AUDIO_CC_CODEC_MEM2_CLK 7 18 + #define LPASS_AUDIO_CC_CODEC_MEM_CLK 8 19 + #define LPASS_AUDIO_CC_EXT_MCLK0_CLK 9 20 + #define LPASS_AUDIO_CC_EXT_MCLK0_CLK_SRC 10 21 + #define LPASS_AUDIO_CC_EXT_MCLK1_CLK 11 22 + #define LPASS_AUDIO_CC_EXT_MCLK1_CLK_SRC 12 23 + #define LPASS_AUDIO_CC_RX_MCLK_2X_CLK 13 24 + #define LPASS_AUDIO_CC_RX_MCLK_CLK 14 25 + #define LPASS_AUDIO_CC_RX_MCLK_CLK_SRC 15 26 + 27 + /* LPASS_AON_CC clocks */ 28 + #define LPASS_AON_CC_PLL 0 29 + #define LPASS_AON_CC_PLL_OUT_EVEN 1 30 + #define LPASS_AON_CC_PLL_OUT_MAIN_CDIV_DIV_CLK_SRC 2 31 + #define LPASS_AON_CC_PLL_OUT_ODD 3 32 + #define LPASS_AON_CC_AUDIO_HM_H_CLK 4 33 + #define LPASS_AON_CC_CDIV_TX_MCLK_DIV_CLK_SRC 5 34 + #define LPASS_AON_CC_MAIN_RCG_CLK_SRC 6 35 + #define LPASS_AON_CC_TX_MCLK_2X_CLK 7 36 + #define LPASS_AON_CC_TX_MCLK_CLK 8 37 + #define LPASS_AON_CC_TX_MCLK_RCG_CLK_SRC 9 38 + #define LPASS_AON_CC_VA_MEM0_CLK 10 39 + 40 + /* LPASS_AON_CC power domains */ 41 + #define LPASS_AON_CC_LPASS_AUDIO_HM_GDSC 0 42 + 43 + #endif
+26
include/dt-bindings/clock/qcom,lpasscorecc-sc7280.h
··· 1 + /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ 2 + /* 3 + * Copyright (c) 2021, The Linux Foundation. All rights reserved. 4 + */ 5 + 6 + #ifndef _DT_BINDINGS_CLK_QCOM_LPASS_CORE_CC_SC7280_H 7 + #define _DT_BINDINGS_CLK_QCOM_LPASS_CORE_CC_SC7280_H 8 + 9 + /* LPASS_CORE_CC clocks */ 10 + #define LPASS_CORE_CC_DIG_PLL 0 11 + #define LPASS_CORE_CC_DIG_PLL_OUT_MAIN_DIV_CLK_SRC 1 12 + #define LPASS_CORE_CC_DIG_PLL_OUT_ODD 2 13 + #define LPASS_CORE_CC_CORE_CLK 3 14 + #define LPASS_CORE_CC_CORE_CLK_SRC 4 15 + #define LPASS_CORE_CC_EXT_IF0_CLK_SRC 5 16 + #define LPASS_CORE_CC_EXT_IF0_IBIT_CLK 6 17 + #define LPASS_CORE_CC_EXT_IF1_CLK_SRC 7 18 + #define LPASS_CORE_CC_EXT_IF1_IBIT_CLK 8 19 + #define LPASS_CORE_CC_LPM_CORE_CLK 9 20 + #define LPASS_CORE_CC_LPM_MEM0_CORE_CLK 10 21 + #define LPASS_CORE_CC_SYSNOC_MPORT_CORE_CLK 11 22 + 23 + /* LPASS_CORE_CC power domains */ 24 + #define LPASS_CORE_CC_LPASS_CORE_HM_GDSC 0 25 + 26 + #endif