soc: qcom: rpmpd: Remove SoC names from RPMPD definitions
authorKonrad Dybcio <konrad.dybcio@linaro.org>
Mon, 13 Mar 2023 19:59:59 +0000 (20:59 +0100)
committerBjorn Andersson <andersson@kernel.org>
Wed, 15 Mar 2023 22:40:27 +0000 (15:40 -0700)
Replace the SoC names with type+id_key (or type+id+..name..+key for
fixed-key definitions) and remove duplicate entries.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230313-topic-rpmpd-v3-1-06a4f448ff90@linaro.org
drivers/soc/qcom/rpmpd.c

index 337b1ad1cd3bfecd4119dd417a4676655f9ee7bf..d99a56509e3354b1e13e09665e90195fcf4251e1 100644 (file)
 
 #define MAX_CORNER_RPMPD_STATE 6
 
-#define DEFINE_RPMPD_PAIR(_platform, _name, _active, r_type, r_key,    \
-                         r_id)                                         \
-       static struct rpmpd _platform##_##_active;                      \
-       static struct rpmpd _platform##_##_name = {                     \
+#define DEFINE_RPMPD_PAIR(_name, _active, r_type, r_key, r_id)         \
+       static struct rpmpd r_type##r_id##_##r_key##_##_active;                 \
+       static struct rpmpd r_type##r_id##_##r_key##_##_name = {                        \
                .pd = { .name = #_name, },                              \
-               .peer = &_platform##_##_active,                         \
+               .peer = &r_type##r_id##_##r_key##_##_active,                            \
                .res_type = RPMPD_##r_type,                             \
                .res_id = r_id,                                         \
                .key = KEY_##r_key,                                     \
        };                                                              \
-       static struct rpmpd _platform##_##_active = {                   \
+       static struct rpmpd r_type##r_id##_##r_key##_##_active = {                      \
                .pd = { .name = #_active, },                            \
-               .peer = &_platform##_##_name,                           \
+               .peer = &r_type##r_id##_##r_key##_##_name,                              \
                .active_only = true,                                    \
                .res_type = RPMPD_##r_type,                             \
                .res_id = r_id,                                         \
                .key = KEY_##r_key,                                     \
        }
 
-#define DEFINE_RPMPD_CORNER(_platform, _name, r_type, r_id)            \
-       static struct rpmpd _platform##_##_name = {                     \
+#define DEFINE_RPMPD_CORNER(_name, r_type, r_id)                       \
+       static struct rpmpd r_type##r_id##_##_name##_corner = {                 \
                .pd = { .name = #_name, },                              \
                .res_type = RPMPD_##r_type,                             \
                .res_id = r_id,                                         \
                .key = KEY_CORNER,                                      \
        }
 
-#define DEFINE_RPMPD_LEVEL(_platform, _name, r_type, r_id)             \
-       static struct rpmpd _platform##_##_name = {                     \
+#define DEFINE_RPMPD_LEVEL(_name, r_type, r_id)                                \
+       static struct rpmpd r_type##r_id##_##_name##_lvl = {                    \
                .pd = { .name = #_name, },                              \
                .res_type = RPMPD_##r_type,                             \
                .res_id = r_id,                                         \
                .key = KEY_LEVEL,                                       \
        }
 
-#define DEFINE_RPMPD_VFC(_platform, _name, r_type, r_id)               \
-       static struct rpmpd _platform##_##_name = {                     \
+#define DEFINE_RPMPD_VFC(_name, r_type, r_id)                          \
+       static struct rpmpd r_type##r_id##_##_name = {                  \
                .pd = { .name = #_name, },                              \
                .res_type = RPMPD_##r_type,                             \
                .res_id = r_id,                                         \
                .key = KEY_FLOOR_CORNER,                                \
        }
 
