Re: [PATCH 2/2] soc: qcom: rpmhpd: Add SM8350 power domains

From: Rob Herring
Date: Fri Mar 05 2021 - 14:12:53 EST


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@xxxxxxxxxx>
> ---
> 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
>