Skip to contentSkip to conversation

OMAP2 not booting in 2.6.27-rc9?

PATCH Jarkko Nikula 2 participants 3 messages Oct 9, 2008

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hi

At least N810 hangs somewhere executing local_flush_tlb_all() in omap_map_sram. Last printk is before that call.

arch/arm/plat-omap/sram.c +3 -0
index 853048d..5ddf417 100644
@@ -215,8 +215,11 @@ void __init omap_map_sram(void)
 	 * mdesc->map_io(), but since we're called from map_io(), we
 	 * must do it here.
 	 */
+printk("%s @ %d\n", __func__, __LINE__);
 	local_flush_tlb_all();
+printk("%s @ %d\n", __func__, __LINE__);
 	flush_cache_all();
+printk("%s @ %d\n", __func__, __LINE__);
 
 	/*
 	 * Looks like we need to preserve some bootloader code at the

Reverting Paul's commit below doesn't help.

commit 61db7fb1c78c32b6abdc5c7965981de332aeaa5b

Author: Paul Walmsley <[email protected]>
Date:   Tue Aug 12 00:04:15 2008 +0100
    [ARM] 5192/1: ARM TLB: add v7wbi_{possible,always}_flags to

{possible,always

However Beagle is still booting fine with my current head

commit 5b99e69f31fa575e53483e1f90c3a88939ca0b95
Merge: f9ceca7... 4330ed8...
Author: Tony Lindgren <[email protected]>
Date: Tue Oct 7 14:27:17 2008 +0300

Merge current mainline tree into linux-omap tree

Merge branches 'master' and 'linus'

Jarkko

#1 lore raw
Quoted 2 lines · Jarkko Nikula

At least N810 hangs somewhere executing local_flush_tlb_all() in omap_map_sram. Last printk is before that call.

Broken on 2430SDP too. Will look further.

- Paul

#2 lore raw
In reply to Jarkko Nikula

Hi Jarkko,

Quoted 2 lines · Jarkko Nikula

At least N810 hangs somewhere executing local_flush_tlb_all() in omap_map_sram. Last printk is before that call.

does the following patch fix the problem for you?

- Paul

Author: Paul Walmsley <[email protected]>
Date:   Thu Oct 9 07:27:38 2008 -0600

Commit 1c957036bbd912322793da676d05e169abf24782 breaks booting on OMAP2; the SRAM is mapped on top of the L4 interconnect. This causes the system to hang early in boot in omap_map_sram() during a TLB flush. Fix by moving SRAM elsewhere in the memory map.

Reported by Jarkko Nikula <[email protected]>. This patch is a collaboration with Tony Lindgren <[email protected]> and Kevin Hilman <[email protected]>.

Tested on 2430SDP.

Cc Kevin Hilman <[email protected]>
Cc Jarkko Nikula <[email protected]>
Cc Tony Lindgren <[email protected]>
Cc Måns Rullgård <[email protected]>
arch/arm/plat-omap/sram.c +2 -2
index 853048d..ca4c276 100644
@@ -37,8 +37,8 @@
 #define OMAP1_SRAM_VA		VMALLOC_END
 #define OMAP2_SRAM_PA		0x40200000
 #define OMAP2_SRAM_PUB_PA	0x4020f800
-#define OMAP2_SRAM_VA		VMALLOC_END
-#define OMAP2_SRAM_PUB_VA	(VMALLOC_END + 0x800)
+#define OMAP2_SRAM_VA		0xe1000000
+#define OMAP2_SRAM_PUB_VA	(OMAP2_SRAM_VA + 0x800)
 #define OMAP3_SRAM_PA           0x40200000
 #define OMAP3_SRAM_VA           0xd7000000
 #define OMAP3_SRAM_PUB_PA       0x40208000