2023-08-11 21:09:08

by Konrad Dybcio

[permalink] [raw]
Subject: [PATCH 0/6] Add missing wakeup-parent to TLMM

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 <[email protected]>
---
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,
--
Konrad Dybcio <[email protected]>



2023-08-11 21:12:17

by Konrad Dybcio

[permalink] [raw]
Subject: [PATCH 5/6] arm64: dts: qcom: sdm670: Hook up PDC as wakeup-parent of TLMM

Some TLMM pins are wakeup-capable. Describe the relationship between
these two peripherals to enable this functionality.

Signed-off-by: Konrad Dybcio <[email protected]>
---
arch/arm64/boot/dts/qcom/sdm670.dtsi | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm670.dtsi b/arch/arm64/boot/dts/qcom/sdm670.dtsi
index da10f0a6d92e..a2354fe94d98 100644
--- a/arch/arm64/boot/dts/qcom/sdm670.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm670.dtsi
@@ -969,6 +969,7 @@ tlmm: pinctrl@3400000 {
interrupt-controller;
#interrupt-cells = <2>;
gpio-ranges = <&tlmm 0 0 151>;
+ wakeup-parent = <&pdc>;

qup_i2c0_default: qup-i2c0-default-state {
pins = "gpio0", "gpio1";

--
2.41.0


2023-08-11 21:17:03

by Konrad Dybcio

[permalink] [raw]
Subject: [PATCH 4/6] arm64: dts: qcom: sa8775p: Hook up PDC as wakeup-parent of TLMM

Some TLMM pins are wakeup-capable. Describe the relationship between
these two peripherals to enable this functionality.

Signed-off-by: Konrad Dybcio <[email protected]>
---
arch/arm64/boot/dts/qcom/sa8775p.dtsi | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm64/boot/dts/qcom/sa8775p.dtsi b/arch/arm64/boot/dts/qcom/sa8775p.dtsi
index 7b55cb701472..830730c020ba 100644
--- a/arch/arm64/boot/dts/qcom/sa8775p.dtsi
+++ b/arch/arm64/boot/dts/qcom/sa8775p.dtsi
@@ -1934,6 +1934,7 @@ tlmm: pinctrl@f000000 {
interrupt-controller;
#interrupt-cells = <2>;
gpio-ranges = <&tlmm 0 0 149>;
+ wakeup-parent = <&pdc>;
};

apps_smmu: iommu@15000000 {

--
2.41.0


2023-08-11 21:21:42

by Konrad Dybcio

[permalink] [raw]
Subject: [PATCH RFT 2/6] arm64: dts: qcom: sdm670: Add PDC

Add support for the PDC to enable deep sleep wakeup from external sources.

Signed-off-by: Konrad Dybcio <[email protected]>
---
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>;
+ #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


2023-08-11 22:28:07

by Konrad Dybcio

[permalink] [raw]
Subject: [PATCH 1/6] dt-bindings: interrupt-controller: qcom,pdc: Add SDM670

Like all other RPMh-enabled SoCs, SDM670 includes a PDC. Document it.

Signed-off-by: Konrad Dybcio <[email protected]>
---
Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml | 1 +
1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml b/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml
index a106ba6e810b..4847b04be1a1 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml
@@ -31,6 +31,7 @@ properties:
- qcom,sc7180-pdc
- qcom,sc7280-pdc
- qcom,sc8280xp-pdc
+ - qcom,sdm670-pdc
- qcom,sdm845-pdc
- qcom,sdx55-pdc
- qcom,sdx65-pdc

--
2.41.0


2023-08-11 22:58:49

by Konrad Dybcio

[permalink] [raw]
Subject: [PATCH 6/6] arm64: dts: qcom: sm6350: Hook up PDC as wakeup-parent of TLMM

Some TLMM pins are wakeup-capable. Describe the relationship between
these two peripherals to enable this functionality.

Signed-off-by: Konrad Dybcio <[email protected]>
---
arch/arm64/boot/dts/qcom/sm6350.dtsi | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm64/boot/dts/qcom/sm6350.dtsi b/arch/arm64/boot/dts/qcom/sm6350.dtsi
index 8f66306d1de3..8fd6f4d03490 100644
--- a/arch/arm64/boot/dts/qcom/sm6350.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm6350.dtsi
@@ -2261,6 +2261,7 @@ tlmm: pinctrl@f100000 {
interrupt-controller;
#interrupt-cells = <2>;
gpio-ranges = <&tlmm 0 0 157>;
+ wakeup-parent = <&pdc>;

cci0_default: cci0-default-state {
pins = "gpio39", "gpio40";

--
2.41.0


2023-08-11 22:59:36

by Konrad Dybcio

[permalink] [raw]
Subject: [PATCH 3/6] arm64: dts: qcom: sc8280xp: Hook up PDC as wakeup-parent of TLMM

Some TLMM pins are wakeup-capable. Describe the relationship between
these two peripherals to enable this functionality.

Signed-off-by: Konrad Dybcio <[email protected]>
---
arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
index 0756b7c141ff..cad59af7ccef 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
@@ -4059,6 +4059,7 @@ tlmm: pinctrl@f100000 {
interrupt-controller;
#interrupt-cells = <2>;
gpio-ranges = <&tlmm 0 0 230>;
+ wakeup-parent = <&pdc>;
};

apps_smmu: iommu@15000000 {

--
2.41.0


2023-08-17 03:55:09

by Bjorn Andersson

[permalink] [raw]
Subject: Re: (subset) [PATCH 0/6] Add missing wakeup-parent to TLMM


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,
--
Bjorn Andersson <[email protected]>

2023-08-17 22:57:33

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 1/6] dt-bindings: interrupt-controller: qcom,pdc: Add SDM670


On Fri, 11 Aug 2023 22:48:34 +0200, Konrad Dybcio wrote:
> Like all other RPMh-enabled SoCs, SDM670 includes a PDC. Document it.
>
> Signed-off-by: Konrad Dybcio <[email protected]>
> ---
> Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml | 1 +
> 1 file changed, 1 insertion(+)
>

Applied, thanks!


2023-08-19 11:34:02

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/6] dt-bindings: interrupt-controller: qcom,pdc: Add SDM670

On 11/08/2023 22:48, Konrad Dybcio wrote:
> Like all other RPMh-enabled SoCs, SDM670 includes a PDC. Document it.
>
> Signed-off-by: Konrad Dybcio <[email protected]>


Acked-by: Krzysztof Kozlowski <[email protected]>

Best regards,
Krzysztof