[U-Boot] [PATCH] Tegra: Configure L2 cache control reg properly.

Tom Warren twarren.nvidia at gmail.com
Sat Mar 30 00:32:43 CET 2013


Stephen,


On Fri, Mar 29, 2013 at 3:43 PM, Stephen Warren <swarren at wwwdotorg.org>wrote:

> On 03/29/2013 02:38 PM, Tom Warren wrote:
> > Without this change, kernel fails at calling function cache_clean_flush
> > during kernel early boot.
> >
> > Aprocryphally, intended for T114 only, so I check for a T114 SoC.
> > Works (i.e. dalmore 3.8 kernel now starts printing to console).
>
> I don't know enough about the caches to really review this, but I have
> no particular objection to it. My one comment is ...
>
> > diff --git a/arch/arm/cpu/tegra-common/cache.c
> b/arch/arm/cpu/tegra-common/cache.c
>
> > +void config_cache(void)
>
> > +     /* Currently, only T114 needs this L2 cache change to boot Linux */
> > +     reg = (readl(&gp->hidrev) & HIDREV_CHIPID_MASK);
> > +     if (reg != (CHIPID_TEGRA114 << HIDREV_CHIPID_SHIFT))
> > +             return;
>
> Can we introduce a standard function for that instead? We already have
> tegra_get_chip_type() which returns a SKU-based ID. I think we need to
> introduce a tegra_get_soc_type() that returns a pure Tegra20/30/114
> value, and probably use this in most places we currently use the result
> of tegra_get_chip_type(), since most care about SW-compatibility of
> features rather than SKU which drivers performance levels instead
> typically. Then, perhaps rename tegra_get_chip_type() to
> tegra_get_soc_sku() and re-write it to use tegra_get_soc_type()?
>

I can do that, but I'd prefer to do it as a separate patch since
tegra_get_chip_type is used in a few other places.

This patch is needed by a customer to get their kernel loading (or at least
past the 'Decompressing Linux...' part). I'll correct this patch later to
use tegra_get_soc_type().

Thanks,

Tom


More information about the U-Boot mailing list