diff options
Diffstat (limited to 'arch/powerpc/cpu/mpc85xx/cpu_init_early.c')
| -rw-r--r-- | arch/powerpc/cpu/mpc85xx/cpu_init_early.c | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/arch/powerpc/cpu/mpc85xx/cpu_init_early.c b/arch/powerpc/cpu/mpc85xx/cpu_init_early.c index 359f03e4a..c42efb13f 100644 --- a/arch/powerpc/cpu/mpc85xx/cpu_init_early.c +++ b/arch/powerpc/cpu/mpc85xx/cpu_init_early.c @@ -30,6 +30,9 @@ void cpu_init_early_f(void)  {  	u32 mas0, mas1, mas2, mas3, mas7;  	int i; +#ifdef CONFIG_SYS_FSL_ERRATUM_P1010_A003549 +	ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR); +#endif  	/* Pointer is writable since we allocated a register for it */  	gd = (gd_t *) (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_GBL_DATA_OFFSET); @@ -49,6 +52,15 @@ void cpu_init_early_f(void)  	write_tlb(mas0, mas1, mas2, mas3, mas7); +/* + * Work Around for IFC Erratum A-003549. This issue is P1010 + * specific. LCLK(a free running clk signal) is muxed with IFC_CS3 on P1010 SOC + * Hence specifically selecting CS3. + */ +#ifdef CONFIG_SYS_FSL_ERRATUM_P1010_A003549 +	setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_LCLK_IFC_CS3); +#endif +  	init_laws();  	invalidate_tlb(1);  	init_tlbs(); |