@@ -253,6 +253,20 @@ static struct rpmpd cx_s2b_vfc = {
253
253
};
254
254
255
255
/* 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
+
256
270
static struct rpmpd gfx_s2b_corner = {
257
271
.pd = { .name = "gfx" , },
258
272
.res_type = RPMPD_SMPB ,
@@ -717,6 +731,20 @@ static const struct rpmpd_desc msm8974_desc = {
717
731
.max_state = MAX_CORNER_RPMPD_STATE ,
718
732
};
719
733
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
+
720
748
static struct rpmpd * msm8976_rpmpds [] = {
721
749
[MSM8976_VDDCX ] = & cx_s2a_lvl ,
722
750
[MSM8976_VDDCX_AO ] = & cx_s2a_lvl_ao ,
@@ -911,6 +939,7 @@ static const struct of_device_id rpmpd_match_table[] = {
911
939
{ .compatible = "qcom,msm8939-rpmpd" , .data = & msm8939_desc },
912
940
{ .compatible = "qcom,msm8953-rpmpd" , .data = & msm8953_desc },
913
941
{ .compatible = "qcom,msm8974-rpmpd" , .data = & msm8974_desc },
942
+ { .compatible = "qcom,msm8974pro-pma8084-rpmpd" , .data = & msm8974pro_pma8084_desc },
914
943
{ .compatible = "qcom,msm8976-rpmpd" , .data = & msm8976_desc },
915
944
{ .compatible = "qcom,msm8994-rpmpd" , .data = & msm8994_desc },
916
945
{ .compatible = "qcom,msm8996-rpmpd" , .data = & msm8996_desc },
0 commit comments