diff options
Diffstat (limited to 'board/st/u8500/u8500.c')
-rw-r--r-- | board/st/u8500/u8500.c | 51 |
1 files changed, 1 insertions, 50 deletions
diff --git a/board/st/u8500/u8500.c b/board/st/u8500/u8500.c index a76825d0e..1eb083585 100644 --- a/board/st/u8500/u8500.c +++ b/board/st/u8500/u8500.c @@ -12,6 +12,7 @@ #include <asm/io.h> #include <asm/errno.h> #include <asm/arch/clock.h> +#include <asm/arch/cpu.h> #include <asm/arch/hardware.h> #include <asm/arch/ab8500.h> #include <asm/arch/prcmu.h> @@ -118,56 +119,6 @@ void show_boot_progress(int progress) } #endif -#define CPUID_DB8500ED 0x410fc090 -#define CPUID_DB8500V1 0x411fc091 -#define CPUID_DB8500V2 0x412fc091 - -#define ASICID_DB8500V11 0x008500A1 - -static unsigned int read_cpuid(void) -{ - unsigned int val; - - /* Main ID register (MIDR) */ - asm("mrc p15, 0, %0, c0, c0, 0" - : "=r" (val) - : - : "cc"); - - return val; -} - -static unsigned int read_asicid(void) -{ - unsigned int *address; - - if (u8500_is_earlydrop() || cpu_is_u8500v1()) - address = (void *) U8500_ASIC_ID_LOC_ED_V1; - else - address = (void *) U8500_ASIC_ID_LOC_V2; - - return readl(address); -} - -int u8500_is_earlydrop(void) -{ - return read_cpuid() == CPUID_DB8500ED; -} - -int cpu_is_u8500v1(void) -{ - return read_cpuid() == CPUID_DB8500V1; -} - -int cpu_is_u8500v11(void) -{ - return read_asicid() == ASICID_DB8500V11; -} - -int cpu_is_u8500v2(void) -{ - return read_cpuid() == CPUID_DB8500V2; -} /* * Miscellaneous platform dependent initialisations |