[U-Boot] PATCH: bugfix for reading maximum TLB size on mpc85xx

Kumar Gala galak at kernel.crashing.org
Thu May 14 20:08:12 CEST 2009


On May 14, 2009, at 12:38 PM, Fredrik Arnerup wrote:

> 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 at edgeware.tv>
>
> --- ../tmp/u-boot-2009.03/cpu/mpc85xx/tlb.c     2009-03-21
> 22:04:41.000000000 +0100
> +++ cpu/mpc85xx/tlb.c   2009-05-14 19:26:17.000000000 +0200
> @@ -134,7 +134,7 @@
>        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);

Ack.  This should get picked up for v2009.06

- k


More information about the U-Boot mailing list