Message ID | 20210210104257.339462-2-vkoul@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [1/2] dt-bindings: power: Add rpm power domain bindings for SM8350 | expand |
On Wed, Feb 10, 2021 at 04:12:57PM +0530, Vinod Koul wrote: > This adds the power domains found in SM8350 SoC. > > Signed-off-by: Vinod Koul <vkoul@kernel.org> > --- > drivers/soc/qcom/rpmhpd.c | 37 ++++++++++++++++++++++++++ > include/dt-bindings/power/qcom-rpmpd.h | 15 +++++++++++ The header is part of the binding and goes in the binding patch, but don't respin just for that. > 2 files changed, 52 insertions(+) > > diff --git a/drivers/soc/qcom/rpmhpd.c b/drivers/soc/qcom/rpmhpd.c > index 7ce06356d24c..1bd191d5824f 100644 > --- a/drivers/soc/qcom/rpmhpd.c > +++ b/drivers/soc/qcom/rpmhpd.c > @@ -200,6 +200,42 @@ static const struct rpmhpd_desc sm8250_desc = { > .num_pds = ARRAY_SIZE(sm8250_rpmhpds), > }; > > +/* SM8350 Power domains */ > +static struct rpmhpd sm8350_mxc_ao; > +static struct rpmhpd sm8350_mxc = { > + .pd = { .name = "mxc", }, > + .peer = &sm8150_mmcx_ao, > + .res_name = "mxc.lvl", > +}; > + > +static struct rpmhpd sm8350_mxc_ao = { > + .pd = { .name = "mxc_ao", }, > + .active_only = true, > + .peer = &sm8350_mxc, > + .res_name = "mxc.lvl", > +}; > + > +static struct rpmhpd *sm8350_rpmhpds[] = { > + [SM8350_CX] = &sdm845_cx, > + [SM8350_CX_AO] = &sdm845_cx_ao, > + [SM8350_EBI] = &sdm845_ebi, > + [SM8350_GFX] = &sdm845_gfx, > + [SM8350_LCX] = &sdm845_lcx, > + [SM8350_LMX] = &sdm845_lmx, > + [SM8350_MMCX] = &sm8150_mmcx, > + [SM8350_MMCX_AO] = &sm8150_mmcx_ao, > + [SM8350_MX] = &sdm845_mx, > + [SM8350_MX_AO] = &sdm845_mx_ao, > + [SM8350_MXC] = &sm8350_mxc, > + [SM8350_MXC_AO] = &sm8350_mxc_ao, > + [SM8350_MSS] = &sdm845_mss, > +}; > + > +static const struct rpmhpd_desc sm8350_desc = { > + .rpmhpds = sm8350_rpmhpds, > + .num_pds = ARRAY_SIZE(sm8350_rpmhpds), > +}; > + > /* SC7180 RPMH powerdomains */ > static struct rpmhpd *sc7180_rpmhpds[] = { > [SC7180_CX] = &sdm845_cx, > @@ -223,6 +259,7 @@ static const struct of_device_id rpmhpd_match_table[] = { > { .compatible = "qcom,sdx55-rpmhpd", .data = &sdx55_desc}, > { .compatible = "qcom,sm8150-rpmhpd", .data = &sm8150_desc }, > { .compatible = "qcom,sm8250-rpmhpd", .data = &sm8250_desc }, > + { .compatible = "qcom,sm8350-rpmhpd", .data = &sm8350_desc }, > { } > }; > MODULE_DEVICE_TABLE(of, rpmhpd_match_table); > diff --git a/include/dt-bindings/power/qcom-rpmpd.h b/include/dt-bindings/power/qcom-rpmpd.h > index 7714487ac76b..64043a2a4411 100644 > --- a/include/dt-bindings/power/qcom-rpmpd.h > +++ b/include/dt-bindings/power/qcom-rpmpd.h > @@ -45,6 +45,21 @@ > #define SM8250_MX 8 > #define SM8250_MX_AO 9 > > +/* SM8350 Power Domain Indexes */ > +#define SM8350_CX 0 > +#define SM8350_CX_AO 1 > +#define SM8350_EBI 2 > +#define SM8350_GFX 3 > +#define SM8350_LCX 4 > +#define SM8350_LMX 5 > +#define SM8350_MMCX 6 > +#define SM8350_MMCX_AO 7 > +#define SM8350_MX 8 > +#define SM8350_MX_AO 9 > +#define SM8350_MXC 10 > +#define SM8350_MXC_AO 11 > +#define SM8350_MSS 12 > + > /* SC7180 Power Domain Indexes */ > #define SC7180_CX 0 > #define SC7180_CX_AO 1 > -- > 2.26.2 >
diff --git a/drivers/soc/qcom/rpmhpd.c b/drivers/soc/qcom/rpmhpd.c index 7ce06356d24c..1bd191d5824f 100644 --- a/drivers/soc/qcom/rpmhpd.c +++ b/drivers/soc/qcom/rpmhpd.c @@ -200,6 +200,42 @@ static const struct rpmhpd_desc sm8250_desc = { .num_pds = ARRAY_SIZE(sm8250_rpmhpds), }; +/* SM8350 Power domains */ +static struct rpmhpd sm8350_mxc_ao; +static struct rpmhpd sm8350_mxc = { + .pd = { .name = "mxc", }, + .peer = &sm8150_mmcx_ao, + .res_name = "mxc.lvl", +}; + +static struct rpmhpd sm8350_mxc_ao = { + .pd = { .name = "mxc_ao", }, + .active_only = true, + .peer = &sm8350_mxc, + .res_name = "mxc.lvl", +}; + +static struct rpmhpd *sm8350_rpmhpds[] = { + [SM8350_CX] = &sdm845_cx, + [SM8350_CX_AO] = &sdm845_cx_ao, + [SM8350_EBI] = &sdm845_ebi, + [SM8350_GFX] = &sdm845_gfx, + [SM8350_LCX] = &sdm845_lcx, + [SM8350_LMX] = &sdm845_lmx, + [SM8350_MMCX] = &sm8150_mmcx, + [SM8350_MMCX_AO] = &sm8150_mmcx_ao, + [SM8350_MX] = &sdm845_mx, + [SM8350_MX_AO] = &sdm845_mx_ao, + [SM8350_MXC] = &sm8350_mxc, + [SM8350_MXC_AO] = &sm8350_mxc_ao, + [SM8350_MSS] = &sdm845_mss, +}; + +static const struct rpmhpd_desc sm8350_desc = { + .rpmhpds = sm8350_rpmhpds, + .num_pds = ARRAY_SIZE(sm8350_rpmhpds), +}; + /* SC7180 RPMH powerdomains */ static struct rpmhpd *sc7180_rpmhpds[] = { [SC7180_CX] = &sdm845_cx, @@ -223,6 +259,7 @@ static const struct of_device_id rpmhpd_match_table[] = { { .compatible = "qcom,sdx55-rpmhpd", .data = &sdx55_desc}, { .compatible = "qcom,sm8150-rpmhpd", .data = &sm8150_desc }, { .compatible = "qcom,sm8250-rpmhpd", .data = &sm8250_desc }, + { .compatible = "qcom,sm8350-rpmhpd", .data = &sm8350_desc }, { } }; MODULE_DEVICE_TABLE(of, rpmhpd_match_table); diff --git a/include/dt-bindings/power/qcom-rpmpd.h b/include/dt-bindings/power/qcom-rpmpd.h index 7714487ac76b..64043a2a4411 100644 --- a/include/dt-bindings/power/qcom-rpmpd.h +++ b/include/dt-bindings/power/qcom-rpmpd.h @@ -45,6 +45,21 @@ #define SM8250_MX 8 #define SM8250_MX_AO 9 +/* SM8350 Power Domain Indexes */ +#define SM8350_CX 0 +#define SM8350_CX_AO 1 +#define SM8350_EBI 2 +#define SM8350_GFX 3 +#define SM8350_LCX 4 +#define SM8350_LMX 5 +#define SM8350_MMCX 6 +#define SM8350_MMCX_AO 7 +#define SM8350_MX 8 +#define SM8350_MX_AO 9 +#define SM8350_MXC 10 +#define SM8350_MXC_AO 11 +#define SM8350_MSS 12 + /* SC7180 Power Domain Indexes */ #define SC7180_CX 0 #define SC7180_CX_AO 1
This adds the power domains found in SM8350 SoC. Signed-off-by: Vinod Koul <vkoul@kernel.org> --- drivers/soc/qcom/rpmhpd.c | 37 ++++++++++++++++++++++++++ include/dt-bindings/power/qcom-rpmpd.h | 15 +++++++++++ 2 files changed, 52 insertions(+)