ARM: dts: qcom: sdx65: support IPA
Subsystems (2)
v3 cover ARM: dts: qcom: sdx65: support IPA
The upstream IPA driver now supports IPA v5.0 for SDX65. Add IPA-related nodes and definitions to "sdx65.dtsi", and enable IPA in "sdx65-mtp.dts".
Having touched these files, Konrad advised I should update them to move the "status" property to the end of nodes where it is used.
Version 3 of corrects an address in the first patch that caused a "simple-bus unit address format error" message when building dtbs.
Version 2 of this series addresses comments made by Krzysztof and Konrad, and adds their reviewed-by tags.
-Alex
Alex Elder (2):
ARM: dts: qcom: sdx65: add IPA information
ARM: dts: qcom-sdx65: move status properties to end of nodes
arch/arm/boot/dts/qcom-sdx65-mtp.dts | 11 +++++-- arch/arm/boot/dts/qcom-sdx65.dtsi | 47 ++++++++++++++++++++++++++-- 2 files changed, 52 insertions(+), 6 deletions(-)
Signature · 1 line
2.34.1
PATCH v3 1/2 ARM: dts: qcom: sdx65: add IPA information
Add IPA-related nodes and definitions to "sdx65.dtsi". The SMP2P nodes (ipa_smp2p_out and ipa_smp2p_in) are already present.
Enable IPA in "sdx65-mtp.dts"; this GSI firmware is loaded by Trust Zone on this platform.
---
v3: - Use ipa@3f40000 rather than ipa@3e04000 for the IPA node.
v2: - Fixed an alignment issue noticed by Krzysztof.
- Moved the "iommus" property as suggested by Konrad.
arch/arm/boot/dts/qcom-sdx65-mtp.dts | 5 ++++ arch/arm/boot/dts/qcom-sdx65.dtsi | 39 ++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+)
arch/arm/boot/dts/qcom-sdx65-mtp.dts +5 -0
@@ -245,6 +245,11 @@ &blsp1_uart3 { status = "okay"; }; +&ipa { + qcom,gsi-loader = "skip"; + status = "okay"; +}; + &qpic_bam { status = "okay"; };
arch/arm/boot/dts/qcom-sdx65.dtsi +39 -0
@@ -11,6 +11,7 @@ #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/power/qcom-rpmpd.h> #include <dt-bindings/soc/qcom,rpmh-rsc.h> +#include <dt-bindings/interconnect/qcom,sdx65.h> / { #address-cells = <1>;
@@ -299,6 +300,44 @@ tcsr_mutex: hwlock@1f40000 { #hwlock-cells = <1>; }; + ipa: ipa@3f40000 { + compatible = "qcom,sdx65-ipa"; + + reg = <0x03f40000 0x10000>, + <0x03f50000 0x5000>, + <0x03e04000 0xfc000>; + reg-names = "ipa-reg", + "ipa-shared", + "gsi"; + + interrupts-extended = <&intc GIC_SPI 241 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, + <&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, + <&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "ipa", + "gsi", + "ipa-clock-query", + "ipa-setup-ready"; + + iommus = <&apps_smmu 0x5e0 0x0>, + <&apps_smmu 0x5e2 0x0>; + + clocks = <&rpmhcc RPMH_IPA_CLK>; + clock-names = "core"; + + interconnects = <&system_noc MASTER_IPA &mc_virt SLAVE_EBI1>, + <&mem_noc MASTER_APPSS_PROC &system_noc SLAVE_IPA_CFG>; + interconnect-names = "memory", + "config"; + + qcom,smem-states = <&ipa_smp2p_out 0>, + <&ipa_smp2p_out 1>; + qcom,smem-state-names = "ipa-clock-enabled-valid", + "ipa-clock-enabled"; + + status = "disabled"; + }; + remoteproc_mpss: remoteproc@4080000 { compatible = "qcom,sdx55-mpss-pas"; reg = <0x04080000 0x4040>;
Signature · 1 line
2.34.1
PATCH v3 2/2 ARM: dts: qcom-sdx65: move status properties to end of nodes
In reply to Alex ElderMove a few device tree "status" properties so that they are the last specified property, in "qcom-sdx65-mtp.dts" and "qcom-sdx65.dtsi". Note that properties must always be specified before sub-nodes.
--- arch/arm/boot/dts/qcom-sdx65-mtp.dts | 6 +++--- arch/arm/boot/dts/qcom-sdx65.dtsi | 8 +++++--- 2 files changed, 8 insertions(+), 6 deletions(-)
arch/arm/boot/dts/qcom-sdx65-mtp.dts +3 -3
@@ -270,8 +270,8 @@ nand@0 { }; &remoteproc_mpss { - status = "okay"; memory-region = <&mpss_adsp_mem>; + status = "okay"; }; &usb {
@@ -283,14 +283,14 @@ &usb_dwc3 { }; &usb_hsphy { - status = "okay"; vdda-pll-supply = <&vreg_l4b_0p88>; vdda33-supply = <&vreg_l10b_3p08>; vdda18-supply = <&vreg_l5b_1p8>; + status = "okay"; }; &usb_qmpphy { - status = "okay"; vdda-phy-supply = <&vreg_l4b_0p88>; vdda-pll-supply = <&vreg_l1b_1p2>; + status = "okay"; };
arch/arm/boot/dts/qcom-sdx65.dtsi +5 -3
@@ -224,16 +224,15 @@ usb_hsphy: phy@ff4000 { "qcom,usb-snps-hs-7nm-phy"; reg = <0xff4000 0x120>; #phy-cells = <0>; - status = "disabled"; clocks = <&rpmhcc RPMH_CXO_CLK>; clock-names = "ref"; resets = <&gcc GCC_QUSB2PHY_BCR>; + status = "disabled"; }; usb_qmpphy: phy@ff6000 { compatible = "qcom,sdx65-qmp-usb3-uni-phy"; reg = <0x00ff6000 0x1c8>; - status = "disabled"; #address-cells = <1>; #size-cells = <1>; ranges;
@@ -247,6 +246,8 @@ usb_qmpphy: phy@ff6000 { <&gcc GCC_USB3_PHY_BCR>; reset-names = "phy", "common"; + status = "disabled"; + usb_ssphy: phy@ff6200 { reg = <0x00ff6e00 0x160>, <0x00ff7000 0x1ec>,
@@ -394,7 +395,6 @@ mem_noc: interconnect@9680000 { usb: usb@a6f8800 { compatible = "qcom,sdx65-dwc3", "qcom,dwc3"; reg = <0x0a6f8800 0x400>; - status = "disabled"; #address-cells = <1>; #size-cells = <1>; ranges;
@@ -424,6 +424,8 @@ usb: usb@a6f8800 { resets = <&gcc GCC_USB30_BCR>; + status = "disabled"; + usb_dwc3: usb@a600000 { compatible = "snps,dwc3"; reg = <0x0a600000 0xcd00>;
Signature · 1 line
2.34.1
Bjorn Andersson
AppliedQuoted 8 lines · Alex Elder
The upstream IPA driver now supports IPA v5.0 for SDX65. Add IPA-related nodes and definitions to "
sdx65.dtsi", and enable IPA in "sdx65-mtp.dts".Having touched these files, Konrad advised I should update them to move the "status" property to the end of nodes where it is used.
[...]
Applied, thanks!
[1/2] ARM: dts: qcom: sdx65: add IPA information
commit: 14079448cccc2fb8e2709d5ea194bd5e6a11ded9
[2/2] ARM: dts: qcom-sdx65: move status properties to end of nodes
commit: 280ecc191281892bf33ed6bfdea46b4c27ce582cBest regards,
Signature · 1 line
Bjorn Andersson <[email protected]>