diff options
| -rw-r--r-- | arch/arm/cpu/pxa/cpuinfo.c | 11 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-pxa/pxa.h | 13 | 
2 files changed, 22 insertions, 2 deletions
| diff --git a/arch/arm/cpu/pxa/cpuinfo.c b/arch/arm/cpu/pxa/cpuinfo.c index f1cdd408e..bab63400d 100644 --- a/arch/arm/cpu/pxa/cpuinfo.c +++ b/arch/arm/cpu/pxa/cpuinfo.c @@ -24,9 +24,11 @@  #include <errno.h>  #include <linux/compiler.h> -#define	CPU_MASK_PXA_REVID	0x00f +#define	CPU_MASK_PXA_PRODID	0x000003f0 +#define	CPU_MASK_PXA_REVID	0x0000000f + +#define	CPU_MASK_PRODREV	(CPU_MASK_PXA_PRODID | CPU_MASK_PXA_REVID) -#define	CPU_MASK_PXA_PRODID	0x3f0  #define	CPU_VALUE_PXA25X	0x100  #define	CPU_VALUE_PXA27X	0x110 @@ -51,6 +53,11 @@ int cpu_is_pxa27x(void)  	return id == CPU_VALUE_PXA27X;  } +uint32_t pxa_get_cpu_revision(void) +{ +	return pxa_get_cpuid() & CPU_MASK_PRODREV; +} +  #ifdef	CONFIG_DISPLAY_CPUINFO  static const char *pxa25x_get_revision(void)  { diff --git a/arch/arm/include/asm/arch-pxa/pxa.h b/arch/arm/include/asm/arch-pxa/pxa.h index 49c6552c5..b67d8f282 100644 --- a/arch/arm/include/asm/arch-pxa/pxa.h +++ b/arch/arm/include/asm/arch-pxa/pxa.h @@ -22,8 +22,21 @@  #ifndef	__PXA_H__  #define	__PXA_H__ +#define PXA255_A0	0x00000106 +#define PXA250_C0	0x00000105 +#define PXA250_B2	0x00000104 +#define PXA250_B1	0x00000103 +#define PXA250_B0	0x00000102 +#define PXA250_A1	0x00000101 +#define PXA250_A0	0x00000100 +#define PXA210_C0	0x00000125 +#define PXA210_B2	0x00000124 +#define PXA210_B1	0x00000123 +#define PXA210_B0	0x00000122 +  int cpu_is_pxa25x(void);  int cpu_is_pxa27x(void); +uint32_t pxa_get_cpu_revision(void);  void pxa2xx_dram_init(void);  #endif	/* __PXA_H__ */ |