aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/id.c
diff options
context:
space:
mode:
authorAnand Gadiyar <gadiyar@ti.com>2010-08-03 15:59:24 -0400
committerTony Lindgren <tony@atomide.com>2010-08-04 07:43:51 -0400
commitb0a1a6ce0597662c06f970643da60b8ebb5cdd1c (patch)
tree98b698e0515db5c7a4f6069d03174d915c002b53 /arch/arm/mach-omap2/id.c
parent49b368a6b3e803fe4f0a10c14f8fde3f20998f04 (diff)
OMAP3630: Add ES1.1 and ES1.2 detection
Add revision detection for ES1.1 and ES1.2. Set default revision as ES1.2. Add CHIP_GE_OMAP3630ES1_1 to detect revisions 1.1 and later. This is needed for at least one feature that is broken in 3630ES1.0 but exists on older (3430 ES3.1) and newer revisions. Additionally, update some of the CHIP_GE_* macros to use other macros for ease of maintenance. Signed-off-by: Anand Gadiyar <gadiyar@ti.com> Cc: Nishanth Menon <nm@ti.com> Cc: Manjunatha GK <manjugk@ti.com> [tony@atomide.com: update to remove fallthrough handling] Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/id.c')
-rw-r--r--arch/arm/mach-omap2/id.c28
1 files changed, 25 insertions, 3 deletions
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index fd1904b013f..e8256a2ed8e 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -269,11 +269,27 @@ static void __init omap3_check_revision(void)
269 omap_chip.oc |= CHIP_IS_OMAP3430ES3_1; 269 omap_chip.oc |= CHIP_IS_OMAP3430ES3_1;
270 break; 270 break;
271 case 0xb891: 271 case 0xb891:
272 /* FALLTHROUGH */ 272 /* Handle 36xx devices */
273 omap_chip.oc |= CHIP_IS_OMAP3630ES1;
274
275 switch(rev) {
276 case 0: /* Take care of early samples */
277 omap_revision = OMAP3630_REV_ES1_0;
278 break;
279 case 1:
280 omap_revision = OMAP3630_REV_ES1_1;
281 omap_chip.oc |= CHIP_IS_OMAP3630ES1_1;
282 break;
283 case 2:
284 default:
285 omap_revision = OMAP3630_REV_ES1_2;
286 omap_chip.oc |= CHIP_IS_OMAP3630ES1_2;
287 break;
288 }
273 default: 289 default:
274 /* Unknown default to latest silicon rev as default*/ 290 /* Unknown default to latest silicon rev as default*/
275 omap_revision = OMAP3630_REV_ES1_0; 291 omap_revision = OMAP3630_REV_ES1_2;
276 omap_chip.oc |= CHIP_IS_OMAP3630ES1; 292 omap_chip.oc |= CHIP_IS_OMAP3630ES1_2;
277 } 293 }
278} 294}
279 295
@@ -349,6 +365,12 @@ static void __init omap3_cpuinfo(void)
349 case OMAP_REVBITS_00: 365 case OMAP_REVBITS_00:
350 strcpy(cpu_rev, "1.0"); 366 strcpy(cpu_rev, "1.0");
351 break; 367 break;
368 case OMAP_REVBITS_01:
369 strcpy(cpu_rev, "1.1");
370 break;
371 case OMAP_REVBITS_02:
372 strcpy(cpu_rev, "1.2");
373 break;
352 case OMAP_REVBITS_10: 374 case OMAP_REVBITS_10:
353 strcpy(cpu_rev, "2.0"); 375 strcpy(cpu_rev, "2.0");
354 break; 376 break;