2022-03-03 09:40:56

by Bhupesh Sharma

[permalink] [raw]
Subject: [PATCH v3 3/6] clk: qcom: gcc: Add emac GDSC support for SM8150

Add the EMAC GDSC defines and driver structures for SM8150.

Cc: Stephen Boyd <[email protected]>
Cc: Bjorn Andersson <[email protected]>
Signed-off-by: Bhupesh Sharma <[email protected]>
---
drivers/clk/qcom/gcc-sm8150.c | 10 ++++++++++
include/dt-bindings/clock/qcom,gcc-sm8150.h | 1 +
2 files changed, 11 insertions(+)

diff --git a/drivers/clk/qcom/gcc-sm8150.c b/drivers/clk/qcom/gcc-sm8150.c
index 85a431ac417b..08ba29e3a835 100644
--- a/drivers/clk/qcom/gcc-sm8150.c
+++ b/drivers/clk/qcom/gcc-sm8150.c
@@ -3448,6 +3448,15 @@ static struct clk_branch gcc_video_xo_clk = {
},
};

+static struct gdsc emac_gdsc = {
+ .gdscr = 0x6004,
+ .pd = {
+ .name = "emac_gdsc",
+ },
+ .pwrsts = PWRSTS_OFF_ON,
+ .flags = POLL_CFG_GDSCR,
+};
+
static struct gdsc usb30_prim_gdsc = {
.gdscr = 0xf004,
.pd = {
@@ -3714,6 +3723,7 @@ static const struct qcom_reset_map gcc_sm8150_resets[] = {
};

static struct gdsc *gcc_sm8150_gdscs[] = {
+ [EMAC_GDSC] = &emac_gdsc,
[USB30_PRIM_GDSC] = &usb30_prim_gdsc,
[USB30_SEC_GDSC] = &usb30_sec_gdsc,
};
diff --git a/include/dt-bindings/clock/qcom,gcc-sm8150.h b/include/dt-bindings/clock/qcom,gcc-sm8150.h
index 3e1a91876610..40596b9ded06 100644
--- a/include/dt-bindings/clock/qcom,gcc-sm8150.h
+++ b/include/dt-bindings/clock/qcom,gcc-sm8150.h
@@ -243,5 +243,6 @@
/* GCC GDSCRs */
#define USB30_PRIM_GDSC 4
#define USB30_SEC_GDSC 5
+#define EMAC_GDSC 6

#endif
--
2.35.1


2022-03-03 12:33:54

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [PATCH v3 3/6] clk: qcom: gcc: Add emac GDSC support for SM8150

On Thu, 3 Mar 2022 at 11:48, Bhupesh Sharma <[email protected]> wrote:
>
> Add the EMAC GDSC defines and driver structures for SM8150.
>
> Cc: Stephen Boyd <[email protected]>
> Cc: Bjorn Andersson <[email protected]>
> Signed-off-by: Bhupesh Sharma <[email protected]>
> ---
> drivers/clk/qcom/gcc-sm8150.c | 10 ++++++++++
> include/dt-bindings/clock/qcom,gcc-sm8150.h | 1 +
> 2 files changed, 11 insertions(+)
>
> diff --git a/drivers/clk/qcom/gcc-sm8150.c b/drivers/clk/qcom/gcc-sm8150.c
> index 85a431ac417b..08ba29e3a835 100644
> --- a/drivers/clk/qcom/gcc-sm8150.c
> +++ b/drivers/clk/qcom/gcc-sm8150.c
> @@ -3448,6 +3448,15 @@ static struct clk_branch gcc_video_xo_clk = {
> },
> };
>

Is it available on sm8150 or only on sa8155au? I think this deserves
at least a comment.

> +static struct gdsc emac_gdsc = {
> + .gdscr = 0x6004,
> + .pd = {
> + .name = "emac_gdsc",
> + },
> + .pwrsts = PWRSTS_OFF_ON,
> + .flags = POLL_CFG_GDSCR,
> +};
> +
> static struct gdsc usb30_prim_gdsc = {
> .gdscr = 0xf004,
> .pd = {
> @@ -3714,6 +3723,7 @@ static const struct qcom_reset_map gcc_sm8150_resets[] = {
> };
>
> static struct gdsc *gcc_sm8150_gdscs[] = {
> + [EMAC_GDSC] = &emac_gdsc,
> [USB30_PRIM_GDSC] = &usb30_prim_gdsc,
> [USB30_SEC_GDSC] = &usb30_sec_gdsc,
> };
> diff --git a/include/dt-bindings/clock/qcom,gcc-sm8150.h b/include/dt-bindings/clock/qcom,gcc-sm8150.h
> index 3e1a91876610..40596b9ded06 100644
> --- a/include/dt-bindings/clock/qcom,gcc-sm8150.h
> +++ b/include/dt-bindings/clock/qcom,gcc-sm8150.h
> @@ -243,5 +243,6 @@
> /* GCC GDSCRs */
> #define USB30_PRIM_GDSC 4
> #define USB30_SEC_GDSC 5
> +#define EMAC_GDSC 6
>
> #endif
> --
> 2.35.1
>


--
With best wishes
Dmitry

2022-03-09 02:09:59

by Dmitry Baryshkov

[permalink] [raw]
Subject: Re: [PATCH v3 3/6] clk: qcom: gcc: Add emac GDSC support for SM8150

On Wed, 9 Mar 2022 at 02:09, Bjorn Andersson <[email protected]> wrote:
>
> On Thu 03 Mar 04:33 CST 2022, Dmitry Baryshkov wrote:
>
> > On Thu, 3 Mar 2022 at 11:48, Bhupesh Sharma <[email protected]> wrote:
> > >
> > > Add the EMAC GDSC defines and driver structures for SM8150.
> > >
> > > Cc: Stephen Boyd <[email protected]>
> > > Cc: Bjorn Andersson <[email protected]>
> > > Signed-off-by: Bhupesh Sharma <[email protected]>
> > > ---
> > > drivers/clk/qcom/gcc-sm8150.c | 10 ++++++++++
> > > include/dt-bindings/clock/qcom,gcc-sm8150.h | 1 +
> > > 2 files changed, 11 insertions(+)
> > >
> > > diff --git a/drivers/clk/qcom/gcc-sm8150.c b/drivers/clk/qcom/gcc-sm8150.c
> > > index 85a431ac417b..08ba29e3a835 100644
> > > --- a/drivers/clk/qcom/gcc-sm8150.c
> > > +++ b/drivers/clk/qcom/gcc-sm8150.c
> > > @@ -3448,6 +3448,15 @@ static struct clk_branch gcc_video_xo_clk = {
> > > },
> > > };
> > >
> >
> > Is it available on sm8150 or only on sa8155au? I think this deserves
> > at least a comment.
> >
>
> The ethernet controller is there on SM8150 as well.

Ack

>
> Regards,
> Bjorn
>
> > > +static struct gdsc emac_gdsc = {
> > > + .gdscr = 0x6004,
> > > + .pd = {
> > > + .name = "emac_gdsc",
> > > + },
> > > + .pwrsts = PWRSTS_OFF_ON,
> > > + .flags = POLL_CFG_GDSCR,
> > > +};
> > > +
> > > static struct gdsc usb30_prim_gdsc = {
> > > .gdscr = 0xf004,
> > > .pd = {
> > > @@ -3714,6 +3723,7 @@ static const struct qcom_reset_map gcc_sm8150_resets[] = {
> > > };
> > >
> > > static struct gdsc *gcc_sm8150_gdscs[] = {
> > > + [EMAC_GDSC] = &emac_gdsc,
> > > [USB30_PRIM_GDSC] = &usb30_prim_gdsc,
> > > [USB30_SEC_GDSC] = &usb30_sec_gdsc,
> > > };
> > > diff --git a/include/dt-bindings/clock/qcom,gcc-sm8150.h b/include/dt-bindings/clock/qcom,gcc-sm8150.h
> > > index 3e1a91876610..40596b9ded06 100644
> > > --- a/include/dt-bindings/clock/qcom,gcc-sm8150.h
> > > +++ b/include/dt-bindings/clock/qcom,gcc-sm8150.h
> > > @@ -243,5 +243,6 @@
> > > /* GCC GDSCRs */
> > > #define USB30_PRIM_GDSC 4
> > > #define USB30_SEC_GDSC 5
> > > +#define EMAC_GDSC 6
> > >
> > > #endif
> > > --
> > > 2.35.1
> > >
> >
> >
> > --
> > With best wishes
> > Dmitry



--
With best wishes
Dmitry

2022-03-09 02:10:34

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH v3 3/6] clk: qcom: gcc: Add emac GDSC support for SM8150

On Thu 03 Mar 04:33 CST 2022, Dmitry Baryshkov wrote:

> On Thu, 3 Mar 2022 at 11:48, Bhupesh Sharma <[email protected]> wrote:
> >
> > Add the EMAC GDSC defines and driver structures for SM8150.
> >
> > Cc: Stephen Boyd <[email protected]>
> > Cc: Bjorn Andersson <[email protected]>
> > Signed-off-by: Bhupesh Sharma <[email protected]>
> > ---
> > drivers/clk/qcom/gcc-sm8150.c | 10 ++++++++++
> > include/dt-bindings/clock/qcom,gcc-sm8150.h | 1 +
> > 2 files changed, 11 insertions(+)
> >
> > diff --git a/drivers/clk/qcom/gcc-sm8150.c b/drivers/clk/qcom/gcc-sm8150.c
> > index 85a431ac417b..08ba29e3a835 100644
> > --- a/drivers/clk/qcom/gcc-sm8150.c
> > +++ b/drivers/clk/qcom/gcc-sm8150.c
> > @@ -3448,6 +3448,15 @@ static struct clk_branch gcc_video_xo_clk = {
> > },
> > };
> >
>
> Is it available on sm8150 or only on sa8155au? I think this deserves
> at least a comment.
>

The ethernet controller is there on SM8150 as well.

Regards,
Bjorn

> > +static struct gdsc emac_gdsc = {
> > + .gdscr = 0x6004,
> > + .pd = {
> > + .name = "emac_gdsc",
> > + },
> > + .pwrsts = PWRSTS_OFF_ON,
> > + .flags = POLL_CFG_GDSCR,
> > +};
> > +
> > static struct gdsc usb30_prim_gdsc = {
> > .gdscr = 0xf004,
> > .pd = {
> > @@ -3714,6 +3723,7 @@ static const struct qcom_reset_map gcc_sm8150_resets[] = {
> > };
> >
> > static struct gdsc *gcc_sm8150_gdscs[] = {
> > + [EMAC_GDSC] = &emac_gdsc,
> > [USB30_PRIM_GDSC] = &usb30_prim_gdsc,
> > [USB30_SEC_GDSC] = &usb30_sec_gdsc,
> > };
> > diff --git a/include/dt-bindings/clock/qcom,gcc-sm8150.h b/include/dt-bindings/clock/qcom,gcc-sm8150.h
> > index 3e1a91876610..40596b9ded06 100644
> > --- a/include/dt-bindings/clock/qcom,gcc-sm8150.h
> > +++ b/include/dt-bindings/clock/qcom,gcc-sm8150.h
> > @@ -243,5 +243,6 @@
> > /* GCC GDSCRs */
> > #define USB30_PRIM_GDSC 4
> > #define USB30_SEC_GDSC 5
> > +#define EMAC_GDSC 6
> >
> > #endif
> > --
> > 2.35.1
> >
>
>
> --
> With best wishes
> Dmitry