Re: [PATCH v6 6/7] clk: baikal-t1: Add DDR/PCIe directly controlled resets support

From: Serge Semin
Date: Mon Jul 11 2022 - 11:12:45 EST


On Mon, Jul 11, 2022 at 03:23:48PM +0200, Philipp Zabel wrote:
> On Fri, Jul 08, 2022 at 10:27:24PM +0300, Serge Semin wrote:
> > Aside with a set of the trigger-like resets Baikal-T1 CCU provides two
> > additional blocks with directly controlled reset signals. In particular it
> > concerns DDR full and initial resets and various PCIe sub-domains resets.
> > Let's add the direct reset assertion/de-assertion of the corresponding
> > flags support into the Baikal-T1 CCU driver then. It will be required at
> > least for the PCIe platform driver. Obviously the DDR controller isn't
> > supposed to be fully reset in the kernel, so the corresponding controls
> > are added just for the sake of the interface implementation completeness.
> >
> > Signed-off-by: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx>
> >
> > ---
> >
> > Changelog v6:
> > - Refactor the code to support the linear reset IDs only. (@Philipp)
> > ---
> > drivers/clk/baikal-t1/ccu-rst.c | 67 +++++++++++++++++++++++++++++
> > drivers/clk/baikal-t1/ccu-rst.h | 10 +++++
> > include/dt-bindings/reset/bt1-ccu.h | 9 ++++
> > 3 files changed, 86 insertions(+)
> >
> > diff --git a/drivers/clk/baikal-t1/ccu-rst.c b/drivers/clk/baikal-t1/ccu-rst.c
> > index 8fd40810d24e..c20aa3e07afb 100644
> > --- a/drivers/clk/baikal-t1/ccu-rst.c
> > +++ b/drivers/clk/baikal-t1/ccu-rst.c
> > @@ -35,18 +35,29 @@
> > #define CCU_AXI_HWA_BASE 0x054
> > #define CCU_AXI_SRAM_BASE 0x058
> >
> > +#define CCU_SYS_DDR_BASE 0x02c
> > #define CCU_SYS_SATA_REF_BASE 0x060
> > #define CCU_SYS_APB_BASE 0x064
> > +#define CCU_SYS_PCIE_BASE 0x144
> >
> > #define CCU_RST_DELAY_US 1
> >
> > #define CCU_RST_TRIG(_base, _ofs) \
> > { \
> > + .type = CCU_RST_TRIG, \
> > + .base = _base, \
> > + .mask = BIT(_ofs), \
> > + }
> > +
> > +#define CCU_RST_DIR(_base, _ofs) \
> > + { \
> > + .type = CCU_RST_DIR, \
> > .base = _base, \
> > .mask = BIT(_ofs), \
> > }
> >
> > struct ccu_rst_info {
> > + enum ccu_rst_type type;
> > unsigned int base;
> > unsigned int mask;
> > };
> > @@ -77,8 +88,18 @@ static const struct ccu_rst_info axi_rst_info[] = {
> > * well while the Linux kernel is working.
> > */
> > static const struct ccu_rst_info sys_rst_info[] = {
> > +
>

> Please drop this empty line. Otherwise,

Don't know how come this has got into the patch. Thanks for noticing
this. I'll fix it in v7.

>
> Reviewed-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>

Many thanks for review, Philipp. I really appreciate this.

-Sergey

>
> regards
> Philipp