]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
dt-bindings: power: qcom-rpmpd: add generic bindings for RPM power domains
authorDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Fri, 18 Jul 2025 16:13:41 +0000 (19:13 +0300)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 19 Aug 2025 09:27:50 +0000 (11:27 +0200)
Some of the Qualcomm RPM PD controllers use a common set of indices for
power domains. Add generic indices for Qualcomm RPM power domain
controllers.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20250718-rework-rpmhpd-rpmpd-v1-3-eedca108e540@oss.qualcomm.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
include/dt-bindings/power/qcom-rpmpd.h

index 65f7d5ecc3521cfbc45d6158bd6143ea09f47302..4371ac941f29d9657b6573f4934658f100726224 100644 (file)
@@ -6,18 +6,37 @@
 
 #include <dt-bindings/power/qcom,rpmhpd.h>
 
+/* Generic RPM Power Domain Indexes */
+#define RPMPD_VDDCX            0
+#define RPMPD_VDDCX_AO         1
+/* VFC and VFL are mutually exclusive and can not be present on the same platform */
+#define RPMPD_VDDCX_VFC                2
+#define RPMPD_VDDCX_VFL                2
+#define RPMPD_VDDMX            3
+#define RPMPD_VDDMX_AO         4
+#define RPMPD_VDDMX_VFL                5
+#define RPMPD_SSCCX            6
+#define RPMPD_SSCCX_VFL                7
+#define RPMPD_SSCMX            8
+#define RPMPD_SSCMX_VFL                9
+
+/*
+ * Platform-specific power domain bindings. Don't add new entries here, use
+ * RPMPD_* above.
+ */
+
 /* MDM9607 Power Domains */
-#define MDM9607_VDDCX          0
-#define MDM9607_VDDCX_AO       1
-#define MDM9607_VDDCX_VFL      2
-#define MDM9607_VDDMX          3
-#define MDM9607_VDDMX_AO       4
-#define MDM9607_VDDMX_VFL      5
+#define MDM9607_VDDCX          RPMPD_VDDCX
+#define MDM9607_VDDCX_AO       RPMPD_VDDCX_AO
+#define MDM9607_VDDCX_VFL      RPMPD_VDDCX_VFL
+#define MDM9607_VDDMX          RPMPD_VDDMX
+#define MDM9607_VDDMX_AO       RPMPD_VDDMX_AO
+#define MDM9607_VDDMX_VFL      RPMPD_VDDMX_VFL
 
 /* MSM8226 Power Domain Indexes */
-#define MSM8226_VDDCX          0
-#define MSM8226_VDDCX_AO       1
-#define MSM8226_VDDCX_VFC      2
+#define MSM8226_VDDCX          RPMPD_VDDCX
+#define MSM8226_VDDCX_AO       RPMPD_VDDCX_AO
+#define MSM8226_VDDCX_VFC      RPMPD_VDDCX_VFC
 
 /* MSM8939 Power Domains */
 #define MSM8939_VDDMDCX                0
 #define MSM8939_VDDMX_AO       7
 
 /* MSM8916 Power Domain Indexes */
-#define MSM8916_VDDCX          0
-#define MSM8916_VDDCX_AO       1
-#define MSM8916_VDDCX_VFC      2
-#define MSM8916_VDDMX          3
-#define MSM8916_VDDMX_AO       4
+#define MSM8916_VDDCX          RPMPD_VDDCX
+#define MSM8916_VDDCX_AO       RPMPD_VDDCX_AO
+#define MSM8916_VDDCX_VFC      RPMPD_VDDCX_VFC
+#define MSM8916_VDDMX          RPMPD_VDDMX
+#define MSM8916_VDDMX_AO       RPMPD_VDDMX_AO
 
 /* MSM8909 Power Domain Indexes */
 #define MSM8909_VDDCX          MSM8916_VDDCX
 #define MSM8909_VDDMX_AO       MSM8916_VDDMX_AO
 
 /* MSM8917 Power Domain Indexes */
-#define MSM8917_VDDCX          0
-#define MSM8917_VDDCX_AO       1
-#define MSM8917_VDDCX_VFL      2
-#define MSM8917_VDDMX          3
-#define MSM8917_VDDMX_AO       4
+#define MSM8917_VDDCX          RPMPD_VDDCX
+#define MSM8917_VDDCX_AO       RPMPD_VDDCX_AO
+#define MSM8917_VDDCX_VFL      RPMPD_VDDCX_VFL
+#define MSM8917_VDDMX          RPMPD_VDDMX
+#define MSM8917_VDDMX_AO       RPMPD_VDDMX_AO
 
 /* MSM8937 Power Domain Indexes */
 #define MSM8937_VDDCX          MSM8917_VDDCX
 #define MSM8974_VDDGFX_VFC     4
 
 /* MSM8976 Power Domain Indexes */
