[U-Boot] [PATCH v2] mpc86xx: set the DDR BATs after calculating true DDR size

Timur Tabi timur at freescale.com
Tue Mar 30 16:37:28 CEST 2010


Kumar Gala wrote:
> +void setup_ddr_bat(phys_addr_t dram_size)
> +{
> +	unsigned long batu, bl;
> +
> +	bl = TO_BATU_BL(min(dram_size, CONFIG_MAX_MEM_MAPPED));
> +
> +	if (BATU_SIZE(bl) != dram_size) {
> +		u64 sz = (u64)dram_size - BATU_SIZE(bl);
> +		print_size(sz, " left unmapped\n");
> +	}

We still have the problem that, on a 1.5GB system, U-Boot will think that there are 1.5GB of DDR, but the BAT will be set to 1GB.  When U-Boot tries to relocate itself, it will machine check.

We need a way to tell U-Boot that we only have 1GB of DDR, but still have it tell Linux that we have 1.5GB of DDR.

-- 
Timur Tabi
Linux kernel developer at Freescale


More information about the U-Boot mailing list