mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-25 21:24:21 +08:00
85xx: bugfix for reading maximum TLB size on mpc85xx
The MAXSIZE field in the TLB1CFG register is 4 bits, not 8 bits. This made setup_ddr_tlbs() try to set up a TLB larger than the e500 maximum (256 MB) which made u-boot hang in board_init_f() when trying to create a new stack in RAM. I have an mpc8540 with one 1GB dimm. Signed-off-by: Fredrik Arnerup <fredrik.arnerup@edgeware.tv> Signed-off-by: Andy Fleming <afleming@freescale.com> Acked-by: Kumar Gala <galak@kernel.crashing.org>
This commit is contained in:
parent
1b5291dddf
commit
90d13b8ac3
@ -134,7 +134,7 @@ unsigned int setup_ddr_tlbs(unsigned int memsize_in_meg)
|
||||
unsigned int tlb_size;
|
||||
unsigned int ram_tlb_index = CONFIG_SYS_DDR_TLB_START;
|
||||
unsigned int ram_tlb_address = (unsigned int)CONFIG_SYS_DDR_SDRAM_BASE;
|
||||
unsigned int max_cam = (mfspr(SPRN_TLB1CFG) >> 16) & 0xff;
|
||||
unsigned int max_cam = (mfspr(SPRN_TLB1CFG) >> 16) & 0xf;
|
||||
u64 size, memsize = (u64)memsize_in_meg << 20;
|
||||
|
||||
size = min(memsize, CONFIG_MAX_MEM_MAPPED);
|
||||
|
Loading…
Reference in New Issue
Block a user