From: Kamal Wadhwa Date: Tue, 14 Apr 2026 03:59:09 +0000 (+0800) Subject: pmdomain: qcom: rpmhpd: Add power domains for Nord SoC X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=eaefa3d6095b88227bf374e3a36fe2e9fab4cbbc;p=thirdparty%2Flinux.git pmdomain: qcom: rpmhpd: Add power domains for Nord SoC Add RPMh power domains required for Nord SoC. This includes new definitions for power domains supplying GFX1 and NSP3 subsystem. Co-developed-by: Bartosz Golaszewski Signed-off-by: Bartosz Golaszewski Signed-off-by: Kamal Wadhwa Signed-off-by: Shawn Guo Reviewed-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio Signed-off-by: Ulf Hansson --- diff --git a/drivers/pmdomain/qcom/rpmhpd.c b/drivers/pmdomain/qcom/rpmhpd.c index ba0cf46944359..63120e703923f 100644 --- a/drivers/pmdomain/qcom/rpmhpd.c +++ b/drivers/pmdomain/qcom/rpmhpd.c @@ -122,6 +122,11 @@ static struct rpmhpd gfx = { .res_name = "gfx.lvl", }; +static struct rpmhpd gfx1 = { + .pd = { .name = "gfx1", }, + .res_name = "gfx1.lvl", +}; + static struct rpmhpd lcx = { .pd = { .name = "lcx", }, .res_name = "lcx.lvl", @@ -217,6 +222,11 @@ static struct rpmhpd nsp2 = { .res_name = "nsp2.lvl", }; +static struct rpmhpd nsp3 = { + .pd = { .name = "nsp3", }, + .res_name = "nsp3.lvl", +}; + static struct rpmhpd qphy = { .pd = { .name = "qphy", }, .res_name = "qphy.lvl", @@ -308,6 +318,30 @@ static const struct rpmhpd_desc sa8775p_desc = { .num_pds = ARRAY_SIZE(sa8775p_rpmhpds), }; +/* Nord RPMH powerdomains */ +static struct rpmhpd *nord_rpmhpds[] = { + [RPMHPD_CX] = &cx, + [RPMHPD_CX_AO] = &cx_ao, + [RPMHPD_EBI] = &ebi, + [RPMHPD_GFX] = &gfx, + [RPMHPD_GFX1] = &gfx1, + [RPMHPD_MX] = &mx, + [RPMHPD_MX_AO] = &mx_ao, + [RPMHPD_MMCX] = &mmcx, + [RPMHPD_MMCX_AO] = &mmcx_ao, + [RPMHPD_MXC] = &mxc, + [RPMHPD_MXC_AO] = &mxc_ao, + [RPMHPD_NSP0] = &nsp0, + [RPMHPD_NSP1] = &nsp1, + [RPMHPD_NSP2] = &nsp2, + [RPMHPD_NSP3] = &nsp3, +}; + +static const struct rpmhpd_desc nord_desc = { + .rpmhpds = nord_rpmhpds, + .num_pds = ARRAY_SIZE(nord_rpmhpds), +}; + /* SAR2130P RPMH powerdomains */ static struct rpmhpd *sar2130p_rpmhpds[] = { [RPMHPD_CX] = &cx, @@ -856,6 +890,7 @@ static const struct of_device_id rpmhpd_match_table[] = { { .compatible = "qcom,hawi-rpmhpd", .data = &hawi_desc }, { .compatible = "qcom,kaanapali-rpmhpd", .data = &kaanapali_desc }, { .compatible = "qcom,milos-rpmhpd", .data = &milos_desc }, + { .compatible = "qcom,nord-rpmhpd", .data = &nord_desc }, { .compatible = "qcom,qcs615-rpmhpd", .data = &qcs615_desc }, { .compatible = "qcom,qcs8300-rpmhpd", .data = &qcs8300_desc }, { .compatible = "qcom,qdu1000-rpmhpd", .data = &qdu1000_desc },