Message ID | 20230109174511.1740856-15-brgl@bgdev.pl |
---|---|
State | New |
Headers | show |
Series | arm64: qcom: add support for sa8775p-ride | expand |
On 09/01/2023 19:45, Bartosz Golaszewski wrote: > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > > Add power domain description for sa8775p and a new compatible to match it. > > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > --- > drivers/soc/qcom/rpmhpd.c | 34 ++++++++++++++++++++++++++++++++++ > 1 file changed, 34 insertions(+) [skipped] > +/* SA8775P RPMH power domains */ > +static struct rpmhpd *sa8775p_rpmhpds[] = { > + [SA8775P_CX] = &cx, > + [SA8775P_CX_AO] = &cx_ao, > + [SA8775P_EBI] = &ebi, > + [SA8775P_GFX] = &gfx, > + [SA8775P_LCX] = &lcx, > + [SA8775P_LMX] = &lmx, > + [SA8775P_MMCX] = &mmcx, > + [SA8775P_MMCX_AO] = &mmcx_ao, > + [SA8775P_MXC] = &mxc, > + [SA8775P_MXC_AO] = &mxc_ao, Is there any parent/child relationship between mmcx/mxc and other domains? > + [SA8775P_MX] = &mx, > + [SA8775P_MX_AO] = &mx_ao, > + [SA8775P_NSP0] = &nsp0, > + [SA8775P_NSP1] = &nsp1, > +}; > + > +static const struct rpmhpd_desc sa8775p_desc = { > + .rpmhpds = sa8775p_rpmhpds, > + .num_pds = ARRAY_SIZE(sa8775p_rpmhpds), > +}; > + > /* SDM670 RPMH powerdomains */ > static struct rpmhpd *sdm670_rpmhpds[] = { > [SDM670_CX] = &cx_w_mx_parent, > @@ -487,6 +520,7 @@ static const struct rpmhpd_desc sc8280xp_desc = { > static const struct of_device_id rpmhpd_match_table[] = { > { .compatible = "qcom,qdu1000-rpmhpd", .data = &qdu1000_desc }, > { .compatible = "qcom,sa8540p-rpmhpd", .data = &sa8540p_desc }, > + { .compatible = "qcom,sa8775p-rpmhpd", .data = &sa8775p_desc }, > { .compatible = "qcom,sc7180-rpmhpd", .data = &sc7180_desc }, > { .compatible = "qcom,sc7280-rpmhpd", .data = &sc7280_desc }, > { .compatible = "qcom,sc8180x-rpmhpd", .data = &sc8180x_desc },
diff --git a/drivers/soc/qcom/rpmhpd.c b/drivers/soc/qcom/rpmhpd.c index 4c2d2c296790..f20e2a49a669 100644 --- a/drivers/soc/qcom/rpmhpd.c +++ b/drivers/soc/qcom/rpmhpd.c @@ -187,6 +187,16 @@ static struct rpmhpd nsp = { .res_name = "nsp.lvl", }; +static struct rpmhpd nsp0 = { + .pd = { .name = "nsp0", }, + .res_name = "nsp0.lvl", +}; + +static struct rpmhpd nsp1 = { + .pd = { .name = "nsp1", }, + .res_name = "nsp1.lvl", +}; + static struct rpmhpd qphy = { .pd = { .name = "qphy", }, .res_name = "qphy.lvl", @@ -212,6 +222,29 @@ static const struct rpmhpd_desc sa8540p_desc = { .num_pds = ARRAY_SIZE(sa8540p_rpmhpds), }; +/* SA8775P RPMH power domains */ +static struct rpmhpd *sa8775p_rpmhpds[] = { + [SA8775P_CX] = &cx, + [SA8775P_CX_AO] = &cx_ao, + [SA8775P_EBI] = &ebi, + [SA8775P_GFX] = &gfx, + [SA8775P_LCX] = &lcx, + [SA8775P_LMX] = &lmx, + [SA8775P_MMCX] = &mmcx, + [SA8775P_MMCX_AO] = &mmcx_ao, + [SA8775P_MXC] = &mxc, + [SA8775P_MXC_AO] = &mxc_ao, + [SA8775P_MX] = &mx, + [SA8775P_MX_AO] = &mx_ao, + [SA8775P_NSP0] = &nsp0, + [SA8775P_NSP1] = &nsp1, +}; + +static const struct rpmhpd_desc sa8775p_desc = { + .rpmhpds = sa8775p_rpmhpds, + .num_pds = ARRAY_SIZE(sa8775p_rpmhpds), +}; + /* SDM670 RPMH powerdomains */ static struct rpmhpd *sdm670_rpmhpds[] = { [SDM670_CX] = &cx_w_mx_parent, @@ -487,6 +520,7 @@ static const struct rpmhpd_desc sc8280xp_desc = { static const struct of_device_id rpmhpd_match_table[] = { { .compatible = "qcom,qdu1000-rpmhpd", .data = &qdu1000_desc }, { .compatible = "qcom,sa8540p-rpmhpd", .data = &sa8540p_desc }, + { .compatible = "qcom,sa8775p-rpmhpd", .data = &sa8775p_desc }, { .compatible = "qcom,sc7180-rpmhpd", .data = &sc7180_desc }, { .compatible = "qcom,sc7280-rpmhpd", .data = &sc7280_desc }, { .compatible = "qcom,sc8180x-rpmhpd", .data = &sc8180x_desc },