Skip to content

Commit 5bf8586

Browse files
z3ntustorulf
authored andcommitted
pmdomain: qcom: rpmpd: Add MSM8974PRO+PMA8084 power domains
Add the power domains CX & GFX found on MSM8974 devices that use PMA8084 instead of the standard PM8841+PM8941 combo. Signed-off-by: Luca Weiss <luca@z3ntu.xyz> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Link: https://lore.kernel.org/r/20240210-msm8974-rpmpd-v2-3-595e2ff80ea1@z3ntu.xyz Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
1 parent 7547f9a commit 5bf8586

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

drivers/pmdomain/qcom/rpmpd.c

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,20 @@ static struct rpmpd cx_s2b_vfc = {
253253
};
254254

255255
/* G(F)X */
256+
static struct rpmpd gfx_s7a_corner = {
257+
.pd = { .name = "gfx", },
258+
.res_type = RPMPD_SMPA,
259+
.res_id = 7,
260+
.key = KEY_CORNER,
261+
};
262+
263+
static struct rpmpd gfx_s7a_vfc = {
264+
.pd = { .name = "gfx_vfc", },
265+
.res_type = RPMPD_SMPA,
266+
.res_id = 7,
267+
.key = KEY_FLOOR_CORNER,
268+
};
269+
256270
static struct rpmpd gfx_s2b_corner = {
257271
.pd = { .name = "gfx", },
258272
.res_type = RPMPD_SMPB,
@@ -717,6 +731,20 @@ static const struct rpmpd_desc msm8974_desc = {
717731
.max_state = MAX_CORNER_RPMPD_STATE,
718732
};
719733

734+
static struct rpmpd *msm8974pro_pma8084_rpmpds[] = {
735+
[MSM8974_VDDCX] = &cx_s2a_corner,
736+
[MSM8974_VDDCX_AO] = &cx_s2a_corner_ao,
737+
[MSM8974_VDDCX_VFC] = &cx_s2a_vfc,
738+
[MSM8974_VDDGFX] = &gfx_s7a_corner,
739+
[MSM8974_VDDGFX_VFC] = &gfx_s7a_vfc,
740+
};
741+
742+
static const struct rpmpd_desc msm8974pro_pma8084_desc = {
743+
.rpmpds = msm8974pro_pma8084_rpmpds,
744+
.num_pds = ARRAY_SIZE(msm8974pro_pma8084_rpmpds),
745+
.max_state = MAX_CORNER_RPMPD_STATE,
746+
};
747+
720748
static struct rpmpd *msm8976_rpmpds[] = {
721749
[MSM8976_VDDCX] = &cx_s2a_lvl,
722750
[MSM8976_VDDCX_AO] = &cx_s2a_lvl_ao,
@@ -911,6 +939,7 @@ static const struct of_device_id rpmpd_match_table[] = {
911939
{ .compatible = "qcom,msm8939-rpmpd", .data = &msm8939_desc },
912940
{ .compatible = "qcom,msm8953-rpmpd", .data = &msm8953_desc },
913941
{ .compatible = "qcom,msm8974-rpmpd", .data = &msm8974_desc },
942+
{ .compatible = "qcom,msm8974pro-pma8084-rpmpd", .data = &msm8974pro_pma8084_desc },
914943
{ .compatible = "qcom,msm8976-rpmpd", .data = &msm8976_desc },
915944
{ .compatible = "qcom,msm8994-rpmpd", .data = &msm8994_desc },
916945
{ .compatible = "qcom,msm8996-rpmpd", .data = &msm8996_desc },

0 commit comments

Comments
 (0)