AnsweredAssumed Answered

U-Boot early init problem (InstructionTLB Trap) booting P1022 from NOR Flash

Question asked by Cary O'Brien on Sep 17, 2014
Latest reply on Sep 19, 2014 by Scott Wood

We have a board with a P1022 and 256MB of NOR Flash.

I can program U-Boot with CodeWarrior, and step through

a lot of the initialization.

 

It gets through a lot of start.S and into cpu_init_early_f.

 

Near the end of cpu_init_early_f it calls

 

invalidate_tlb(1)

disable_tlb(CONFIG_SYS_PPC_E500_DEBUG_TLB);

init_tlbs(); /* NEVER GETS HERE */

 

During the disable_tlb() there is an InstructionTLB trap, indicating that

the TLB for the code has been removed.

 

I check the TLB1 entries, just before and after.  There are two entries

covering the boot area before, (LMMU2_CAM2 and LMMU2_CAM15)

 

and only 1 (LMMU2_CAM15) after

 

Interestingly, the only difference is the TS (Address Space?) value.

 

Any idea how I can solve this problem?

 

Also, I have some general questions about booting from NOR:

 

1) Do I need CONFIG_SPL to boot from NOR?

2) There don't seem to be any TLB entries after reset.  How does

    the cpu access the code without these?

3) Does Code Warrior, through a USB tap, go through the MMU when

    it accesses memory, or is this bypassed.

 

Thanks in Advance

 

Cary O'Brien

Outcomes