-#define MSM8976_VDDCX          0
-#define MSM8976_VDDCX_AO       1
-#define MSM8976_VDDCX_VFL      2
-#define MSM8976_VDDMX          3
-#define MSM8976_VDDMX_AO       4
-#define MSM8976_VDDMX_VFL      5
+#define MSM8976_VDDCX          RPMPD_VDDCX
+#define MSM8976_VDDCX_AO       RPMPD_VDDCX_AO
+#define MSM8976_VDDCX_VFL      RPMPD_VDDCX_VFL
+#define MSM8976_VDDMX          RPMPD_VDDMX
+#define MSM8976_VDDMX_AO       RPMPD_VDDMX_AO
+#define MSM8976_VDDMX_VFL      RPMPD_VDDMX_VFL
 
 /* MSM8994 Power Domain Indexes */
 #define MSM8994_VDDCX          0
 #define MSM8996_VDDSSCX_VFC    6
 
 /* MSM8998 Power Domain Indexes */
-#define MSM8998_VDDCX          0
-#define MSM8998_VDDCX_AO       1
-#define MSM8998_VDDCX_VFL      2
-#define MSM8998_VDDMX          3
-#define MSM8998_VDDMX_AO       4
-#define MSM8998_VDDMX_VFL      5
-#define MSM8998_SSCCX          6
-#define MSM8998_SSCCX_VFL      7
-#define MSM8998_SSCMX          8
-#define MSM8998_SSCMX_VFL      9
+#define MSM8998_VDDCX          RPMPD_VDDCX
+#define MSM8998_VDDCX_AO       RPMPD_VDDCX_AO
+#define MSM8998_VDDCX_VFL      RPMPD_VDDCX_VFL
+#define MSM8998_VDDMX          RPMPD_VDDMX
+#define MSM8998_VDDMX_AO       RPMPD_VDDMX_AO
+#define MSM8998_VDDMX_VFL      RPMPD_VDDMX_VFL
+#define MSM8998_SSCCX          RPMPD_SSCCX
+#define MSM8998_SSCCX_VFL      RPMPD_SSCCX_VFL
+#define MSM8998_SSCMX          RPMPD_SSCMX
+#define MSM8998_SSCMX_VFL      RPMPD_SSCMX_VFL
 
 /* QCM2290 Power Domains */
 #define QCM2290_VDDCX          0
 #define QCS404_LPIMX_VFL       6
 
 /* SDM660 Power Domains */
-#define SDM660_VDDCX           0
-#define SDM660_VDDCX_AO                1
-#define SDM660_VDDCX_VFL       2
-#define SDM660_VDDMX           3
-#define SDM660_VDDMX_AO                4
-#define SDM660_VDDMX_VFL       5
-#define SDM660_SSCCX           6
-#define SDM660_SSCCX_VFL       7
-#define SDM660_SSCMX           8
-#define SDM660_SSCMX_VFL       9
+#define SDM660_VDDCX           RPMPD_VDDCX
+#define SDM660_VDDCX_AO                RPMPD_VDDCX_AO
+#define SDM660_VDDCX_VFL       RPMPD_VDDCX_VFL
+#define SDM660_VDDMX           RPMPD_VDDMX
+#define SDM660_VDDMX_AO                RPMPD_VDDMX_AO
+#define SDM660_VDDMX_VFL       RPMPD_VDDMX_VFL
+#define SDM660_SSCCX           RPMPD_SSCCX
+#define SDM660_SSCCX_VFL       RPMPD_SSCCX_VFL
+#define SDM660_SSCMX           RPMPD_SSCMX
+#define SDM660_SSCMX_VFL       RPMPD_SSCMX_VFL
 
 /* SM6115 Power Domains */
 #define SM6115_VDDCX           0
 #define SM6115_VDD_LPI_MX      7
 
 /* SM6125 Power Domains */
-#define SM6125_VDDCX           0
-#define SM6125_VDDCX_AO                1
-#define SM6125_VDDCX_VFL       2
-#define SM6125_VDDMX           3
-#define SM6125_VDDMX_AO                4
-#define SM6125_VDDMX_VFL       5
+#define SM6125_VDDCX           RPMPD_VDDCX
+#define SM6125_VDDCX_AO                RPMPD_VDDCX_AO
+#define SM6125_VDDCX_VFL       RPMPD_VDDCX_VFL
+#define SM6125_VDDMX           RPMPD_VDDMX
+#define SM6125_VDDMX_AO                RPMPD_VDDMX_AO
+#define SM6125_VDDMX_VFL       RPMPD_VDDMX_VFL
 
 /* SM6375 Power Domain Indexes */
 #define SM6375_VDDCX           0