mbox series

[0/6] Add missing wakeup-parent to TLMM

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

Message

Konrad Dybcio Aug. 11, 2023, 8:48 p.m. UTC
Some TLMM pins are wakeup-capable, but not all platforms described that.

While MPM is not yet hooked up, PDC platforms can and should utilize this
functionality. This series attempts to do so. As part of it, I had to add
PDC support to SDM670, as it apparently hasn't been introduced yet.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
Konrad Dybcio (6):
      dt-bindings: interrupt-controller: qcom,pdc: Add SDM670
      [RFT] arm64: dts: qcom: sdm670: Add PDC
      arm64: dts: qcom: sc8280xp: Hook up PDC as wakeup-parent of TLMM
      arm64: dts: qcom: sa8775p: Hook up PDC as wakeup-parent of TLMM
      arm64: dts: qcom: sdm670: Hook up PDC as wakeup-parent of TLMM
      arm64: dts: qcom: sm6350: Hook up PDC as wakeup-parent of TLMM

 .../devicetree/bindings/interrupt-controller/qcom,pdc.yaml    |  1 +
 arch/arm64/boot/dts/qcom/sa8775p.dtsi                         |  1 +
 arch/arm64/boot/dts/qcom/sc8280xp.dtsi                        |  1 +
 arch/arm64/boot/dts/qcom/sdm670.dtsi                          | 11 +++++++++++
 arch/arm64/boot/dts/qcom/sm6350.dtsi                          |  1 +
 5 files changed, 15 insertions(+)
---
base-commit: 21ef7b1e17d039053edaeaf41142423810572741
change-id: 20230811-topic-tlmm_wakeup-e7536d56007b

Best regards,

Comments

Bjorn Andersson Aug. 15, 2023, 6:49 p.m. UTC | #1
On Fri, 11 Aug 2023 22:48:33 +0200, Konrad Dybcio wrote:
> Some TLMM pins are wakeup-capable, but not all platforms described that.
> 
> While MPM is not yet hooked up, PDC platforms can and should utilize this
> functionality. This series attempts to do so. As part of it, I had to add
> PDC support to SDM670, as it apparently hasn't been introduced yet.
> 
> 
> [...]

Applied, thanks!

[2/6] arm64: dts: qcom: sdm670: Add PDC
      commit: b51ee205dc4f21ca26dd8ca6e17a1580e14f57c5
[3/6] arm64: dts: qcom: sc8280xp: Hook up PDC as wakeup-parent of TLMM
      commit: 57ff519a644cb5be33b28b7848ddde648a60d262
[4/6] arm64: dts: qcom: sa8775p: Hook up PDC as wakeup-parent of TLMM
      commit: a74883a0de4ecee0c5a07ec732dd75acedb57723
[5/6] arm64: dts: qcom: sdm670: Hook up PDC as wakeup-parent of TLMM
      commit: 71f080633d1ee1233759484d790e86847d2434a5
[6/6] arm64: dts: qcom: sm6350: Hook up PDC as wakeup-parent of TLMM
      commit: 902824035fa5f2d2e9d20937cec331cbe52a1ab4

Best regards,
Richard Acayan Aug. 16, 2023, 1:31 a.m. UTC | #2
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
>