diff options
| author | Kamal Wadhwa <kamal.wadhwa@oss.qualcomm.com> | 2026-04-14 11:59:09 +0800 |
|---|---|---|
| committer | Ulf Hansson <ulfh@kernel.org> | 2026-06-03 11:58:34 +0200 |
| commit | eaefa3d6095b88227bf374e3a36fe2e9fab4cbbc (patch) | |
| tree | a0ca882cb68227b3d28ed03582313958d2523786 /drivers | |
| parent | 3b46075bea16bb80f34fc4aa4906a5b5c740ef27 (diff) | |
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 <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Kamal Wadhwa <kamal.wadhwa@oss.qualcomm.com>
Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Ulf Hansson <ulfh@kernel.org>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/pmdomain/qcom/rpmhpd.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/drivers/pmdomain/qcom/rpmhpd.c b/drivers/pmdomain/qcom/rpmhpd.c index ba0cf4694435..63120e703923 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 }, |
