[U-Boot] [PATCH] 85xx: Add CPU 2 errata workaround to all 8548 boards

Kumar Gala galak at kernel.crashing.org
Tue Nov 11 14:27:09 CET 2008


>
> diff --git a/cpu/mpc85xx/cpu_init.c b/cpu/mpc85xx/cpu_init.c
> index 3a8aef2..1140010 100644
> --- a/cpu/mpc85xx/cpu_init.c
> +++ b/cpu/mpc85xx/cpu_init.c
> @@ -174,6 +174,19 @@ void cpu_init_f (void)
> {
> 	volatile ccsr_lbc_t *memctl = (void *)(CONFIG_SYS_MPC85xx_LBC_ADDR);
> 	extern void m8560_cpm_reset (void);
> +#ifdef CONFIG_MPC8548
> +	volatile ccsr_local_ecm_t *ecm = (void *) 
> (CONFIG_SYS_MPC85xx_ECM_ADDR);
> +	uint svr = get_svr();
> +
> +	/*
> +	 * CPU2 errata workaround: A core hang possible while executing
> +	 * a msync instruction and a snoopable transaction from an I/O
> +	 * master tagged to make quick forward progress is present.
> +	 * Fixed in silicon rev 2.1.
> +	 */
> +	if ((SVR_MAJ(svr) == 1) || ((SVR_MAJ(svr) == 2 && SVR_MIN(svr) ==  
> 0x0)))
> +		ecm->eebpcr |= (1 << 16);

how about using out_be32().

- k


More information about the U-Boot mailing list