mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] arm64: dts: qcom: eliza: Add FastRPC support
@ 2026-07-21  9:30 Abel Vesa
  2026-07-21 14:36 ` Konrad Dybcio
  0 siblings, 1 reply; 3+ messages in thread
From: Abel Vesa @ 2026-07-21  9:30 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Vinayak Katoch, linux-arm-msm, devicetree, linux-kernel, Abel Vesa

Describe the glink-edge for CDSP and the FastRPC subnodes for both ADSP
and CDSP.

Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
---
FastRPC nodes were not part of the remoteprocs patchsets because they
weren't tested in time in order to be sent along.
---
 arch/arm64/boot/dts/qcom/eliza.dtsi | 158 ++++++++++++++++++++++++++++++++++++
 1 file changed, 158 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/eliza.dtsi b/arch/arm64/boot/dts/qcom/eliza.dtsi
index ef19d667c7c1..4576b00c2e5d 100644
--- a/arch/arm64/boot/dts/qcom/eliza.dtsi
+++ b/arch/arm64/boot/dts/qcom/eliza.dtsi
@@ -2038,6 +2038,65 @@ 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 0x1043 0x20>;
+						dma-coherent;
+					};
+
+					compute-cb@4 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <4>;
+
+						iommus = <&apps_smmu 0x1004 0x80>,
+							 <&apps_smmu 0x1044 0x20>;
+						dma-coherent;
+					};
+
+					compute-cb@5 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <5>;
+
+						iommus = <&apps_smmu 0x1005 0x80>,
+							 <&apps_smmu 0x1045 0x20>;
+						dma-coherent;
+					};
+
+					compute-cb@6 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <6>;
+
+						iommus = <&apps_smmu 0x1006 0x80>,
+							 <&apps_smmu 0x1046 0x20>;
+						dma-coherent;
+					};
+
+					compute-cb@7 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <7>;
+
+						iommus = <&apps_smmu 0x1007 0x40>,
+							 <&apps_smmu 0x1067 0x0>,
+							 <&apps_smmu 0x1087 0x0>;
+						dma-coherent;
+					};
+				};
+
 				gpr {
 					compatible = "qcom,gpr";
 					qcom,glink-channels = "adsp_apps";
@@ -3841,6 +3900,105 @@ remoteproc_cdsp: remoteproc@32300000 {
 			qcom,smem-state-names = "stop";
 
 			status = "disabled";
+
+			glink-edge {
+				interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
+							     IPCC_MPROC_SIGNAL_GLINK_QMP
+							     IRQ_TYPE_EDGE_RISING>;
+				mboxes = <&ipcc IPCC_CLIENT_CDSP
+						IPCC_MPROC_SIGNAL_GLINK_QMP>;
+
+				label = "cdsp";
+				qcom,remote-pid = <5>;
+
+				fastrpc {
+					compatible = "qcom,fastrpc";
+					qcom,glink-channels = "fastrpcglink-apps-dsp";
+					label = "cdsp";
+					qcom,non-secure-domain;
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					compute-cb@1 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <1>;
+						iommus = <&apps_smmu 0x0c01 0x0>;
+						dma-coherent;
+					};
+
+					compute-cb@2 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <2>;
+						iommus = <&apps_smmu 0x0c02 0x0>;
+						dma-coherent;
+					};
+
+					compute-cb@3 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <3>;
+						iommus = <&apps_smmu 0x0c03 0x0>;
+						dma-coherent;
+					};
+
+					compute-cb@4 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <4>;
+						iommus = <&apps_smmu 0x0c04 0x0>;
+						dma-coherent;
+					};
+
+					compute-cb@5 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <5>;
+						iommus = <&apps_smmu 0x0c05 0x0>;
+						dma-coherent;
+					};
+
+					compute-cb@6 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <6>;
+						iommus = <&apps_smmu 0x0c06 0x0>;
+						dma-coherent;
+					};
+
+					compute-cb@7 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <7>;
+						iommus = <&apps_smmu 0x0c07 0x0>;
+						dma-coherent;
+					};
+
+					compute-cb@8 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <8>;
+						iommus = <&apps_smmu 0x0c08 0x0>;
+						dma-coherent;
+					};
+
+					/* note: secure cb9 in downstream */
+
+					compute-cb@12 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <12>;
+						iommus = <&apps_smmu 0x0c0c 0x0>;
+						dma-coherent;
+					};
+
+					compute-cb@13 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <13>;
+						iommus = <&apps_smmu 0x0c0d 0x0>;
+						dma-coherent;
+					};
+
+					compute-cb@14 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <14>;
+						iommus = <&apps_smmu 0x0c0e 0x0>;
+						dma-coherent;
+					};
+				};
+			};
 		};
 	};
 

---
base-commit: 03cfefef0119410fc464d0d56e83626cb570b7a8
change-id: 20260721-dts-qcom-eliza-add-fastrpc-c0868aeac9cf
prerequisite-change-id: 20260714-dts-qcom-eliza-add-cdsp-0288fd79c8c2:v2
prerequisite-patch-id: acb10214e50e8fbd14ca66cc162c4e56fb5edc72
prerequisite-patch-id: bdaa37cca19be7fd8d6967689b7599aa2d5a1892
prerequisite-patch-id: 6c9701599710278e20f3077f560f20e83ead9b1c
prerequisite-change-id: 20260701-dts-qcom-eliza-add-gpr-f7714d399e33:v2
prerequisite-patch-id: 84282f8a368672c3f0f8944c442c71713cfd7390

Best regards,
--  
Abel Vesa <abel.vesa@oss.qualcomm.com>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] arm64: dts: qcom: eliza: Add FastRPC support
  2026-07-21  9:30 [PATCH] arm64: dts: qcom: eliza: Add FastRPC support Abel Vesa
@ 2026-07-21 14:36 ` Konrad Dybcio
  2026-09-07 10:23   ` Abel Vesa
  0 siblings, 1 reply; 3+ messages in thread
From: Konrad Dybcio @ 2026-07-21 14:36 UTC (permalink / raw)
  To: Abel Vesa, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Vinayak Katoch, linux-arm-msm, devicetree, linux-kernel

On 7/21/26 11:30 AM, Abel Vesa wrote:
> Describe the glink-edge for CDSP and the FastRPC subnodes for both ADSP
> and CDSP.
> 
> Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
> ---
> FastRPC nodes were not part of the remoteprocs patchsets because they
> weren't tested in time in order to be sent along.
> ---

[...]

> +				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 0x1043 0x20>;

nit: the doc specifies '0x1063 0x20' etc. for the secondary
streams. They are of course equivalent with the mask

[...]

> +					compute-cb@7 {
> +						compatible = "qcom,fastrpc-compute-cb";
> +						reg = <7>;
> +
> +						iommus = <&apps_smmu 0x1007 0x40>,
> +							 <&apps_smmu 0x1067 0x0>,
> +							 <&apps_smmu 0x1087 0x0>;

Why does only this one get the tertiary stream?

[...]

> +				fastrpc {
> +					compatible = "qcom,fastrpc";
> +					qcom,glink-channels = "fastrpcglink-apps-dsp";
> +					label = "cdsp";
> +					qcom,non-secure-domain;
> +					#address-cells = <1>;
> +					#size-cells = <0>;

also 0x0c00 @0 I believe?

Konrad

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] arm64: dts: qcom: eliza: Add FastRPC support
  2026-07-21 14:36 ` Konrad Dybcio
