[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c6aaef38-b400-47de-bcb8-6eb9e12aebb3@linaro.org>
Date: Fri, 6 Dec 2024 16:43:08 +0100
From: Neil Armstrong <neil.armstrong@...aro.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Bjorn Andersson <andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
<conor+dt@...nel.org>, Vinod Koul <vkoul@...nel.org>,
Dmitry Baryshkov <dmitry.baryshkov@...aro.org>,
Abel Vesa <abel.vesa@...aro.org>, Sibi Sankar <quic_sibis@...cinc.com>,
Luca Weiss <luca.weiss@...rphone.com>
Cc: linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, stable@...r.kernel.org
Subject: Re: [PATCH 07/19] arm64: dts: qcom: sm8550: Fix ADSP memory base and
length
On 06/12/2024 16:32, Krzysztof Kozlowski wrote:
> The address space in ADSP PAS (Peripheral Authentication Service)
> remoteproc node should point to the QDSP PUB address space
> (QDSP6...SS_PUB): 0x0680_0000 with length of 0x10000.
>
> 0x3000_0000, value used so far, is the main region of CDSP. Downstream
> DTS uses 0x0300_0000, which is oddly similar to 0x3000_0000, yet quite
> different and points to unused area.
>
> Correct the base address and length, which also moves the node to
> different place to keep things sorted by unit address. The diff looks
> big, but only the unit address and "reg" property were changed. This
> should have no functional impact on Linux users, because PAS loader does
> not use this address space at all.
>
> Fixes: d0c061e366ed ("arm64: dts: qcom: sm8550: add adsp, cdsp & mdss nodes")
> Cc: <stable@...r.kernel.org>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
> ---
> arch/arm64/boot/dts/qcom/sm8550.dtsi | 262 +++++++++++++++++------------------
> 1 file changed, 131 insertions(+), 131 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qcom/sm8550.dtsi
> index e7774d32fb6d2288748ecec00bf525b2b3c40fbb..f454015c5b90c7d792c01bf85256812857d79c64 100644
> --- a/arch/arm64/boot/dts/qcom/sm8550.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi
> @@ -2354,6 +2354,137 @@ IPCC_MPROC_SIGNAL_GLINK_QMP
> };
> };
>
> + remoteproc_adsp: remoteproc@...0000 {
> + compatible = "qcom,sm8550-adsp-pas";
> + reg = <0x0 0x06800000 0x0 0x10000>;
> +
> + interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>,
> + <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
> + <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
> + <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
> + <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
> + interrupt-names = "wdog", "fatal", "ready",
> + "handover", "stop-ack";
> +
> + clocks = <&rpmhcc RPMH_CXO_CLK>;
> + clock-names = "xo";
> +
> + power-domains = <&rpmhpd RPMHPD_LCX>,
> + <&rpmhpd RPMHPD_LMX>;
> + power-domain-names = "lcx", "lmx";
> +
> + interconnects = <&lpass_lpicx_noc MASTER_LPASS_PROC 0 &mc_virt SLAVE_EBI1 0>;
> +
> + memory-region = <&adspslpi_mem>, <&q6_adsp_dtb_mem>;
> +
> + qcom,qmp = <&aoss_qmp>;
> +
> + qcom,smem-states = <&smp2p_adsp_out 0>;
> + qcom,smem-state-names = "stop";
> +
> + status = "disabled";
> +
> + remoteproc_adsp_glink: glink-edge {
> + interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
> + IPCC_MPROC_SIGNAL_GLINK_QMP
> + IRQ_TYPE_EDGE_RISING>;
> + mboxes = <&ipcc IPCC_CLIENT_LPASS
> + IPCC_MPROC_SIGNAL_GLINK_QMP>;
> +
> + label = "lpass";
> + qcom,remote-pid = <2>;
> +
> + fastrpc {
> + compatible = "qcom,fastrpc";
> + qcom,glink-channels = "fastrpcglink-apps-dsp";
> + label = "adsp";
> + qcom,non-secure-domain;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + compute-cb@3 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <3>;
> + iommus = <&apps_smmu 0x1003 0x80>,
> + <&apps_smmu 0x1063 0x0>;
> + dma-coherent;
> + };
> +
> + compute-cb@4 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <4>;
> + iommus = <&apps_smmu 0x1004 0x80>,
> + <&apps_smmu 0x1064 0x0>;
> + dma-coherent;
> + };
> +
> + compute-cb@5 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <5>;
> + iommus = <&apps_smmu 0x1005 0x80>,
> + <&apps_smmu 0x1065 0x0>;
> + dma-coherent;
> + };
> +
> + compute-cb@6 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <6>;
> + iommus = <&apps_smmu 0x1006 0x80>,
> + <&apps_smmu 0x1066 0x0>;
> + dma-coherent;
> + };
> +
> + compute-cb@7 {
> + compatible = "qcom,fastrpc-compute-cb";
> + reg = <7>;
> + iommus = <&apps_smmu 0x1007 0x80>,
> + <&apps_smmu 0x1067 0x0>;
> + dma-coherent;
> + };
> + };
> +
> + gpr {
> + compatible = "qcom,gpr";
> + qcom,glink-channels = "adsp_apps";
> + qcom,domain = <GPR_DOMAIN_ID_ADSP>;
> + qcom,intents = <512 20>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + q6apm: service@1 {
> + compatible = "qcom,q6apm";
> + reg = <GPR_APM_MODULE_IID>;
> + #sound-dai-cells = <0>;
> + qcom,protection-domain = "avs/audio",
> + "msm/adsp/audio_pd";
> +
> + q6apmdai: dais {
> + compatible = "qcom,q6apm-dais";
> + iommus = <&apps_smmu 0x1001 0x80>,
> + <&apps_smmu 0x1061 0x0>;
> + };
> +
> + q6apmbedai: bedais {
> + compatible = "qcom,q6apm-lpass-dais";
> + #sound-dai-cells = <1>;
> + };
> + };
> +
> + q6prm: service@2 {
> + compatible = "qcom,q6prm";
> + reg = <GPR_PRM_MODULE_IID>;
> + qcom,protection-domain = "avs/audio",
> + "msm/adsp/audio_pd";
> +
> + q6prmcc: clock-controller {
> + compatible = "qcom,q6prm-lpass-clocks";
> + #clock-cells = <2>;
> + };
> + };
> + };
> + };
> + };
> +
> lpass_wsa2macro: codec@...0000 {
> compatible = "qcom,sm8550-lpass-wsa-macro";
> reg = <0 0x06aa0000 0 0x1000>;
> @@ -4576,137 +4707,6 @@ system-cache-controller@...00000 {
> interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
> };
>
> - remoteproc_adsp: remoteproc@...00000 {
> - compatible = "qcom,sm8550-adsp-pas";
> - reg = <0x0 0x30000000 0x0 0x100>;
> -
> - interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>,
> - <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
> - <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
> - <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
> - <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
> - interrupt-names = "wdog", "fatal", "ready",
> - "handover", "stop-ack";
> -
> - clocks = <&rpmhcc RPMH_CXO_CLK>;
> - clock-names = "xo";
> -
> - power-domains = <&rpmhpd RPMHPD_LCX>,
> - <&rpmhpd RPMHPD_LMX>;
> - power-domain-names = "lcx", "lmx";
> -
> - interconnects = <&lpass_lpicx_noc MASTER_LPASS_PROC 0 &mc_virt SLAVE_EBI1 0>;
> -
> - memory-region = <&adspslpi_mem>, <&q6_adsp_dtb_mem>;
> -
> - qcom,qmp = <&aoss_qmp>;
> -
> - qcom,smem-states = <&smp2p_adsp_out 0>;
> - qcom,smem-state-names = "stop";
> -
> - status = "disabled";
> -
> - remoteproc_adsp_glink: glink-edge {
> - interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
> - IPCC_MPROC_SIGNAL_GLINK_QMP
> - IRQ_TYPE_EDGE_RISING>;
> - mboxes = <&ipcc IPCC_CLIENT_LPASS
> - IPCC_MPROC_SIGNAL_GLINK_QMP>;
> -
> - label = "lpass";
> - qcom,remote-pid = <2>;
> -
> - fastrpc {
> - compatible = "qcom,fastrpc";
> - qcom,glink-channels = "fastrpcglink-apps-dsp";
> - label = "adsp";
> - qcom,non-secure-domain;
> - #address-cells = <1>;
> - #size-cells = <0>;
> -
> - compute-cb@3 {
> - compatible = "qcom,fastrpc-compute-cb";
> - reg = <3>;
> - iommus = <&apps_smmu 0x1003 0x80>,
> - <&apps_smmu 0x1063 0x0>;
> - dma-coherent;
> - };
> -
> - compute-cb@4 {
> - compatible = "qcom,fastrpc-compute-cb";
> - reg = <4>;
> - iommus = <&apps_smmu 0x1004 0x80>,
> - <&apps_smmu 0x1064 0x0>;
> - dma-coherent;
> - };
> -
> - compute-cb@5 {
> - compatible = "qcom,fastrpc-compute-cb";
> - reg = <5>;
> - iommus = <&apps_smmu 0x1005 0x80>,
> - <&apps_smmu 0x1065 0x0>;
> - dma-coherent;
> - };
> -
> - compute-cb@6 {
> - compatible = "qcom,fastrpc-compute-cb";
> - reg = <6>;
> - iommus = <&apps_smmu 0x1006 0x80>,
> - <&apps_smmu 0x1066 0x0>;
> - dma-coherent;
> - };
> -
> - compute-cb@7 {
> - compatible = "qcom,fastrpc-compute-cb";
> - reg = <7>;
> - iommus = <&apps_smmu 0x1007 0x80>,
> - <&apps_smmu 0x1067 0x0>;
> - dma-coherent;
> - };
> - };
> -
> - gpr {
> - compatible = "qcom,gpr";
> - qcom,glink-channels = "adsp_apps";
> - qcom,domain = <GPR_DOMAIN_ID_ADSP>;
> - qcom,intents = <512 20>;
> - #address-cells = <1>;
> - #size-cells = <0>;
> -
> - q6apm: service@1 {
> - compatible = "qcom,q6apm";
> - reg = <GPR_APM_MODULE_IID>;
> - #sound-dai-cells = <0>;
> - qcom,protection-domain = "avs/audio",
> - "msm/adsp/audio_pd";
> -
> - q6apmdai: dais {
> - compatible = "qcom,q6apm-dais";
> - iommus = <&apps_smmu 0x1001 0x80>,
> - <&apps_smmu 0x1061 0x0>;
> - };
> -
> - q6apmbedai: bedais {
> - compatible = "qcom,q6apm-lpass-dais";
> - #sound-dai-cells = <1>;
> - };
> - };
> -
> - q6prm: service@2 {
> - compatible = "qcom,q6prm";
> - reg = <GPR_PRM_MODULE_IID>;
> - qcom,protection-domain = "avs/audio",
> - "msm/adsp/audio_pd";
> -
> - q6prmcc: clock-controller {
> - compatible = "qcom,q6prm-lpass-clocks";
> - #clock-cells = <2>;
> - };
> - };
> - };
> - };
> - };
> -
> nsp_noc: interconnect@...c0000 {
> compatible = "qcom,sm8550-nsp-noc";
> reg = <0 0x320c0000 0 0xe080>;
>
Reviewed-by: Neil Armstrong <neil.armstrong@...aro.org>
Powered by blists - more mailing lists