pmdomain: qcom: rpmhpd: Add qcs8300 power domains
authorTingguo Cheng <quic_tingguoc@quicinc.com>
Fri, 27 Sep 2024 11:59:14 +0000 (19:59 +0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 2 Oct 2024 10:52:57 +0000 (12:52 +0200)
Add support for the power domains exposed by RPMh on the qcs8300
platform. MMCX depends on CX, so mark CX as the parent of MMCX.

Co-developed-by: Shazad Hussain <quic_shazhuss@quicinc.com>
Signed-off-by: Shazad Hussain <quic_shazhuss@quicinc.com>
Signed-off-by: Tingguo Cheng <quic_tingguoc@quicinc.com>
Link: https://lore.kernel.org/r/20240927-add_qcs615_qcs8300_powerdomains_driver_support-v2-2-18c030ad7b68@quicinc.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/pmdomain/qcom/rpmhpd.c

index 65505e1..d256110 100644 (file)
@@ -624,7 +624,31 @@ static const struct rpmhpd_desc x1e80100_desc = {
        .num_pds = ARRAY_SIZE(x1e80100_rpmhpds),
 };
 
+/* QCS8300 RPMH power domains */
+static struct rpmhpd *qcs8300_rpmhpds[] = {
+       [RPMHPD_CX] = &cx,
+       [RPMHPD_CX_AO] = &cx_ao,
+       [RPMHPD_EBI] = &ebi,
+       [RPMHPD_GFX] = &gfx,
+       [RPMHPD_LCX] = &lcx,
+       [RPMHPD_LMX] = &lmx,
+       [RPMHPD_MMCX] = &mmcx_w_cx_parent,
+       [RPMHPD_MMCX_AO] = &mmcx_ao_w_cx_parent,
+       [RPMHPD_MXC] = &mxc,
+       [RPMHPD_MXC_AO] = &mxc_ao,
+       [RPMHPD_MX] = &mx,
+       [RPMHPD_MX_AO] = &mx_ao,
+       [RPMHPD_NSP0] = &nsp0,
+       [RPMHPD_NSP1] = &nsp1,
+};
+
+static const struct rpmhpd_desc qcs8300_desc = {
+       .rpmhpds = qcs8300_rpmhpds,
+       .num_pds = ARRAY_SIZE(qcs8300_rpmhpds),
+};
+
 static const struct of_device_id rpmhpd_match_table[] = {
+       { .compatible = "qcom,qcs8300-rpmhpd", .data = &qcs8300_desc },
        { .compatible = "qcom,qdu1000-rpmhpd", .data = &qdu1000_desc },
        { .compatible = "qcom,sa8155p-rpmhpd", .data = &sa8155p_desc },
        { .compatible = "qcom,sa8540p-rpmhpd", .data = &sa8540p_desc },