diff mbox series

[V2] arm64: dts: qcom: x1e80100: Add fastrpc nodes

Message ID 20240618145601.239101-1-quic_sibis@quicinc.com (mailing list archive)
State Superseded
Headers show
Series [V2] arm64: dts: qcom: x1e80100: Add fastrpc nodes | expand

Commit Message

Sibi Sankar June 18, 2024, 2:56 p.m. UTC
Add fastrpc nodes for ADSP and CDSP on X1E80100 SoC.

Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
---

v2:
* Rebase on top of next-20240617.
* Separate it from the bwmon series. [Bjorn]

 arch/arm64/boot/dts/qcom/x1e80100.dtsi | 156 +++++++++++++++++++++++++
 1 file changed, 156 insertions(+)

Comments

Konrad Dybcio June 18, 2024, 7:15 p.m. UTC | #1
On 6/18/24 16:56, Sibi Sankar wrote:
> Add fastrpc nodes for ADSP and CDSP on X1E80100 SoC.
> 
> Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
> ---

[...]

> +
> +					compute-cb@1 {
> +						compatible = "qcom,fastrpc-compute-cb";
> +						reg = <1>;
> +						iommus = <&apps_smmu 0x0c01 0x20>,
> +							 <&apps_smmu 0x0c21 0x20>;

(0x0c01 & ~0x20) == (0x0c21 & ~0x20), is this repetition required by
the firmware, or would it work with the latter entry dropped? (and
all others in this cdsp fastrpc list)

Konrad
Sibi Sankar June 24, 2024, 9:59 a.m. UTC | #2
On 6/19/24 00:45, Konrad Dybcio wrote:
> 
> 
> On 6/18/24 16:56, Sibi Sankar wrote:
>> Add fastrpc nodes for ADSP and CDSP on X1E80100 SoC.
>>
>> Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>

Hey Konrad,
Thanks for taking time to review the series :)

>> ---
> 
> [...]
> 
>> +
>> +                    compute-cb@1 {
>> +                        compatible = "qcom,fastrpc-compute-cb";
>> +                        reg = <1>;
>> +                        iommus = <&apps_smmu 0x0c01 0x20>,
>> +                             <&apps_smmu 0x0c21 0x20>;
> 
> (0x0c01 & ~0x20) == (0x0c21 & ~0x20), is this repetition required by
> the firmware, or would it work with the latter entry dropped? (and
> all others in this cdsp fastrpc list)

Yes the latter can/should be dropped. Thanks for catching this. Will
fix this in the next re-spin.

-Sibi

> 
> Konrad
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
index 9944c654851e..dadca06e0e32 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
@@ -5368,6 +5368,55 @@  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";
@@ -5457,6 +5506,113 @@  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 0x20>,
+							 <&apps_smmu 0x0c21 0x20>;
+						dma-coherent;
+					};
+
+					compute-cb@2 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <2>;
+						iommus = <&apps_smmu 0x0c02 0x20>,
+							 <&apps_smmu 0x0c22 0x20>;
+						dma-coherent;
+					};
+
+					compute-cb@3 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <3>;
+						iommus = <&apps_smmu 0x0c03 0x20>,
+							 <&apps_smmu 0x0c23 0x20>;
+						dma-coherent;
+					};
+
+					compute-cb@4 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <4>;
+						iommus = <&apps_smmu 0x0c04 0x20>,
+							 <&apps_smmu 0x0c24 0x20>;
+						dma-coherent;
+					};
+
+					compute-cb@5 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <5>;
+						iommus = <&apps_smmu 0x0c05 0x20>,
+							 <&apps_smmu 0x0c25 0x20>;
+						dma-coherent;
+					};
+
+					compute-cb@6 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <6>;
+						iommus = <&apps_smmu 0x0c06 0x20>,
+							 <&apps_smmu 0x0c26 0x20>;
+						dma-coherent;
+					};
+
+					compute-cb@7 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <7>;
+						iommus = <&apps_smmu 0x0c07 0x20>,
+							 <&apps_smmu 0x0c27 0x20>;
+						dma-coherent;
+					};
+
+					compute-cb@8 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <8>;
+						iommus = <&apps_smmu 0x0c08 0x20>,
+							 <&apps_smmu 0x0c28 0x20>;
+						dma-coherent;
+					};
+
+					/* note: compute-cb@9 is secure */
+
+					compute-cb@10 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <10>;
+						iommus = <&apps_smmu 0x0c0c 0x20>,
+							 <&apps_smmu 0x0c2c 0x20>;
+						dma-coherent;
+					};
+
+					compute-cb@11 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <11>;
+						iommus = <&apps_smmu 0x0c0d 0x20>,
+							 <&apps_smmu 0x0c2d 0x20>;
+						dma-coherent;
+					};
+
+					compute-cb@12 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <12>;
+						iommus = <&apps_smmu 0x0c0e 0x20>,
+							 <&apps_smmu 0x0c2e 0x20>;
+						dma-coherent;
+					};
+
+					compute-cb@13 {
+						compatible = "qcom,fastrpc-compute-cb";
+						reg = <13>;
+						iommus = <&apps_smmu 0x0c0f 0x20>,
+							 <&apps_smmu 0x0c2f 0x20>;
+						dma-coherent;
+					};
+				};
 			};
 		};
 	};