From: Aneesh V <aneesh@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] omap3_beagle problem booting kernel on latest u-boot
Date: Fri, 30 Sep 2011 00:29:26 +0530 [thread overview]
Message-ID: <4E84C00E.8000108@ti.com> (raw)
In-Reply-To: <CADDGHU9ki6RMnD9AWX_w347gTCabPHR-AoR0ZgUF1XGoP7Up2A@mail.gmail.com>
John,
On Thursday 29 September 2011 09:00 PM, John Rigby wrote:
> On Thu, Sep 29, 2011 at 3:09 AM, Aneesh V<aneesh@ti.com> wrote:
>> John,
>>
>> My primary suspect would be cache. But the fact that
>> CONFIG_SYS_DCACHE_OFF is not helping is strange. Could you double-check
>> this and also make sure that CONFIG_SYS_L2CACHE_OFF is enabled too.
>>
>
> Ok, verified that CONFIG_SYS_DCACHE_OFF is defined and also added
> CONFIG_SYS_L2CACHE_OFF. And it still fails.
Could you try something like below(also attached). I suspect issues
with cache invalidation before Linux.
---
diff --git a/arch/arm/cpu/armv7/cache_v7.c b/arch/arm/cpu/armv7/cache_v7.c
index 1b4e808..6907ff6 100644
--- a/arch/arm/cpu/armv7/cache_v7.c
+++ b/arch/arm/cpu/armv7/cache_v7.c
@@ -248,13 +248,6 @@ static void v7_inval_tlb(void)
CP15ISB;
}
-void invalidate_dcache_all(void)
-{
- v7_maint_dcache_all(ARMV7_DCACHE_INVAL_ALL);
-
- v7_outer_cache_inval_all();
-}
-
/*
* Performs a clean & invalidation of the entire data cache
* at all levels
@@ -306,9 +299,6 @@ void flush_cache(unsigned long start, unsigned long
size)
flush_dcache_range(start, start + size);
}
#else /* #ifndef CONFIG_SYS_DCACHE_OFF */
-void invalidate_dcache_all(void)
-{
-}
void flush_dcache_all(void)
{
@@ -356,6 +346,14 @@ void invalidate_icache_all(void)
}
#endif
+
+void invalidate_dcache_all(void)
+{
+ v7_maint_dcache_all(ARMV7_DCACHE_INVAL_ALL);
+
+ omap3_invalidate_l2_cache_secure();
+}
+
/*
* Stub implementations for outer cache operations
*/
diff --git a/arch/arm/cpu/armv7/omap3/board.c
b/arch/arm/cpu/armv7/omap3/board.c
index 0448bc9..7221f5a 100644
--- a/arch/arm/cpu/armv7/omap3/board.c
+++ b/arch/arm/cpu/armv7/omap3/board.c
@@ -360,9 +360,8 @@ static void omap3_setup_aux_cr(void)
omap3_update_aux_cr_secure(0xE0, 0);
}
-#ifndef CONFIG_SYS_L2CACHE_OFF
/* Invalidate the entire L2 cache from secure mode */
-static void omap3_invalidate_l2_cache_secure(void)
+void omap3_invalidate_l2_cache_secure(void)
{
if (get_device_type() == GP_DEVICE) {
omap3_gp_romcode_call(OMAP3_GP_ROMCODE_API_L2_INVAL,
@@ -376,6 +375,7 @@ static void omap3_invalidate_l2_cache_secure(void)
}
}
+#ifndef CONFIG_SYS_L2CACHE_OFF
void v7_outer_cache_enable(void)
{
/* Set L2EN */
--
1.7.1
>
> --john
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-omap3-workaround-for-omap3-cache-issue.patch
Type: text/x-patch
Size: 0 bytes
Desc: not available
Url : http://lists.denx.de/pipermail/u-boot/attachments/20110930/0fbcbc80/attachment.bin
prev parent reply other threads:[~2011-09-29 18:59 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-29 6:20 [U-Boot] omap3_beagle problem booting kernel on latest u-boot John Rigby
2011-09-29 9:09 ` Aneesh V
2011-09-29 15:30 ` John Rigby
2011-09-29 18:59 ` Aneesh V [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E84C00E.8000108@ti.com \
--to=aneesh@ti.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.