diff options
Diffstat (limited to 'arch/arm/mach-ixp4xx/include/mach/cpu.h')
| -rw-r--r-- | arch/arm/mach-ixp4xx/include/mach/cpu.h | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm/mach-ixp4xx/include/mach/cpu.h b/arch/arm/mach-ixp4xx/include/mach/cpu.h index def7773be67..b2ef65db0e9 100644 --- a/arch/arm/mach-ixp4xx/include/mach/cpu.h +++ b/arch/arm/mach-ixp4xx/include/mach/cpu.h @@ -26,6 +26,8 @@  #define IXP46X_PROCESSOR_ID_VALUE	0x69054200 /* including IXP455 */  #define IXP46X_PROCESSOR_ID_MASK	0xfffffff0 +#define cpu_is_ixp42x_rev_a0() ((read_cpuid_id() & (IXP42X_PROCESSOR_ID_MASK | 0xF)) == \ +				IXP42X_PROCESSOR_ID_VALUE)  #define cpu_is_ixp42x()	((read_cpuid_id() & IXP42X_PROCESSOR_ID_MASK) == \  			 IXP42X_PROCESSOR_ID_VALUE)  #define cpu_is_ixp43x()	((read_cpuid_id() & IXP43X_PROCESSOR_ID_MASK) == \ @@ -35,8 +37,11 @@  static inline u32 ixp4xx_read_feature_bits(void)  { -	unsigned int val = ~*IXP4XX_EXP_CFG2; +	u32 val = ~*IXP4XX_EXP_CFG2; +	if (cpu_is_ixp42x_rev_a0()) +		return IXP42X_FEATURE_MASK & ~(IXP4XX_FEATURE_RCOMP | +					       IXP4XX_FEATURE_AES);  	if (cpu_is_ixp42x())  		return val & IXP42X_FEATURE_MASK;  	if (cpu_is_ixp43x())  |