[U-Boot] [PATCH 13/14] tegra: Add EMC settings for Seaboard, Harmony

Stephen Warren swarren at nvidia.com
Fri Jan 13 00:42:00 CET 2012


Simon Glass wrote at Thursday, January 12, 2012 4:05 PM:
> On Tue, Jan 10, 2012 at 10:46 AM, Stephen Warren <swarren at nvidia.com> wrote:
> > On 12/26/2011 12:33 PM, Simon Glass wrote:
> >> From: Jimmy Zhang <jimmzhang at nvidia.com>
> >>
> >> Set Seaboard and Harmony to optimal memory settings based on the SOC
> >> in use (T20 or T25).
...
> >> +int board_emc_init(void)
> >> +{
> >> +       int     i;
> >> +       DECLARE_GLOBAL_DATA_PTR;
> >> +
> >> +#ifdef CONFIG_TEGRA_PMU
> >> +       /* if voltage has not been set properly, return */
> >> +       if (!pmu_is_voltage_nominal())
> >> +               return -1;
> >> +#endif
> >
> > Why/when would the PMU voltage not be nominal?
> 
> On boot, it starts up lower and we raise it to nominal so we can run
> at full speed.
> 
> > Can't we error out the compile if the options that cause the PMU voltage
> > to be initialized to nominal are not set, instead of detecting this at
> > runtime?
> 
> I don't think so, since we can't know in U-Boot what the start-up voltages are.

So how does the system get to the nominal state? And if board_emc_init()
is called when the system isn't in the nominal state, does it somehow get
called again later once it is, so that the EMC initialization doesn't fail
the error-check quoted above?

In other words, presumably U-Boot explicitly programs the PMU into the
nominal stage at some point. Shouldn't we defer calling board_emc_init()
until after that time, thus making that error-check redundant?

> > Finally, I don't think there are EMC tables here for all the EMC
> > frequencies that we have BCTs for. Perhaps that's not an issue, and
> > perhaps I should ignore the other BCTs (e.g. 400MHZ EMC) since nobody
> > actually uses them?
> 
> Yes I think maximum speed is all anyone is probably interested in now.

400MHz is faster than the entries in the table in this change, IIRC.
But if the tables in this change are for the standard frequencies average
people use (i.e. not those doing board/memory quals), it's probably fine.

-- 
nvpublic



More information about the U-Boot mailing list