diff options
author | Krzysztof Hałasa <khc@pm.waw.pl> | 2009-04-28 14:48:43 +0200 |
---|---|---|
committer | Krzysztof Hałasa <khc@pm.waw.pl> | 2009-05-23 23:16:21 +0200 |
commit | 8a4fe82497a52b6da45b5b3179cce7dd6a28a532 (patch) | |
tree | dfdc254874b81982860bb4b57c732d446949c505 /arch/arm/mach-ixp4xx/include | |
parent | IXP4xx: Whitespace fixes in the Ethernet driver. (diff) | |
download | linux-8a4fe82497a52b6da45b5b3179cce7dd6a28a532.tar.xz linux-8a4fe82497a52b6da45b5b3179cce7dd6a28a532.zip |
IXP42x: Identify Intel IXP425 rev. A0 processors.
Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
Diffstat (limited to 'arch/arm/mach-ixp4xx/include')
-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 def7773be67c..b2ef65db0e91 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()) |