[U-Boot] [PATCH 2/6] ARM: tegra: Implement clk_m

Tom Warren
2015-08-20T16:20:03Z

Stephen/Thierry,

> -----Original Message-----
> From: Stephen Warren [mailto:swarren at wwwdotorg.org]
> Sent: Thursday, August 20, 2015 7:59 AM
> To: Thierry Reding
> Cc: Albert Aribaud; Tom Warren; u-boot at lists.denx.de; Stephen Warren
> Subject: Re: [U-Boot] [PATCH 2/6] ARM: tegra: Implement clk_m
>
> On 08/20/2015 03:42 AM, Thierry Reding wrote:
> > From: Thierry Reding <treding@nvidia.com>
> >
> > On currently supported SoCs, clk_m always runs at the same frequency
> > as the oscillator input. However newer SoC generations such as
> > Tegra210 no longer have that restriction. Prepare for that by
> > separating clk_m from the oscillator clock and allow SoC code to override
> the clk_m rate.
>
> > diff --git a/arch/arm/include/asm/arch-tegra114/clock-tables.h
> > b/arch/arm/include/asm/arch-tegra114/clock-tables.h
> > index d8fa0e1d2cee..3f910f5ae8b9 100644
> > --- a/arch/arm/include/asm/arch-tegra114/clock-tables.h
> > +++ b/arch/arm/include/asm/arch-tegra114/clock-tables.h
> > @@ -38,6 +38,7 @@ enum clock_id {
> > /* These are the base clocks (inputs to the Tegra SOC) */
> > CLOCK_ID_32KHZ,
> > CLOCK_ID_OSC,
> > + CLOCK_ID_CLK_M,
> >
> > CLOCK_ID_COUNT, /* number of PLLs */
> > CLOCK_ID_DISPLAY2, /* placeholder */
>
> clock.h contains the following:
>
> /* Number of PLL-based clocks (i.e. not OSC or 32KHz) */
> #define CLOCK_ID_PLL_COUNT (CLOCK_ID_COUNT - 2)

I decremented the CLOCK_ID_COUNT for my pllinfo tables, since 32KHZ and OSC have no PLL params that can be configured, to remove the 2 extra, empty table entries.
We can either remove it, and add 2 empty entries for OSC/32KHZ in all the pllinfo tables (per SoC), and then add new CLOCK_ID entries wherever, or have a rule that new entries here need to be above ID_32KHZ for any PLL needing dividers, etc., and below it for any static clock like OSC, 32KHz, etc. Of course, we'll need to keep track of the decrement depending on how many IDs are added and where. Might be easier to just have an entry for every CLOCK_ID, regardless.

Tom
--
nvpublic

>
> ... which would need to be updated. Related, see internal bug number
> 1676978 to see if any of the other gotchas there affect this patch.