Re: [PATCH] ARM: imx: clk-vf610: introduce clks_init_on

From: Stefan Agner
Date: Tue Jul 29 2014 - 14:39:03 EST


Am 2014-07-29 16:44, schrieb Arnd Bergmann:
> On Tuesday 29 July 2014 16:20:28 Stefan Agner wrote:
>> At the end of the boot process, the clock framework might disable
>> required main PLL's. So far, this was no issue since drivers
>> requested clocks, which are descended of the main PLL's (e.g.
>> pll1_pfd1, which provides the system clock).
>>
>> To archive the full 500MHz system clock, DDR clock need to be a
>> descendant of PLL2 rather than PLL1 (DDRC_CLK_SEL set to 0). The
>> bootloader sets up the clocks accordingly before making use of
>> DDR at all. However, in Linux, there is no driver using PLL2,
>> which lead to PLL2 being disabled by the clock framework.
>>
>> With this patch, we make sure that the main system clock and the
>> DDR clock are initially enabled and are kept enabled.
>>
>> Signed-off-by: Stefan Agner <stefan@xxxxxxxx>
>>
>
> Wouldn't it be better to list this in the DT as a default for
> the respective clocks?
>

What do you mean by that exactly? Creating a driver for the main PLL's
and add device tree entries to instantiate them, along with a property
like "boot-enabled" or similar?

The approach chosen in this patch is aligned the way it's done for i.MX6
(see arch/arm/mach-imx/clk-imx6q.c). The whole clock module(s) in Vybrid
are slightly striped variants found in i.MX6. For now, I would prefer to
leave it that way.

--
Stefan
--
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/