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

Stephen Warren swarren at nvidia.com
Tue Jan 10 19:46:54 CET 2012


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).
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>

> diff --git a/board/nvidia/common/emc.c b/board/nvidia/common/emc.c
...
> +static const struct tegra_emc_table seaboard_emc_tables_hynix_333Mhz[] = {
...
> +static const struct tegra_emc_table seaboard_emc_tables_hynix_380Mhz[] = {
...
> +void seaboard_emc_init(void)
...
> +static struct emc_init board_table[] = {
> +       {
> +               .id     = MACH_TYPE_HARMONY,
> +               .init   = NULL,
> +       },
> +       {
> +               .id     = MACH_TYPE_SEABOARD,
> +               .init   = seaboard_emc_init,
> +       },
> +};

Why not just put the Seaboard-specific code into Seaboard's board
directory instead of a common location? Then you wouldn't need this
table at all, and boards other than Seaboard wouldn't be required to
carry the Seaboard EMC tables.

There don't appear to be any tables for Harmony, which is inconsistent
with the commit description.

> +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?

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?

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?

-- 
nvpublic


More information about the U-Boot mailing list