Re: [PATCH v3] clk: add MOXA ART SoCs clock driver

From: Mark Rutland
Date: Thu Jul 18 2013 - 09:57:28 EST


On Thu, Jul 18, 2013 at 12:55:26PM +0100, Jonas Jensen wrote:
> On 18 July 2013 13:02, Mark Rutland <mark.rutland@xxxxxxx> wrote:
> > Ok. I'm just concerned that the linkage isn't explicit or obvious.
>
> > This does leave apb-clock completely dependent on core-clock, and unless
> > I've missed something there's no linkage between the two described in
> > the dt.
>
> I can add a description in the core-clock binding and also for
> apb-clock pointing
> out that it's set from core-clock.
>
> > How does core-clock physically relate to apb-clock? Does it feed or is
> > it fed by apb-clock?
>
> apb-clock is entirely a DT construct used by drivers to get the fixed
> rate 48MHz.
> It's not fed by core-clock more than what happens in probe.
>
> For UC-7112-LX, drivers using apb-clock are: clocksource, MMC, watchdog
>
> Because clocksource relies on apb-clock, a successful probe of
> core-clock is critical.
>
> Commonly, drivers look up the apb-clock node and call clk_get_rate.

When you say look up the apb-clock node, I assume they find it via their
clocks property with of_clk_get or similar, rather than scanning the
tree for a "moxart,moxa-apb-clock" node specifically?

>
> > Are we always guaranteed to have core-clock if we have apb-clock, and is
> > it part of the same block in hardware? If so we could describe the
> > amalgamation as a provider with two clock outputs, with core-clock's
> > registers for configuration at probe-time.
>
> Yes, as described above, there can not be a apb-clock without core-clock.
>
>
> I think drivers could find and use core-clock instead. Maybe the abstraction
> of apb-clock is unnecessary?

Given the above, I think it would make more sense to have core-clock
registered, and have it passed to the devices currently passed
apb-clock.

Thanks,
Mark.

>
>
> Best regards,
> Jonas
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/