diff mbox series

[v2,1/3] dt-bindings: power: rpmpd: Add MSM8974 power domains

Message ID 20240210-msm8974-rpmpd-v2-1-595e2ff80ea1@z3ntu.xyz
State Superseded
Headers show
Series Add RPMPD support for MSM8974 | expand

Commit Message

Luca Weiss Feb. 10, 2024, 4:38 p.m. UTC
Add the compatibles and indexes for the rpmpd in MSM8974, both with the
standard PM8841+PM8941 PMICs but also devices found with PMA8084.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
---
 Documentation/devicetree/bindings/power/qcom,rpmpd.yaml | 2 ++
 include/dt-bindings/power/qcom-rpmpd.h                  | 7 +++++++
 2 files changed, 9 insertions(+)

Comments

Stephan Gerhold Feb. 11, 2024, 11:03 a.m. UTC | #1
On Sat, Feb 10, 2024 at 05:38:56PM +0100, Luca Weiss wrote:
> Add the compatibles and indexes for the rpmpd in MSM8974, both with the
> standard PM8841+PM8941 PMICs but also devices found with PMA8084.
> 
> Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> ---
>  Documentation/devicetree/bindings/power/qcom,rpmpd.yaml | 2 ++
>  include/dt-bindings/power/qcom-rpmpd.h                  | 7 +++++++
>  2 files changed, 9 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml b/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
> index 2ff246cf8b81..929b7ef9c1bc 100644
> --- a/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
> +++ b/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
> @@ -24,6 +24,8 @@ properties:
>            - qcom,msm8917-rpmpd
>            - qcom,msm8939-rpmpd
>            - qcom,msm8953-rpmpd
> +          - qcom,msm8974-rpmpd
> +          - qcom,msm8974pro-pma8084-rpmpd
>            - qcom,msm8976-rpmpd
>            - qcom,msm8994-rpmpd
>            - qcom,msm8996-rpmpd

This is maybe more something for the DT reviewers to decide but I wonder
if it is a bit confusing/misleading to describe one particular PMIC with
a generic compatible, and the other with a more specific one. Perhaps it
would be clearer to include the PMIC name in both compatibles, i.e.
"qcom,msm8974-pm8941-rpmpd" instead of "qcom,msm8974-rpmpd".

The "qcom,msm8974-rpmpd" compatible could be maybe added as fallback.
While it wouldn't be used for matching in the (Linux) driver the DT
binding itself *is* "compatible" between the two PMICs because they both
have the same power domain indexes.

i.e.
	compatible = "qcom,msm8974-pm8941-rpmpd", "qcom,msm8974-rpmpd";
	compatible = "qcom,msm8974pro-pma8084-rpmpd", "qcom,msm8974-rpmpd";

Thanks,
Stephan
Luca Weiss Feb. 11, 2024, 11:19 a.m. UTC | #2
On Sonntag, 11. Februar 2024 12:03:15 CET Stephan Gerhold wrote:
> On Sat, Feb 10, 2024 at 05:38:56PM +0100, Luca Weiss wrote:
> > Add the compatibles and indexes for the rpmpd in MSM8974, both with the
> > standard PM8841+PM8941 PMICs but also devices found with PMA8084.
> > 
> > Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> > ---
> > 
> >  Documentation/devicetree/bindings/power/qcom,rpmpd.yaml | 2 ++
> >  include/dt-bindings/power/qcom-rpmpd.h                  | 7 +++++++
> >  2 files changed, 9 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
> > b/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml index
> > 2ff246cf8b81..929b7ef9c1bc 100644
> > --- a/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
> > +++ b/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
> > 
> > @@ -24,6 +24,8 @@ properties:
> >            - qcom,msm8917-rpmpd
> >            - qcom,msm8939-rpmpd
> >            - qcom,msm8953-rpmpd
> > 
> > +          - qcom,msm8974-rpmpd
> > +          - qcom,msm8974pro-pma8084-rpmpd
> > 
> >            - qcom,msm8976-rpmpd
> >            - qcom,msm8994-rpmpd
> >            - qcom,msm8996-rpmpd
> 
> This is maybe more something for the DT reviewers to decide but I wonder
> if it is a bit confusing/misleading to describe one particular PMIC with
> a generic compatible, and the other with a more specific one. Perhaps it
> would be clearer to include the PMIC name in both compatibles, i.e.
> "qcom,msm8974-pm8941-rpmpd" instead of "qcom,msm8974-rpmpd".

FWIW if we'd do that it should be qcom,msm8974-pm8841-rpmpd (so pm8841 instead 
of pm8941)

But also in the same vain, it was maybe a bit of a bad decision originally to 
make the compatibles SoC-specific and not SoC+PMIC-specific - though in nearly 
all cases this combo is fixed for a given SoC?

Anyways, I'll wait for more comments about this, I'm open to changing it 
either way.

Regards
Luca

> 
> The "qcom,msm8974-rpmpd" compatible could be maybe added as fallback.
> While it wouldn't be used for matching in the (Linux) driver the DT
> binding itself *is* "compatible" between the two PMICs because they both
> have the same power domain indexes.
> 
> i.e.
> 	compatible = "qcom,msm8974-pm8941-rpmpd", "qcom,msm8974-rpmpd";
> 	compatible = "qcom,msm8974pro-pma8084-rpmpd", "qcom,msm8974-rpmpd";
> 
> Thanks,
> Stephan
Krzysztof Kozlowski Feb. 11, 2024, 12:17 p.m. UTC | #3
On 10/02/2024 17:38, Luca Weiss wrote:
> Add the compatibles and indexes for the rpmpd in MSM8974, both with the
> standard PM8841+PM8941 PMICs but also devices found with PMA8084.
> 
> Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> ---

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml b/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
index 2ff246cf8b81..929b7ef9c1bc 100644
--- a/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
+++ b/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
@@ -24,6 +24,8 @@  properties:
           - qcom,msm8917-rpmpd
           - qcom,msm8939-rpmpd
           - qcom,msm8953-rpmpd
+          - qcom,msm8974-rpmpd
+          - qcom,msm8974pro-pma8084-rpmpd
           - qcom,msm8976-rpmpd
           - qcom,msm8994-rpmpd
           - qcom,msm8996-rpmpd
diff --git a/include/dt-bindings/power/qcom-rpmpd.h b/include/dt-bindings/power/qcom-rpmpd.h
index 7f4e2983a4c5..608087fb9a3d 100644
--- a/include/dt-bindings/power/qcom-rpmpd.h
+++ b/include/dt-bindings/power/qcom-rpmpd.h
@@ -308,6 +308,13 @@ 
 #define MSM8953_VDDMX		5
 #define MSM8953_VDDMX_AO	6
 
+/* MSM8974 Power Domain Indexes */
+#define MSM8974_VDDCX		0
+#define MSM8974_VDDCX_AO	1
+#define MSM8974_VDDCX_VFC	2
+#define MSM8974_VDDGFX		3
+#define MSM8974_VDDGFX_VFC	4
+
 /* MSM8976 Power Domain Indexes */
 #define MSM8976_VDDCX		0
 #define MSM8976_VDDCX_AO	1