From: Fenglin Wu Date: Fri, 3 Apr 2026 00:35:22 +0000 (-0700) Subject: pmdomain: qcom: rpmhpd: Add power domains for Hawi SoC X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=596ca99cf04f339db2ed18a5bb230ee11a47b699;p=thirdparty%2Fkernel%2Flinux.git pmdomain: qcom: rpmhpd: Add power domains for Hawi SoC Add the RPMh power domains required for the Hawi SoC. This includes new definitions for domains supplying specific hardware components: - DCX: supplies VDD_DISP - GBX: supplies VDD_GFX_BX Reviewed-by: Taniya Das Reviewed-by: Konrad Dybcio Signed-off-by: Fenglin Wu Reviewed-by: Dmitry Baryshkov Signed-off-by: Ulf Hansson --- diff --git a/drivers/pmdomain/qcom/rpmhpd.c b/drivers/pmdomain/qcom/rpmhpd.c index b0c80e4bd86c9..ba0cf46944359 100644 --- a/drivers/pmdomain/qcom/rpmhpd.c +++ b/drivers/pmdomain/qcom/rpmhpd.c @@ -102,11 +102,21 @@ static struct rpmhpd cx_ao_w_mx_parent = { .res_name = "cx.lvl", }; +static struct rpmhpd dcx = { + .pd = { .name = "dcx", }, + .res_name = "dcx.lvl", +}; + static struct rpmhpd ebi = { .pd = { .name = "ebi", }, .res_name = "ebi.lvl", }; +static struct rpmhpd gbx = { + .pd = { .name = "gbx", }, + .res_name = "gbx.lvl", +}; + static struct rpmhpd gfx = { .pd = { .name = "gfx", }, .res_name = "gfx.lvl", @@ -641,6 +651,33 @@ static const struct rpmhpd_desc kaanapali_desc = { .num_pds = ARRAY_SIZE(kaanapali_rpmhpds), }; +/* Hawi RPMH powerdomains */ +static struct rpmhpd *hawi_rpmhpds[] = { + [RPMHPD_CX] = &cx, + [RPMHPD_CX_AO] = &cx_ao, + [RPMHPD_DCX] = &dcx, + [RPMHPD_EBI] = &ebi, + [RPMHPD_GBX] = &gbx, + [RPMHPD_GFX] = &gfx, + [RPMHPD_GMXC] = &gmxc, + [RPMHPD_LCX] = &lcx, + [RPMHPD_LMX] = &lmx, + [RPMHPD_MMCX] = &mmcx, + [RPMHPD_MMCX_AO] = &mmcx_ao, + [RPMHPD_MX] = &mx, + [RPMHPD_MX_AO] = &mx_ao, + [RPMHPD_MXC] = &mxc, + [RPMHPD_MXC_AO] = &mxc_ao, + [RPMHPD_MSS] = &mss, + [RPMHPD_NSP] = &nsp, + [RPMHPD_NSP2] = &nsp2, +}; + +static const struct rpmhpd_desc hawi_desc = { + .rpmhpds = hawi_rpmhpds, + .num_pds = ARRAY_SIZE(hawi_rpmhpds), +}; + /* QDU1000/QRU1000 RPMH powerdomains */ static struct rpmhpd *qdu1000_rpmhpds[] = { [QDU1000_CX] = &cx, @@ -816,6 +853,7 @@ static const struct rpmhpd_desc qcs615_desc = { static const struct of_device_id rpmhpd_match_table[] = { { .compatible = "qcom,eliza-rpmhpd", .data = &eliza_desc }, { .compatible = "qcom,glymur-rpmhpd", .data = &glymur_desc }, + { .compatible = "qcom,hawi-rpmhpd", .data = &hawi_desc }, { .compatible = "qcom,kaanapali-rpmhpd", .data = &kaanapali_desc }, { .compatible = "qcom,milos-rpmhpd", .data = &milos_desc }, { .compatible = "qcom,qcs615-rpmhpd", .data = &qcs615_desc },