From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Date: Wed, 27 Feb 2013 17:36:15 -0700 Subject: [U-Boot] [PATCH 1/3] ARM: implement some Cortex-A9 errata workarounds In-Reply-To: References: <1361917709-11536-1-git-send-email-swarren@wwwdotorg.org> Message-ID: <512EA67F.3030808@wwwdotorg.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 02/27/2013 05:30 PM, Simon Glass wrote: > On Tue, Feb 26, 2013 at 2:28 PM, Stephen Warren wrote: >> From: Stephen Warren >> >> Various errata exist in the Cortex-A9 CPU, and may be worked around by >> setting some bits in a CP15 diagnostic register. Add code to implement >> the workarounds, enabled by new CONFIG_ options. >> >> This code was taken from the Linux kernel, v3.8, arch/arm/mm/proc-v7.S, >> and modified to remove the logic to conditionally apply the WAR (since we >> know exactly which CPU we're running on given the U-Boot configuration), >> and use r0 instead of r10 for consistency with the rest of U-Boot's >> cpu_init_cp15(). >> >> Signed-off-by: Stephen Warren > > Acked-by: Simon Glass > > Good to have. Although I wonder why we wouldn't want to probe it in > U-Boot as with Linux? I figured it wasn't worth the complexity initially. Right now, U-Boot is built for a specific board (or just perhaps a small set of almost identical boards), so we know exactly which CPU rev is present. If this becomes false (e.g. DT works so well we can do a combined Tegra20+Tegra30 U-Boot), we can always add the conditional logic in when we need it.