@ 2026-09-07 10:23   ` Abel Vesa
  0 siblings, 0 replies; 3+ messages in thread
From: Abel Vesa @ 2026-09-07 10:23 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Vinayak Katoch, linux-arm-msm, devicetree,
	linux-kernel

On 26-07-21 16:36:36, Konrad Dybcio wrote:
> On 7/21/26 11:30 AM, Abel Vesa wrote:
> > Describe the glink-edge for CDSP and the FastRPC subnodes for both ADSP
> > and CDSP.
> > 
> > Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
> > ---
> > FastRPC nodes were not part of the remoteprocs patchsets because they
> > weren't tested in time in order to be sent along.
> > ---
> 
> [...]
> 
> > +				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 0x1043 0x20>;
> 
> nit: the doc specifies '0x1063 0x20' etc. for the secondary
> streams. They are of course equivalent with the mask

Sorry for the late reply.

Will use 0x1063 instead.

> 
> [...]
> 
> > +					compute-cb@7 {
> > +						compatible = "qcom,fastrpc-compute-cb";
> > +						reg = <7>;
> > +
> > +						iommus = <&apps_smmu 0x1007 0x40>,
> > +							 <&apps_smmu 0x1067 0x0>,
> > +							 <&apps_smmu 0x1087 0x0>;
> 
> Why does only this one get the tertiary stream?

I'm told that it is for some different subsystem stream which shares the
same address space. But looking through the SID mapping documentation,
it seems this 3rd one is not available on Eliza. So I think I need to drop it.

> 
> [...]
> 
> > +				fastrpc {
> > +					compatible = "qcom,fastrpc";
> > +					qcom,glink-channels = "fastrpcglink-apps-dsp";
> > +					label = "cdsp";
> > +					qcom,non-secure-domain;
> > +					#address-cells = <1>;
> > +					#size-cells = <0>;
> 
> also 0x0c00 @0 I believe?

According to internal doc, there is no S1 compute for this one.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-09-07 10:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-21  9:30 [PATCH] arm64: dts: qcom: eliza: Add FastRPC support Abel Vesa
2026-07-21 14:36 ` Konrad Dybcio
2026-09-07 10:23   ` Abel Vesa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®