diff mbox series

[RFT,2/6] arm64: dts: qcom: sdm670: Add PDC

Message ID 20230811-topic-tlmm_wakeup-v1-2-5616a7da1fff@linaro.org
State Accepted
Commit b51ee205dc4f21ca26dd8ca6e17a1580e14f57c5
Headers show
Series Add missing wakeup-parent to TLMM | expand

Commit Message

Konrad Dybcio Aug. 11, 2023, 8:48 p.m. UTC
Add support for the PDC to enable deep sleep wakeup from external sources.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
 arch/arm64/boot/dts/qcom/sdm670.dtsi | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Richard Acayan Aug. 16, 2023, 1:31 a.m. UTC | #1
On Fri, Aug 11, 2023 at 10:48:35PM +0200, Konrad Dybcio wrote:
> Add support for the PDC to enable deep sleep wakeup from external sources.
>
> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> ---

Apologies for not testing this. I am not subscribed to the mailing list
and just found this patch. You may CC me or ping me on #linux-msm if you
want anything tested on SDM670 hardware.

>  arch/arm64/boot/dts/qcom/sdm670.dtsi | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm670.dtsi b/arch/arm64/boot/dts/qcom/sdm670.dtsi
> index a1c207c0266d..da10f0a6d92e 100644
> --- a/arch/arm64/boot/dts/qcom/sdm670.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm670.dtsi
> @@ -1169,6 +1169,16 @@ usb_1_dwc3: usb@a600000 {
>  			};
>  		};
>  
> +		pdc: interrupt-controller@b220000 {
> +			compatible = "qcom,sdm670-pdc", "qcom,pdc";
> +			reg = <0 0x0b220000 0 0x30000>;
> +			qcom,pdc-ranges = <0 480 40>, <41 521 7>, <49 529 4>,
> +					  <54 534 24>, <79 559 30>, <115 630 7>;

The <79 559 30> range is not continuous, just like on SDM845. While PDC
interrupt 93 is on hwirq 573, PDC interrupt 94 is on hwirq 609.

Another patch is needed to fix this because this was already applied.
This does not cause a regression, though, because the pinctrl driver has
no wakeirq map yet.

https://android.googlesource.com/kernel/msm/+/d8e93ac1450a783fc095f082b0e5324cedee2e75/drivers/irqchip/qcom/pdc-sdm670.c#108

> +			#interrupt-cells = <2>;
> +			interrupt-parent = <&intc>;
> +			interrupt-controller;
> +		};
> +
>  		spmi_bus: spmi@c440000 {
>  			compatible = "qcom,spmi-pmic-arb";
>  			reg = <0 0x0c440000 0 0x1100>,
>
> -- 
> 2.41.0
>
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/sdm670.dtsi b/arch/arm64/boot/dts/qcom/sdm670.dtsi
index a1c207c0266d..da10f0a6d92e 100644
--- a/arch/arm64/boot/dts/qcom/sdm670.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm670.dtsi
@@ -1169,6 +1169,16 @@  usb_1_dwc3: usb@a600000 {
 			};
 		};
 
+		pdc: interrupt-controller@b220000 {
+			compatible = "qcom,sdm670-pdc", "qcom,pdc";
+			reg = <0 0x0b220000 0 0x30000>;
+			qcom,pdc-ranges = <0 480 40>, <41 521 7>, <49 529 4>,
+					  <54 534 24>, <79 559 30>, <115 630 7>;
+			#interrupt-cells = <2>;
+			interrupt-parent = <&intc>;
+			interrupt-controller;
+		};
+
 		spmi_bus: spmi@c440000 {
 			compatible = "qcom,spmi-pmic-arb";
 			reg = <0 0x0c440000 0 0x1100>,