On Tue, 21 Jul 2020 23:55:31 -0700, Amit Sunil Dhamne wrote: > From: Rajan Vaja <[email protected]> > > Use ZynqMP specific divider clock flags instead of using CCF flags. > > Signed-off-by: Rajan Vaja <[email protected]> > Signed-off-by: Tejas Patel <[email protected]> > Signed-off-by: Amit Sunil Dhamne <[email protected]> > --- > drivers/clk/zynqmp/clk-zynqmp.h | 9 +++++++++ > drivers/clk/zynqmp/divider.c | 16 +++++++++++++++- > 2 files changed, 24 insertions(+), 1 deletion(-) > > diff --git a/drivers/clk/zynqmp/clk-zynqmp.h b/drivers/clk/zynqmp/clk-zynqmp.h > index 3cb6149..ec33525 100644 > --- a/drivers/clk/zynqmp/clk-zynqmp.h > +++ b/drivers/clk/zynqmp/clk-zynqmp.h > @@ -32,6 +32,15 @@ > /* do not gate, ever */ > #define ZYNQMP_CLK_IS_CRITICAL BIT(11) > > +/* Type Flags for divider clock */ > +#define ZYNQMP_CLK_DIVIDER_ONE_BASED BIT(0) > +#define ZYNQMP_CLK_DIVIDER_POWER_OF_TWO BIT(1) > +#define ZYNQMP_CLK_DIVIDER_ALLOW_ZERO BIT(2) > +#define ZYNQMP_CLK_DIVIDER_HIWORD_MASK BIT(3) > +#define ZYNQMP_CLK_DIVIDER_ROUND_CLOSEST BIT(4) > +#define ZYNQMP_CLK_DIVIDER_READ_ONLY BIT(5) > +#define ZYNQMP_CLK_DIVIDER_MAX_AT_ZERO BIT(6) > + > enum topology_type { > TYPE_INVALID, > TYPE_MUX, > diff --git a/drivers/clk/zynqmp/divider.c b/drivers/clk/zynqmp/divider.c > index 3ab57d9..86cb785 100644 > --- a/drivers/clk/zynqmp/divider.c > +++ b/drivers/clk/zynqmp/divider.c > @@ -320,7 +320,21 @@ struct clk_hw *zynqmp_clk_register_divider(const char > *name, > /* struct clk_divider assignments */ > div->is_frac = !!((nodes->flag & CLK_FRAC) | > (nodes->custom_type_flag & CUSTOM_FLAG_CLK_FRAC)); > - div->flags = nodes->type_flag; > + div->flags = 0; > + div->flags |= (nodes->type_flag & ZYNQMP_CLK_DIVIDER_ONE_BASED) ? > + CLK_DIVIDER_ONE_BASED : 0; > + div->flags |= (nodes->type_flag & ZYNQMP_CLK_DIVIDER_POWER_OF_TWO) ? > + CLK_DIVIDER_POWER_OF_TWO : 0; > + div->flags |= (nodes->type_flag & ZYNQMP_CLK_DIVIDER_ALLOW_ZERO) ? > + CLK_DIVIDER_ALLOW_ZERO : 0; > + div->flags |= (nodes->type_flag & ZYNQMP_CLK_DIVIDER_POWER_OF_TWO) ? > + CLK_DIVIDER_HIWORD_MASK : 0; > + div->flags |= (nodes->type_flag & ZYNQMP_CLK_DIVIDER_ROUND_CLOSEST) ? > + CLK_DIVIDER_ROUND_CLOSEST : 0; > + div->flags |= (nodes->type_flag & ZYNQMP_CLK_DIVIDER_READ_ONLY) ? > + CLK_DIVIDER_READ_ONLY : 0; > + div->flags |= (nodes->type_flag & ZYNQMP_CLK_DIVIDER_MAX_AT_ZERO) ? > + CLK_DIVIDER_MAX_AT_ZERO : 0;
Add a helper function for converting the flags. Michael > div->hw.init = &init; > div->clk_id = clk_id; > div->div_type = nodes->type; > -- > 2.7.4 > > This email and any attachments are intended for the sole use of the named > recipient(s) and contain(s) confidential information that may be proprietary, > privileged or copyrighted under applicable law. If you are not the intended > recipient, do not read, copy, or forward this email message or any > attachments. Delete this email message and any attachments immediately. >

