soc: qcom: rpmpd: Add MSM8939 power-domains
authorJun Nie <jun.nie@linaro.org>
Wed, 30 Sep 2020 10:01:45 +0000 (18:01 +0800)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Mon, 26 Oct 2020 15:13:56 +0000 (10:13 -0500)
Add the shared modemcx/cx/mx power-domains found on MSM8939.

Reviewed-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Jun Nie <jun.nie@linaro.org>
Link: https://lore.kernel.org/r/20200930100145.9457-3-jun.nie@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/soc/qcom/rpmpd.c

index 55718f4a09714351339335968a8a2dfb824bdb66..dfff128c09089ca1e7534373bf1ee28391845a24 100644 (file)
@@ -116,6 +116,32 @@ struct rpmpd_desc {
 
 static DEFINE_MUTEX(rpmpd_lock);
 
+/* 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(msm8939, vddcx, vddcx_ao, SMPA, CORNER, 2);
+DEFINE_RPMPD_VFC(msm8939, vddcx_vfc, SMPA, 2);
+
+DEFINE_RPMPD_PAIR(msm8939, 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,
+};
+
+static const struct rpmpd_desc msm8939_desc = {
+       .rpmpds = msm8939_rpmpds,
+       .num_pds = ARRAY_SIZE(msm8939_rpmpds),
+       .max_state = MAX_CORNER_RPMPD_STATE,
+};
+
 /* msm8976 RPM Power Domains */
 DEFINE_RPMPD_PAIR(msm8976, vddcx, vddcx_ao, SMPA, LEVEL, 2);
 DEFINE_RPMPD_PAIR(msm8976, vddmx, vddmx_ao, SMPA, LEVEL, 6);
@@ -253,6 +279,7 @@ static const struct rpmpd_desc sdm660_desc = {
 };
 
 static const struct of_device_id rpmpd_match_table[] = {
+       { .compatible = "qcom,msm8939-rpmpd", .data = &msm8939_desc },
        { .compatible = "qcom,msm8976-rpmpd", .data = &msm8976_desc },
        { .compatible = "qcom,msm8996-rpmpd", .data = &msm8996_desc },
        { .compatible = "qcom,msm8998-rpmpd", .data = &msm8998_desc },