diff options
Diffstat (limited to 'arch/mips/alchemy/common/setup.c')
| -rw-r--r-- | arch/mips/alchemy/common/setup.c | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/mips/alchemy/common/setup.c b/arch/mips/alchemy/common/setup.c index 62b4e7bbeab..8267e3c9772 100644 --- a/arch/mips/alchemy/common/setup.c +++ b/arch/mips/alchemy/common/setup.c @@ -30,6 +30,7 @@  #include <linux/jiffies.h>  #include <linux/module.h> +#include <asm/dma-coherence.h>  #include <asm/mipsregs.h>  #include <asm/time.h> @@ -59,6 +60,21 @@ void __init plat_mem_setup(void)  		/* Clear to obtain best system bus performance */  		clear_c0_config(1 << 19); /* Clear Config[OD] */ +	hw_coherentio = 0; +	coherentio = 1; +	switch (alchemy_get_cputype()) { +	case ALCHEMY_CPU_AU1000: +	case ALCHEMY_CPU_AU1500: +	case ALCHEMY_CPU_AU1100: +		coherentio = 0; +		break; +	case ALCHEMY_CPU_AU1200: +		/* Au1200 AB USB does not support coherent memory */ +		if (0 == (read_c0_prid() & PRID_REV_MASK)) +			coherentio = 0; +		break; +	} +  	board_setup();	/* board specific setup */  	/* IO/MEM resources. */  | 
