diff mbox series

[3/5] ARM: dts: qcom: msm8226: Add ADSP node

Message ID 20220423155059.660387-3-luca@z3ntu.xyz
State Accepted
Commit 25ba74dd60022f2fa1630405d6eba7c37f45b13a
Headers show
Series [1/5] dt-bindings: remoteproc: qcom: pas: Add MSM8226 adsp | expand

Commit Message

Luca Weiss April 23, 2022, 3:50 p.m. UTC
Add a node for the adsp found on msm8226.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
---
 .../boot/dts/qcom-apq8026-asus-sparrow.dts    |  2 +
 arch/arm/boot/dts/qcom-msm8226.dtsi           | 65 +++++++++++++++++++
 2 files changed, 67 insertions(+)

Comments

Luca Weiss July 19, 2022, 6:21 p.m. UTC | #1
Hi Bjorn,

On Samstag, 23. April 2022 17:50:57 CEST Luca Weiss wrote:
> Add a node for the adsp found on msm8226.
> 

it seems the dt-bindings and driver patch has landed in 5.19 but I don't think 
the 3 dts(i) patches are applied yet.

Could you please check and maybe apply them?

Regards
Luca

> Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> ---
>  .../boot/dts/qcom-apq8026-asus-sparrow.dts    |  2 +
>  arch/arm/boot/dts/qcom-msm8226.dtsi           | 65 +++++++++++++++++++
>  2 files changed, 67 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/qcom-apq8026-asus-sparrow.dts
> b/arch/arm/boot/dts/qcom-apq8026-asus-sparrow.dts index
> ace8cea27949..818c1a201227 100644
> --- a/arch/arm/boot/dts/qcom-apq8026-asus-sparrow.dts
> +++ b/arch/arm/boot/dts/qcom-apq8026-asus-sparrow.dts
> @@ -8,6 +8,8 @@
>  #include "qcom-msm8226.dtsi"
>  #include "qcom-pm8226.dtsi"
> 
> +/delete-node/ &adsp_region;
> +
>  / {
>  	model = "ASUS ZenWatch 2";
>  	compatible = "asus,sparrow", "qcom,apq8026";
> diff --git a/arch/arm/boot/dts/qcom-msm8226.dtsi
> b/arch/arm/boot/dts/qcom-msm8226.dtsi index 28eca15b5712..3016035d5e21
> 100644
> --- a/arch/arm/boot/dts/qcom-msm8226.dtsi
> +++ b/arch/arm/boot/dts/qcom-msm8226.dtsi
> @@ -8,6 +8,7 @@
>  #include <dt-bindings/interrupt-controller/arm-gic.h>
>  #include <dt-bindings/clock/qcom,gcc-msm8974.h>
>  #include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/power/qcom-rpmpd.h>
>  #include <dt-bindings/reset/qcom,gcc-msm8974.h>
> 
>  / {
> @@ -60,6 +61,11 @@ smem_region: smem@3000000 {
>  			reg = <0x3000000 0x100000>;
>  			no-map;
>  		};
> +
> +		adsp_region: adsp@dc00000 {
> +			reg = <0x0dc00000 0x1900000>;
> +			no-map;
> +		};
>  	};
> 
>  	smd {
> @@ -115,6 +121,31 @@ smem {
>  		hwlocks = <&tcsr_mutex 3>;
>  	};
> 
> +	smp2p-adsp {
> +		compatible = "qcom,smp2p";
> +		qcom,smem = <443>, <429>;
> +
> +		interrupt-parent = <&intc>;
> +		interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
> +
> +		qcom,ipc = <&apcs 8 10>;
> +
> +		qcom,local-pid = <0>;
> +		qcom,remote-pid = <2>;
> +
> +		adsp_smp2p_out: master-kernel {
> +			qcom,entry-name = "master-kernel";
> +			#qcom,smem-state-cells = <1>;
> +		};
> +
> +		adsp_smp2p_in: slave-kernel {
> +			qcom,entry-name = "slave-kernel";
> +
> +			interrupt-controller;
> +			#interrupt-cells = <2>;
> +		};
> +	};
> +
>  	soc: soc {
>  		compatible = "simple-bus";
>  		#address-cells = <1>;
> @@ -512,6 +543,40 @@ tcsr_mutex_block: syscon@fd484000 {
>  			compatible = "syscon";
>  			reg = <0xfd484000 0x2000>;
>  		};
> +
> +		adsp: remoteproc@fe200000 {
> +			compatible = "qcom,msm8226-adsp-pil";
> +			reg = <0xfe200000 0x100>;
> +
> +			interrupts-extended = <&intc GIC_SPI 162 
IRQ_TYPE_EDGE_RISING>,
> +					      <&adsp_smp2p_in 
0 IRQ_TYPE_EDGE_RISING>,
> +					      <&adsp_smp2p_in 
1 IRQ_TYPE_EDGE_RISING>,
> +					      <&adsp_smp2p_in 
2 IRQ_TYPE_EDGE_RISING>,
> +					      <&adsp_smp2p_in 
3 IRQ_TYPE_EDGE_RISING>;
> +			interrupt-names = "wdog", "fatal", "ready", 
"handover", "stop-ack";
> +
> +			power-domains = <&rpmpd MSM8226_VDDCX>;
> +			power-domain-names = "cx";
> +
> +			clocks = <&xo_board>;
> +			clock-names = "xo";
> +
> +			memory-region = <&adsp_region>;
> +
> +			qcom,smem-states = <&adsp_smp2p_out 0>;
> +			qcom,smem-state-names = "stop";
> +
> +			status = "disabled";
> +
> +			smd-edge {
> +				interrupts = <GIC_SPI 156 
IRQ_TYPE_EDGE_RISING>;
> +
> +				qcom,ipc = <&apcs 8 8>;
> +				qcom,smd-edge = <1>;
> +
> +				label = "lpass";
> +			};
> +		};
>  	};
> 
>  	timer {
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/qcom-apq8026-asus-sparrow.dts b/arch/arm/boot/dts/qcom-apq8026-asus-sparrow.dts
index ace8cea27949..818c1a201227 100644
--- a/arch/arm/boot/dts/qcom-apq8026-asus-sparrow.dts
+++ b/arch/arm/boot/dts/qcom-apq8026-asus-sparrow.dts
@@ -8,6 +8,8 @@ 
 #include "qcom-msm8226.dtsi"
 #include "qcom-pm8226.dtsi"
 
+/delete-node/ &adsp_region;
+
 / {
 	model = "ASUS ZenWatch 2";
 	compatible = "asus,sparrow", "qcom,apq8026";
diff --git a/arch/arm/boot/dts/qcom-msm8226.dtsi b/arch/arm/boot/dts/qcom-msm8226.dtsi
index 28eca15b5712..3016035d5e21 100644
--- a/arch/arm/boot/dts/qcom-msm8226.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8226.dtsi
@@ -8,6 +8,7 @@ 
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/clock/qcom,gcc-msm8974.h>
 #include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/power/qcom-rpmpd.h>
 #include <dt-bindings/reset/qcom,gcc-msm8974.h>
 
 / {
@@ -60,6 +61,11 @@  smem_region: smem@3000000 {
 			reg = <0x3000000 0x100000>;
 			no-map;
 		};
+
+		adsp_region: adsp@dc00000 {
+			reg = <0x0dc00000 0x1900000>;
+			no-map;
+		};
 	};
 
 	smd {
@@ -115,6 +121,31 @@  smem {
 		hwlocks = <&tcsr_mutex 3>;
 	};
 
+	smp2p-adsp {
+		compatible = "qcom,smp2p";
+		qcom,smem = <443>, <429>;
+
+		interrupt-parent = <&intc>;
+		interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
+
+		qcom,ipc = <&apcs 8 10>;
+
+		qcom,local-pid = <0>;
+		qcom,remote-pid = <2>;
+
+		adsp_smp2p_out: master-kernel {
+			qcom,entry-name = "master-kernel";
+			#qcom,smem-state-cells = <1>;
+		};
+
+		adsp_smp2p_in: slave-kernel {
+			qcom,entry-name = "slave-kernel";
+
+			interrupt-controller;
+			#interrupt-cells = <2>;
+		};
+	};
+
 	soc: soc {
 		compatible = "simple-bus";
 		#address-cells = <1>;
@@ -512,6 +543,40 @@  tcsr_mutex_block: syscon@fd484000 {
 			compatible = "syscon";
 			reg = <0xfd484000 0x2000>;
 		};
+
+		adsp: remoteproc@fe200000 {
+			compatible = "qcom,msm8226-adsp-pil";
+			reg = <0xfe200000 0x100>;
+
+			interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
+					      <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
+					      <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
+					      <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
+					      <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
+			interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
+
+			power-domains = <&rpmpd MSM8226_VDDCX>;
+			power-domain-names = "cx";
+
+			clocks = <&xo_board>;
+			clock-names = "xo";
+
+			memory-region = <&adsp_region>;
+
+			qcom,smem-states = <&adsp_smp2p_out 0>;
+			qcom,smem-state-names = "stop";
+
+			status = "disabled";
+
+			smd-edge {
+				interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
+
+				qcom,ipc = <&apcs 8 8>;
+				qcom,smd-edge = <1>;
+
+				label = "lpass";
+			};
+		};
 	};
 
 	timer {