aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Green <andy@warmcat.com>2011-03-12 17:50:54 -0500
committerTony Lindgren <tony@atomide.com>2011-03-14 14:12:54 -0400
commitb235e007831dbf57710e59cd4a120e2f374eecb9 (patch)
tree7a8ced8d9d48aaea2dfa4edfc80624bb2a9d2ff3
parentd038aee24dcd5a2a0d8547f5396f67ae9698ac8e (diff)
OMAP2+: Common CPU DIE ID reading code reads wrong registers for OMAP4430
This adapts the register offsets used to read the CPU DIE ID registers when run on 44XX so they match what is in the OMAP4430 Reference Manual page 269 Signed-off-by: Andy Green <andy.green@linaro.org> Signed-off-by: Tony Lindgren <tony@atomide.com>
-rw-r--r--arch/arm/mach-omap2/id.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index 3168b17bc264..2537090aa33a 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -84,6 +84,11 @@ EXPORT_SYMBOL(omap_type);
84#define OMAP_TAP_DIE_ID_2 0x0220 84#define OMAP_TAP_DIE_ID_2 0x0220
85#define OMAP_TAP_DIE_ID_3 0x0224 85#define OMAP_TAP_DIE_ID_3 0x0224
86 86
87#define OMAP_TAP_DIE_ID_44XX_0 0x0200
88#define OMAP_TAP_DIE_ID_44XX_1 0x0208
89#define OMAP_TAP_DIE_ID_44XX_2 0x020c
90#define OMAP_TAP_DIE_ID_44XX_3 0x0210
91
87#define read_tap_reg(reg) __raw_readl(tap_base + (reg)) 92#define read_tap_reg(reg) __raw_readl(tap_base + (reg))
88 93
89struct omap_id { 94struct omap_id {
@@ -107,6 +112,14 @@ static u16 tap_prod_id;
107 112
108void omap_get_die_id(struct omap_die_id *odi) 113void omap_get_die_id(struct omap_die_id *odi)
109{ 114{
115 if (cpu_is_omap44xx()) {
116 odi->id_0 = read_tap_reg(OMAP_TAP_DIE_ID_44XX_0);
117 odi->id_1 = read_tap_reg(OMAP_TAP_DIE_ID_44XX_1);
118 odi->id_2 = read_tap_reg(OMAP_TAP_DIE_ID_44XX_2);
119 odi->id_3 = read_tap_reg(OMAP_TAP_DIE_ID_44XX_3);
120
121 return;
122 }
110 odi->id_0 = read_tap_reg(OMAP_TAP_DIE_ID_0); 123 odi->id_0 = read_tap_reg(OMAP_TAP_DIE_ID_0);
111 odi->id_1 = read_tap_reg(OMAP_TAP_DIE_ID_1); 124 odi->id_1 = read_tap_reg(OMAP_TAP_DIE_ID_1);
112 odi->id_2 = read_tap_reg(OMAP_TAP_DIE_ID_2); 125 odi->id_2 = read_tap_reg(OMAP_TAP_DIE_ID_2);