diff mbox series

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

Message ID 20210210104257.339462-2-vkoul@kernel.org
State New
Headers show
Series [1/2] dt-bindings: interconnect: Add Qualcomm SM8350 DT bindings | expand

Commit Message

Vinod Koul Feb. 10, 2021, 10:42 a.m. UTC
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(+)

-- 
2.26.2

Comments

Rob Herring (Arm) March 5, 2021, 7:12 p.m. UTC | #1
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 mbox series

Patch

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