-#define DEFINE_RPMPD_VFL(_platform, _name, r_type, r_id)               \
-       static struct rpmpd _platform##_##_name = {                     \
+#define DEFINE_RPMPD_VFL(_name, r_type, r_id)                          \
+       static struct rpmpd r_type##r_id##_##_name = {                  \
                .pd = { .name = #_name, },                              \
                .res_type = RPMPD_##r_type,                             \
                .res_id = r_id,                                         \
@@ -119,18 +118,18 @@ struct rpmpd_desc {
 static DEFINE_MUTEX(rpmpd_lock);
 
 /* mdm9607 RPM Power Domains */
-DEFINE_RPMPD_PAIR(mdm9607, vddcx, vddcx_ao, SMPA, LEVEL, 3);
-DEFINE_RPMPD_VFL(mdm9607, vddcx_vfl, SMPA, 3);
+DEFINE_RPMPD_PAIR(vddcx, vddcx_ao, SMPA, LEVEL, 3);
+DEFINE_RPMPD_VFL(vddcx_vfl, SMPA, 3);
 
-DEFINE_RPMPD_PAIR(mdm9607, vddmx, vddmx_ao, LDOA, LEVEL, 12);
-DEFINE_RPMPD_VFL(mdm9607, vddmx_vfl, LDOA, 12);
+DEFINE_RPMPD_PAIR(vddmx, vddmx_ao, LDOA, LEVEL, 12);
+DEFINE_RPMPD_VFL(vddmx_vfl, LDOA, 12);
 static struct rpmpd *mdm9607_rpmpds[] = {
-       [MDM9607_VDDCX] =       &mdm9607_vddcx,
-       [MDM9607_VDDCX_AO] =    &mdm9607_vddcx_ao,
-       [MDM9607_VDDCX_VFL] =   &mdm9607_vddcx_vfl,
-       [MDM9607_VDDMX] =       &mdm9607_vddmx,
-       [MDM9607_VDDMX_AO] =    &mdm9607_vddmx_ao,
-       [MDM9607_VDDMX_VFL] =   &mdm9607_vddmx_vfl,
+       [MDM9607_VDDCX] =       &SMPA3_LEVEL_vddcx,
+       [MDM9607_VDDCX_AO] =    &SMPA3_LEVEL_vddcx_ao,
+       [MDM9607_VDDCX_VFL] =   &SMPA3_vddcx_vfl,
+       [MDM9607_VDDMX] =       &LDOA12_LEVEL_vddmx,
+       [MDM9607_VDDMX_AO] =    &LDOA12_LEVEL_vddmx_ao,
+       [MDM9607_VDDMX_VFL] =   &LDOA12_vddmx_vfl,
 };
 
 static const struct rpmpd_desc mdm9607_desc = {
@@ -140,13 +139,13 @@ static const struct rpmpd_desc mdm9607_desc = {
 };
 
 /* msm8226 RPM Power Domains */
-DEFINE_RPMPD_PAIR(msm8226, vddcx, vddcx_ao, SMPA, CORNER, 1);
-DEFINE_RPMPD_VFC(msm8226, vddcx_vfc, SMPA, 1);
+DEFINE_RPMPD_PAIR(vddcx, vddcx_ao, SMPA, CORNER, 1);
+DEFINE_RPMPD_VFC(vddcx_vfc, SMPA, 1);
 
 static struct rpmpd *msm8226_rpmpds[] = {
-       [MSM8226_VDDCX] =       &msm8226_vddcx,
-       [MSM8226_VDDCX_AO] =    &msm8226_vddcx_ao,
-       [MSM8226_VDDCX_VFC] =   &msm8226_vddcx_vfc,
+       [MSM8226_VDDCX] =       &SMPA1_CORNER_vddcx,
+       [MSM8226_VDDCX_AO] =    &SMPA1_CORNER_vddcx_ao,
+       [MSM8226_VDDCX_VFC] =   &SMPA1_vddcx_vfc,
 };
 
 static const struct rpmpd_desc msm8226_desc = {
@@ -156,23 +155,23 @@ static const struct rpmpd_desc msm8226_desc = {
 };
 
 /* msm8939 RPM Power Domains */
-DEFINE_RPMPD_PAIR(msm8939, vddmd, vddmd_ao, SMPA, CORNER, 1);
-DEFINE_RPMPD_VFC(msm8939, vddmd_vfc, SMPA, 1);
+DEFINE_RPMPD_PAIR(vddmd, vddmd_ao, SMPA, CORNER, 1);
+DEFINE_RPMPD_VFC(vddmd_vfc, SMPA, 1);
 
-DEFINE_RPMPD_PAIR(msm8939, vddcx, vddcx_ao, SMPA, CORNER, 2);
-DEFINE_RPMPD_VFC(msm8939, vddcx_vfc, SMPA, 2);
+DEFINE_RPMPD_PAIR(vddcx, vddcx_ao, SMPA, CORNER, 2);
+DEFINE_RPMPD_VFC(vddcx_vfc, SMPA, 2);
 
-DEFINE_RPMPD_PAIR(msm8939, vddmx, vddmx_ao, LDOA, CORNER, 3);
+DEFINE_RPMPD_PAIR(vddmx, vddmx_ao, LDOA, CORNER, 3);
 
 static struct rpmpd *msm8939_rpmpds[] = {
-       [MSM8939_VDDMDCX] =     &msm8939_vddmd,
-       [MSM8939_VDDMDCX_AO] =  &msm8939_vddmd_ao,
-       [MSM8939_VDDMDCX_VFC] = &msm8939_vddmd_vfc,
-       [MSM8939_VDDCX] =       &msm8939_vddcx,
-       [MSM8939_VDDCX_AO] =    &msm8939_vddcx_ao,
-       [MSM8939_VDDCX_VFC] =   &msm8939_vddcx_vfc,
-       [MSM8939_VDDMX] =       &msm8939_vddmx,
-       [MSM8939_VDDMX_AO] =    &msm8939_vddmx_ao,
+       [MSM8939_VDDMDCX] =     &SMPA1_CORNER_vddmd,
+       [MSM8939_VDDMDCX_AO] =  &SMPA1_CORNER_vddmd_ao,
+       [MSM8939_VDDMDCX_VFC] = &SMPA1_vddmd_vfc,
+       [MSM8939_VDDCX] =       &SMPA2_CORNER_vddcx,
+       [MSM8939_VDDCX_AO] =    &SMPA2_CORNER_vddcx_ao,
+       [MSM8939_VDDCX_VFC] =   &SMPA2_vddcx_vfc,
+       [MSM8939_VDDMX] =       &LDOA3_CORNER_vddmx,
+       [MSM8939_VDDMX_AO] =    &LDOA3_CORNER_vddmx_ao,
 };
 
 static const struct rpmpd_desc msm8939_desc = {
@@ -182,17 +181,12 @@ static const struct rpmpd_desc msm8939_desc = {
 };
 
 /* msm8916 RPM Power Domains */
-DEFINE_RPMPD_PAIR(msm8916, vddcx, vddcx_ao, SMPA, CORNER, 1);
-DEFINE_RPMPD_PAIR(msm8916, vddmx, vddmx_ao, LDOA, CORNER, 3);
-
-DEFINE_RPMPD_VFC(msm8916, vddcx_vfc, SMPA, 1);
-
 static struct rpmpd *msm8916_rpmpds[] = {
-       [MSM8916_VDDCX] =       &msm8916_vddcx,
-       [MSM8916_VDDCX_AO] =    &msm8916_vddcx_ao,
-       [MSM8916_VDDCX_VFC] =   &msm8916_vddcx_vfc,
-       [MSM8916_VDDMX] =       &msm8916_vddmx,
-       [MSM8916_VDDMX_AO] =    &msm8916_vddmx_ao,
+       [MSM8916_VDDCX] =       &SMPA1_CORNER_vddcx,
+       [MSM8916_VDDCX_AO] =    &SMPA1_CORNER_vddcx_ao,
+       [MSM8916_VDDCX_VFC] =   &SMPA1_vddcx_vfc,
+       [MSM8916_VDDMX] =       &LDOA3_CORNER_vddmx,
+       [MSM8916_VDDMX_AO] =    &LDOA3_CORNER_vddmx_ao,
 };
 
 static const struct rpmpd_desc msm8916_desc = {
@@ -202,20 +196,20 @@ static const struct rpmpd_desc msm8916_desc = {
 };
 
 /* msm8953 RPM Power Domains */
-DEFINE_RPMPD_PAIR(msm8953, vddmd, vddmd_ao, SMPA, LEVEL, 1);
-DEFINE_RPMPD_PAIR(msm8953, vddcx, vddcx_ao, SMPA, LEVEL, 2);
-DEFINE_RPMPD_PAIR(msm8953, vddmx, vddmx_ao, SMPA, LEVEL, 7);
+DEFINE_RPMPD_PAIR(vddmd, vddmd_ao, SMPA, LEVEL, 1);
+DEFINE_RPMPD_PAIR(vddcx, vddcx_ao, SMPA, LEVEL, 2);
+DEFINE_RPMPD_PAIR(vddmx, vddmx_ao, SMPA, LEVEL, 7);
 
-DEFINE_RPMPD_VFL(msm8953, vddcx_vfl, SMPA, 2);
+DEFINE_RPMPD_VFL(vddcx_vfl, SMPA, 2);
 
 static struct rpmpd *msm8953_rpmpds[] = {
-       [MSM8953_VDDMD] =       &msm8953_vddmd,
-       [MSM8953_VDDMD_AO] =    &msm8953_vddmd_ao,
-       [MSM8953_VDDCX] =       &msm8953_vddcx,
-       [MSM8953_VDDCX_AO] =    &msm8953_vddcx_ao,
-       [MSM8953_VDDCX_VFL] =   &msm8953_vddcx_vfl,
-       [MSM8953_VDDMX] =       &msm8953_vddmx,
-       [MSM8953_VDDMX_AO] =    &msm8953_vddmx_ao,
+       [MSM8953_VDDMD] =       &SMPA1_LEVEL_vddmd,
+       [MSM8953_VDDMD_AO] =    &SMPA1_LEVEL_vddmd_ao,
+       [MSM8953_VDDCX] =       &SMPA2_LEVEL_vddcx,
+       [MSM8953_VDDCX_AO] =    &SMPA2_LEVEL_vddcx_ao,
+       [MSM8953_VDDCX_VFL] =   &SMPA2_vddcx_vfl,
+       [MSM8953_VDDMX] =       &SMPA7_LEVEL_vddmx,
+       [MSM8953_VDDMX_AO] =    &SMPA7_LEVEL_vddmx_ao,
 };
 
 static const struct rpmpd_desc msm8953_desc = {
@@ -225,19 +219,18 @@ static const struct rpmpd_desc msm8953_desc = {
 };
 
 /* msm8976 RPM Power Domains */
-DEFINE_RPMPD_PAIR(msm8976, vddcx, vddcx_ao, SMPA, LEVEL, 2);
-DEFINE_RPMPD_PAIR(msm8976, vddmx, vddmx_ao, SMPA, LEVEL, 6);
+DEFINE_RPMPD_PAIR(vddmx, vddmx_ao, SMPA, LEVEL, 6);
 
-DEFINE_RPMPD_VFL(msm8976, vddcx_vfl, RWSC, 2);
-DEFINE_RPMPD_VFL(msm8976, vddmx_vfl, RWSM, 6);
+DEFINE_RPMPD_VFL(vddcx_vfl, RWSC, 2);
+DEFINE_RPMPD_VFL(vddmx_vfl, RWSM, 6);
 
 static struct rpmpd *msm8976_rpmpds[] = {
-       [MSM8976_VDDCX] =       &msm8976_vddcx,
-       [MSM8976_VDDCX_AO] =    &msm8976_vddcx_ao,
-       [MSM8976_VDDCX_VFL] =   &msm8976_vddcx_vfl,
-       [MSM8976_VDDMX] =       &msm8976_vddmx,
-       [MSM8976_VDDMX_AO] =    &msm8976_vddmx_ao,
-       [MSM8976_VDDMX_VFL] =   &msm8976_vddmx_vfl,
+       [MSM8976_VDDCX] =       &SMPA2_LEVEL_vddcx,
+       [MSM8976_VDDCX_AO] =    &SMPA2_LEVEL_vddcx_ao,
+       [MSM8976_VDDCX_VFL] =   &RWSC2_vddcx_vfl,
+       [MSM8976_VDDMX] =       &SMPA6_LEVEL_vddmx,
+       [MSM8976_VDDMX_AO] =    &SMPA6_LEVEL_vddmx_ao,
+       [MSM8976_VDDMX_VFL] =   &RWSM6_vddmx_vfl,
 };
 
 static const struct rpmpd_desc msm8976_desc = {
@@ -247,22 +240,20 @@ static const struct rpmpd_desc msm8976_desc = {
 };
 
 /* msm8994 RPM Power domains */
-DEFINE_RPMPD_PAIR(msm8994, vddcx, vddcx_ao, SMPA, CORNER, 1);
-DEFINE_RPMPD_PAIR(msm8994, vddmx, vddmx_ao, SMPA, CORNER, 2);
+DEFINE_RPMPD_PAIR(vddmx, vddmx_ao, SMPA, CORNER, 2);
 /* Attention! *Some* 8994 boards with pm8004 may use SMPC here! */
-DEFINE_RPMPD_CORNER(msm8994, vddgfx, SMPB, 2);
+DEFINE_RPMPD_CORNER(vddgfx, SMPB, 2);
 
-DEFINE_RPMPD_VFC(msm8994, vddcx_vfc, SMPA, 1);
-DEFINE_RPMPD_VFC(msm8994, vddgfx_vfc, SMPB, 2);
+DEFINE_RPMPD_VFC(vddgfx_vfc, SMPB, 2);
 
 static struct rpmpd *msm8994_rpmpds[] = {
-       [MSM8994_VDDCX] =       &msm8994_vddcx,
-       [MSM8994_VDDCX_AO] =    &msm8994_vddcx_ao,
-       [MSM8994_VDDCX_VFC] =   &msm8994_vddcx_vfc,
-       [MSM8994_VDDMX] =       &msm8994_vddmx,
-       [MSM8994_VDDMX_AO] =    &msm8994_vddmx_ao,
-       [MSM8994_VDDGFX] =      &msm8994_vddgfx,
-       [MSM8994_VDDGFX_VFC] =  &msm8994_vddgfx_vfc,
+       [MSM8994_VDDCX] =       &SMPA1_CORNER_vddcx,
+       [MSM8994_VDDCX_AO] =    &SMPA1_CORNER_vddcx_ao,
+       [MSM8994_VDDCX_VFC] =   &SMPA1_vddcx_vfc,
+       [MSM8994_VDDMX] =       &SMPA2_CORNER_vddmx,
+       [MSM8994_VDDMX_AO] =    &SMPA2_CORNER_vddmx_ao,
+       [MSM8994_VDDGFX] =      &SMPB2_vddgfx_corner,
+       [MSM8994_VDDGFX_VFC] =  &SMPB2_vddgfx_vfc,
 };
 
 static const struct rpmpd_desc msm8994_desc = {
@@ -272,21 +263,18 @@ static const struct rpmpd_desc msm8994_desc = {
 };
 
 /* msm8996 RPM Power domains */
-DEFINE_RPMPD_PAIR(msm8996, vddcx, vddcx_ao, SMPA, CORNER, 1);
-DEFINE_RPMPD_PAIR(msm8996, vddmx, vddmx_ao, SMPA, CORNER, 2);
-DEFINE_RPMPD_CORNER(msm8996, vddsscx, LDOA, 26);
+DEFINE_RPMPD_CORNER(vddsscx, LDOA, 26);
 
-DEFINE_RPMPD_VFC(msm8996, vddcx_vfc, SMPA, 1);
-DEFINE_RPMPD_VFC(msm8996, vddsscx_vfc, LDOA, 26);
+DEFINE_RPMPD_VFC(vddsscx_vfc, LDOA, 26);
 
 static struct rpmpd *msm8996_rpmpds[] = {
-       [MSM8996_VDDCX] =       &msm8996_vddcx,
-       [MSM8996_VDDCX_AO] =    &msm8996_vddcx_ao,
-       [MSM8996_VDDCX_VFC] =   &msm8996_vddcx_vfc,
-       [MSM8996_VDDMX] =       &msm8996_vddmx,
-       [MSM8996_VDDMX_AO] =    &msm8996_vddmx_ao,
-       [MSM8996_VDDSSCX] =     &msm8996_vddsscx,
-       [MSM8996_VDDSSCX_VFC] = &msm8996_vddsscx_vfc,
+       [MSM8996_VDDCX] =       &SMPA1_CORNER_vddcx,
+       [MSM8996_VDDCX_AO] =    &SMPA1_CORNER_vddcx_ao,
+       [MSM8996_VDDCX_VFC] =   &SMPA1_vddcx_vfc,
+       [MSM8996_VDDMX] =       &SMPA2_CORNER_vddmx,
+       [MSM8996_VDDMX_AO] =    &SMPA2_CORNER_vddmx_ao,
+       [MSM8996_VDDSSCX] =     &LDOA26_vddsscx_corner,
+       [MSM8996_VDDSSCX_VFC] = &LDOA26_vddsscx_vfc,
 };
 
 static const struct rpmpd_desc msm8996_desc = {
@@ -296,29 +284,29 @@ static const struct rpmpd_desc msm8996_desc = {
 };
 
 /* msm8998 RPM Power domains */
-DEFINE_RPMPD_PAIR(msm8998, vddcx, vddcx_ao, RWCX, LEVEL, 0);
-DEFINE_RPMPD_VFL(msm8998, vddcx_vfl, RWCX, 0);
+DEFINE_RPMPD_PAIR(vddcx, vddcx_ao, RWCX, LEVEL, 0);
+DEFINE_RPMPD_VFL(vddcx_vfl, RWCX, 0);
 
-DEFINE_RPMPD_PAIR(msm8998, vddmx, vddmx_ao, RWMX, LEVEL, 0);
-DEFINE_RPMPD_VFL(msm8998, vddmx_vfl, RWMX, 0);
+DEFINE_RPMPD_PAIR(vddmx, vddmx_ao, RWMX, LEVEL, 0);
+DEFINE_RPMPD_VFL(vddmx_vfl, RWMX, 0);
 
-DEFINE_RPMPD_LEVEL(msm8998, vdd_ssccx, RWSC, 0);
-DEFINE_RPMPD_VFL(msm8998, vdd_ssccx_vfl, RWSC, 0);
+DEFINE_RPMPD_LEVEL(vdd_ssccx, RWSC, 0);
+DEFINE_RPMPD_VFL(vdd_ssccx_vfl, RWSC, 0);
 
-DEFINE_RPMPD_LEVEL(msm8998, vdd_sscmx, RWSM, 0);
-DEFINE_RPMPD_VFL(msm8998, vdd_sscmx_vfl, RWSM, 0);
+DEFINE_RPMPD_LEVEL(vdd_sscmx, RWSM, 0);
+DEFINE_RPMPD_VFL(vdd_sscmx_vfl, RWSM, 0);
 
 static struct rpmpd *msm8998_rpmpds[] = {
-       [MSM8998_VDDCX] =               &msm8998_vddcx,
-       [MSM8998_VDDCX_AO] =            &msm8998_vddcx_ao,
-       [MSM8998_VDDCX_VFL] =           &msm8998_vddcx_vfl,
-       [MSM8998_VDDMX] =               &msm8998_vddmx,
-       [MSM8998_VDDMX_AO] =            &msm8998_vddmx_ao,
-       [MSM8998_VDDMX_VFL] =           &msm8998_vddmx_vfl,
-       [MSM8998_SSCCX] =               &msm8998_vdd_ssccx,
-       [MSM8998_SSCCX_VFL] =           &msm8998_vdd_ssccx_vfl,
-       [MSM8998_SSCMX] =               &msm8998_vdd_sscmx,
-       [MSM8998_SSCMX_VFL] =           &msm8998_vdd_sscmx_vfl,
+       [MSM8998_VDDCX] =               &RWCX0_LEVEL_vddcx,
+       [MSM8998_VDDCX_AO] =            &RWCX0_LEVEL_vddcx_ao,
+       [MSM8998_VDDCX_VFL] =           &RWCX0_vddcx_vfl,
+       [MSM8998_VDDMX] =               &RWMX0_LEVEL_vddmx,
+       [MSM8998_VDDMX_AO] =            &RWMX0_LEVEL_vddmx_ao,
+       [MSM8998_VDDMX_VFL] =           &RWMX0_vddmx_vfl,
+       [MSM8998_SSCCX] =               &RWSC0_vdd_ssccx_lvl,
+       [MSM8998_SSCCX_VFL] =           &RWSC0_vdd_ssccx_vfl,
+       [MSM8998_SSCMX] =               &RWSM0_vdd_sscmx_lvl,
+       [MSM8998_SSCMX_VFL] =           &RWSM0_vdd_sscmx_vfl,
 };
 
 static const struct rpmpd_desc msm8998_desc = {
@@ -328,23 +316,20 @@ static const struct rpmpd_desc msm8998_desc = {
 };
 
 /* qcs404 RPM Power domains */
-DEFINE_RPMPD_PAIR(qcs404, vddmx, vddmx_ao, RWMX, LEVEL, 0);
-DEFINE_RPMPD_VFL(qcs404, vddmx_vfl, RWMX, 0);
+DEFINE_RPMPD_LEVEL(vdd_lpicx, RWLC, 0);
+DEFINE_RPMPD_VFL(vdd_lpicx_vfl, RWLC, 0);
 
-DEFINE_RPMPD_LEVEL(qcs404, vdd_lpicx, RWLC, 0);
-DEFINE_RPMPD_VFL(qcs404, vdd_lpicx_vfl, RWLC, 0);
-
-DEFINE_RPMPD_LEVEL(qcs404, vdd_lpimx, RWLM, 0);
-DEFINE_RPMPD_VFL(qcs404, vdd_lpimx_vfl, RWLM, 0);
+DEFINE_RPMPD_LEVEL(vdd_lpimx, RWLM, 0);
+DEFINE_RPMPD_VFL(vdd_lpimx_vfl, RWLM, 0);
 
 static struct rpmpd *qcs404_rpmpds[] = {
-       [QCS404_VDDMX] = &qcs404_vddmx,
-       [QCS404_VDDMX_AO] = &qcs404_vddmx_ao,
-       [QCS404_VDDMX_VFL] = &qcs404_vddmx_vfl,
-       [QCS404_LPICX] = &qcs404_vdd_lpicx,
-       [QCS404_LPICX_VFL] = &qcs404_vdd_lpicx_vfl,
-       [QCS404_LPIMX] = &qcs404_vdd_lpimx,
-       [QCS404_LPIMX_VFL] = &qcs404_vdd_lpimx_vfl,
+       [QCS404_VDDMX] = &RWMX0_LEVEL_vddmx,
+       [QCS404_VDDMX_AO] = &RWMX0_LEVEL_vddmx_ao,
+       [QCS404_VDDMX_VFL] = &RWMX0_vddmx_vfl,
+       [QCS404_LPICX] = &RWLC0_vdd_lpicx_lvl,
+       [QCS404_LPICX_VFL] = &RWLC0_vdd_lpicx_vfl,
+       [QCS404_LPIMX] = &RWLM0_vdd_lpimx_lvl,
+       [QCS404_LPIMX_VFL] = &RWLM0_vdd_lpimx_vfl,
 };
 
 static const struct rpmpd_desc qcs404_desc = {
@@ -354,29 +339,24 @@ static const struct rpmpd_desc qcs404_desc = {
 };
 
 /* sdm660 RPM Power domains */
-DEFINE_RPMPD_PAIR(sdm660, vddcx, vddcx_ao, RWCX, LEVEL, 0);
-DEFINE_RPMPD_VFL(sdm660, vddcx_vfl, RWCX, 0);
-
-DEFINE_RPMPD_PAIR(sdm660, vddmx, vddmx_ao, RWMX, LEVEL, 0);
-DEFINE_RPMPD_VFL(sdm660, vddmx_vfl, RWMX, 0);
 
-DEFINE_RPMPD_LEVEL(sdm660, vdd_ssccx, RWLC, 0);
-DEFINE_RPMPD_VFL(sdm660, vdd_ssccx_vfl, RWLC, 0);
+DEFINE_RPMPD_LEVEL(vdd_ssccx, RWLC, 0);
+DEFINE_RPMPD_VFL(vdd_ssccx_vfl, RWLC, 0);
 
-DEFINE_RPMPD_LEVEL(sdm660, vdd_sscmx, RWLM, 0);
-DEFINE_RPMPD_VFL(sdm660, vdd_sscmx_vfl, RWLM, 0);
+DEFINE_RPMPD_LEVEL(vdd_sscmx, RWLM, 0);
+DEFINE_RPMPD_VFL(vdd_sscmx_vfl, RWLM, 0);
 
 static struct rpmpd *sdm660_rpmpds[] = {
-       [SDM660_VDDCX] =                &sdm660_vddcx,
-       [SDM660_VDDCX_AO] =             &sdm660_vddcx_ao,
-       [SDM660_VDDCX_VFL] =            &sdm660_vddcx_vfl,
-       [SDM660_VDDMX] =                &sdm660_vddmx,
-       [SDM660_VDDMX_AO] =             &sdm660_vddmx_ao,
-       [SDM660_VDDMX_VFL] =            &sdm660_vddmx_vfl,
-       [SDM660_SSCCX] =                &sdm660_vdd_ssccx,
-       [SDM660_SSCCX_VFL] =            &sdm660_vdd_ssccx_vfl,
-       [SDM660_SSCMX] =                &sdm660_vdd_sscmx,
-       [SDM660_SSCMX_VFL] =            &sdm660_vdd_sscmx_vfl,
+       [SDM660_VDDCX] =                &RWCX0_LEVEL_vddcx,
+       [SDM660_VDDCX_AO] =             &RWCX0_LEVEL_vddcx_ao,
+       [SDM660_VDDCX_VFL] =            &RWCX0_vddcx_vfl,
+       [SDM660_VDDMX] =                &RWMX0_LEVEL_vddmx,
+       [SDM660_VDDMX_AO] =             &RWMX0_LEVEL_vddmx_ao,
+       [SDM660_VDDMX_VFL] =            &RWMX0_vddmx_vfl,
+       [SDM660_SSCCX] =                &RWLC0_vdd_ssccx_lvl,
+       [SDM660_SSCCX_VFL] =            &RWLC0_vdd_ssccx_vfl,
+       [SDM660_SSCMX] =                &RWLM0_vdd_sscmx_lvl,
+       [SDM660_SSCMX_VFL] =            &RWLM0_vdd_sscmx_vfl,
 };
 
 static const struct rpmpd_desc sdm660_desc = {
@@ -386,24 +366,18 @@ static const struct rpmpd_desc sdm660_desc = {
 };
 
 /* sm4250/6115 RPM Power domains */
-DEFINE_RPMPD_PAIR(sm6115, vddcx, vddcx_ao, RWCX, LEVEL, 0);
-DEFINE_RPMPD_VFL(sm6115, vddcx_vfl, RWCX, 0);
-
-DEFINE_RPMPD_PAIR(sm6115, vddmx, vddmx_ao, RWMX, LEVEL, 0);
-DEFINE_RPMPD_VFL(sm6115, vddmx_vfl, RWMX, 0);
-
-DEFINE_RPMPD_LEVEL(sm6115, vdd_lpi_cx, RWLC, 0);
-DEFINE_RPMPD_LEVEL(sm6115, vdd_lpi_mx, RWLM, 0);
+DEFINE_RPMPD_LEVEL(vdd_lpi_cx, RWLC, 0);
+DEFINE_RPMPD_LEVEL(vdd_lpi_mx, RWLM, 0);
 
 static struct rpmpd *sm6115_rpmpds[] = {
-       [SM6115_VDDCX] =                &sm6115_vddcx,
-       [SM6115_VDDCX_AO] =             &sm6115_vddcx_ao,
-       [SM6115_VDDCX_VFL] =            &sm6115_vddcx_vfl,
-       [SM6115_VDDMX] =                &sm6115_vddmx,
-       [SM6115_VDDMX_AO] =             &sm6115_vddmx_ao,
-       [SM6115_VDDMX_VFL] =            &sm6115_vddmx_vfl,
-       [SM6115_VDD_LPI_CX] =           &sm6115_vdd_lpi_cx,
-       [SM6115_VDD_LPI_MX] =           &sm6115_vdd_lpi_mx,
+       [SM6115_VDDCX] =                &RWCX0_LEVEL_vddcx,
+       [SM6115_VDDCX_AO] =             &RWCX0_LEVEL_vddcx_ao,
+       [SM6115_VDDCX_VFL] =            &RWCX0_vddcx_vfl,
+       [SM6115_VDDMX] =                &RWMX0_LEVEL_vddmx,
+       [SM6115_VDDMX_AO] =             &RWMX0_LEVEL_vddmx_ao,
+       [SM6115_VDDMX_VFL] =            &RWMX0_vddmx_vfl,
+       [SM6115_VDD_LPI_CX] =           &RWLC0_vdd_lpi_cx_lvl,
+       [SM6115_VDD_LPI_MX] =           &RWLM0_vdd_lpi_mx_lvl,
 };
 
 static const struct rpmpd_desc sm6115_desc = {
@@ -413,19 +387,13 @@ static const struct rpmpd_desc sm6115_desc = {
 };
 
 /* sm6125 RPM Power domains */
-DEFINE_RPMPD_PAIR(sm6125, vddcx, vddcx_ao, RWCX, LEVEL, 0);
-DEFINE_RPMPD_VFL(sm6125, vddcx_vfl, RWCX, 0);
-
-DEFINE_RPMPD_PAIR(sm6125, vddmx, vddmx_ao, RWMX, LEVEL, 0);
-DEFINE_RPMPD_VFL(sm6125, vddmx_vfl, RWMX, 0);
-
 static struct rpmpd *sm6125_rpmpds[] = {
-       [SM6125_VDDCX] =                &sm6125_vddcx,
-       [SM6125_VDDCX_AO] =             &sm6125_vddcx_ao,
-       [SM6125_VDDCX_VFL] =            &sm6125_vddcx_vfl,
-       [SM6125_VDDMX] =                &sm6125_vddmx,
-       [SM6125_VDDMX_AO] =             &sm6125_vddmx_ao,
-       [SM6125_VDDMX_VFL] =            &sm6125_vddmx_vfl,
+       [SM6125_VDDCX] =                &RWCX0_LEVEL_vddcx,
+       [SM6125_VDDCX_AO] =             &RWCX0_LEVEL_vddcx_ao,
+       [SM6125_VDDCX_VFL] =            &RWCX0_vddcx_vfl,
+       [SM6125_VDDMX] =                &RWMX0_LEVEL_vddmx,
+       [SM6125_VDDMX_AO] =             &RWMX0_LEVEL_vddmx_ao,
+       [SM6125_VDDMX_VFL] =            &RWMX0_vddmx_vfl,
 };
 
 static const struct rpmpd_desc sm6125_desc = {
@@ -434,18 +402,18 @@ static const struct rpmpd_desc sm6125_desc = {
        .max_state = RPM_SMD_LEVEL_BINNING,
 };
 
-DEFINE_RPMPD_PAIR(sm6375, vddgx, vddgx_ao, RWGX, LEVEL, 0);
+DEFINE_RPMPD_PAIR(vddgx, vddgx_ao, RWGX, LEVEL, 0);
 static struct rpmpd *sm6375_rpmpds[] = {
-       [SM6375_VDDCX] = &sm6125_vddcx,
-       [SM6375_VDDCX_AO] = &sm6125_vddcx_ao,
-       [SM6375_VDDCX_VFL] = &sm6125_vddcx_vfl,
-       [SM6375_VDDMX] = &sm6125_vddmx,
-       [SM6375_VDDMX_AO] = &sm6125_vddmx_ao,
-       [SM6375_VDDMX_VFL] = &sm6125_vddmx_vfl,
-       [SM6375_VDDGX] = &sm6375_vddgx,
-       [SM6375_VDDGX_AO] = &sm6375_vddgx_ao,
-       [SM6375_VDD_LPI_CX] = &sm6115_vdd_lpi_cx,
-       [SM6375_VDD_LPI_MX] = &sm6115_vdd_lpi_mx,
+       [SM6375_VDDCX] = &RWCX0_LEVEL_vddcx,
+       [SM6375_VDDCX_AO] = &RWCX0_LEVEL_vddcx_ao,
+       [SM6375_VDDCX_VFL] = &RWCX0_vddcx_vfl,
+       [SM6375_VDDMX] = &RWMX0_LEVEL_vddmx,
+       [SM6375_VDDMX_AO] = &RWMX0_LEVEL_vddmx_ao,
+       [SM6375_VDDMX_VFL] = &RWMX0_vddmx_vfl,
+       [SM6375_VDDGX] = &RWGX0_LEVEL_vddgx,
+       [SM6375_VDDGX_AO] = &RWGX0_LEVEL_vddgx_ao,
+       [SM6375_VDD_LPI_CX] = &RWLC0_vdd_lpi_cx_lvl,
+       [SM6375_VDD_LPI_MX] = &RWLM0_vdd_lpi_mx_lvl,
 };
 
 static const struct rpmpd_desc sm6375_desc = {
@@ -455,14 +423,14 @@ static const struct rpmpd_desc sm6375_desc = {
 };
 
 static struct rpmpd *qcm2290_rpmpds[] = {
-       [QCM2290_VDDCX] = &sm6115_vddcx,
-       [QCM2290_VDDCX_AO] = &sm6115_vddcx_ao,
-       [QCM2290_VDDCX_VFL] = &sm6115_vddcx_vfl,
-       [QCM2290_VDDMX] = &sm6115_vddmx,
-       [QCM2290_VDDMX_AO] = &sm6115_vddmx_ao,
-       [QCM2290_VDDMX_VFL] = &sm6115_vddmx_vfl,
-       [QCM2290_VDD_LPI_CX] = &sm6115_vdd_lpi_cx,
-       [QCM2290_VDD_LPI_MX] = &sm6115_vdd_lpi_mx,
+       [QCM2290_VDDCX] = &RWCX0_LEVEL_vddcx,
+       [QCM2290_VDDCX_AO] = &RWCX0_LEVEL_vddcx_ao,
+       [QCM2290_VDDCX_VFL] = &RWCX0_vddcx_vfl,
+       [QCM2290_VDDMX] = &RWMX0_LEVEL_vddmx,
+       [QCM2290_VDDMX_AO] = &RWMX0_LEVEL_vddmx_ao,
+       [QCM2290_VDDMX_VFL] = &RWMX0_vddmx_vfl,
+       [QCM2290_VDD_LPI_CX] = &RWLC0_vdd_lpi_cx_lvl,
+       [QCM2290_VDD_LPI_MX] = &RWLM0_vdd_lpi_mx_lvl,
 };
 
 static const struct rpmpd_desc qcm2290_desc = {