[PATCH v4] clk: ti: Add support for dm814x ADPLL

Michael Turquette mturquette at baylibre.com
Tue Dec 22 12:56:04 PST 2015


On 12/22, Tony Lindgren wrote:
> * Tero Kristo <t-kristo at ti.com> [151222 12:28]:
> > On 12/22/2015 05:27 PM, Tony Lindgren wrote:
> > >On dm814x we have 13 ADPLLs with 3 to 4 outputs on each. The
> > >ADPLLs have several dividers and muxes controlled by a shared
> > >control register for each PLL.
> > >
> > >Note that for the clocks to work as device drivers for booting on
> > >dm814x, this patch depends on "ARM: OMAP2+: Change core_initcall
> > >levels to postcore_initcall".
> > >
> > >Also note that this patch does not implement clk_set_rate for the
> > >PLL, that will be posted later on when available.
> > >
> > >Cc: Michael Turquette <mturquette at baylibre.com>
> > >Cc: Stephen Boyd <sboyd at codeaurora.org>
> > >Cc: Tero Kristo <t-kristo at ti.com>
> > >Signed-off-by: Tony Lindgren <tony at atomide.com>
> > >---
> > >
> > >If no more comments, Tero can you please apply into an immutable
> > >branch against v4.4-rc1 that I can merge in too?
> > >
> > >Changes since v3:
> > >
> > >- We want to create the clkdev entry for all clocks, not just outputs
> > >- ti_adpll_wait_lock loops did not do the right thing
> > >- We want to use CLK_GET_RATE_NOCACHE in ti_adpll_init_dco
> > 
> > I have just one comment below still, once that is addressed:
> > 
> > Conditionally-acked-by: Tero Kristo <t-kristo at ti.com>
> > 
> > Stephen / Michael, can you pick this up for next merge? I don't have
> > anything else coming for the window this time, and I am probably going to be
> > on vacation just nicely to not be able to push anything anyway.
> 
> Also, I managed to remove the dependency to the dts changes. So there's
> no longer any need to set up an immutable branch for this patch.

Can you split the binding description into a separate patch and send it
to the dt mailing list? Feel free to add my Ack to it.

Stephen and I are trying to not take that stuff anymore.

Regards,
Mike

> 
> > <snip>
> > 
> > >+
> > >+/* Warn if clkout or clkoutx2 try to set unavailable parent */
> > >+static int ti_adpll_clkout_set_parent(struct clk_hw *hw, u8 index)
> > >+{
> > >+	struct ti_adpll_clkout_data *co = to_clkout(hw);
> > >+	struct ti_adpll_data *d = co->adpll;
> > >+
> > >+	if (ti_adpll_clock_is_bypass(d) != index)
> > >+		return -EAGAIN;
> > >+
> > 
> > I think this part is still somewhat weird. You are not doing anything useful
> > in this function, so do you need to implement it at all? Just returning
> > -EINVAL always might work also. EAGAIN is wrong return value anyway as it
> > can pretty much never succeed.
> 
> OK thanks sounds good to me, I'll check it this after lunch.
> 
> Also noticed the do_div should be div64_u64 so v5 coming later
> today.
> 
> Regards,
> 
> Tony



More information about the linux-arm-kernel mailing list