Hi, all! I think I found a bug in processor detection code. as I see, > > + /* OMAP3430 and OMAP3530 are assumed to be same. > > + * > > + * OMAP3525, OMAP3515 and OMAP3503 can be detected only based > > + * on available features. Upon detection, update the CPU id > > + * and CPU class bits. > > + */ > > + if (omap3_has_iva() && omap3_has_sgx()) { > > + strcpy(cpu_name, "3430/3530"); > > + } > > + else if (omap3_has_sgx()) { > > + omap_revision = OMAP3525_REV (rev); > > + strcpy(cpu_name, "3525"); > > + } > > + else if (omap3_has_iva()) { > > + omap_revision = OMAP3515_REV (rev); > > + strcpy(cpu_name, "3515"); > > + } > > + else { > > + omap_revision = OMAP3503_REV (rev); > > + strcpy(cpu_name, "3503"); > > + } But, actually, 3515 has no DSP, but has PowerVR, and 3525 has no PowerVR but has DSP. In-tree code inverses this detection. Please consider applying attached patch. (sorry, no git-send-email available here).
From 93ac9c6b2dccb0cedb28414612ed2b1b77537dec Mon Sep 17 00:00:00 2001 From: Sergey Lapin <slapin@xxxxxxxxxxx> Date: Mon, 16 Nov 2009 13:23:45 +0300 Subject: [PATCH] OMAP3: id code detection 3525 vs 3515 In current tree CPU detection of 3525 vs 3515 is reversed Signed-off-by: Sergey Lapin <slapin@xxxxxxxxxxx> --- arch/arm/mach-omap2/id.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c index f48a4b2..2f97577 100644 --- a/arch/arm/mach-omap2/id.c +++ b/arch/arm/mach-omap2/id.c @@ -278,11 +278,11 @@ void __init omap3_cpuinfo(void) /* OMAP3430, OMAP3525, OMAP3515, OMAP3503 devices */ strcpy(cpu_name, "OMAP3430/3530"); } else if (omap3_has_sgx()) { - omap_revision = OMAP3525_REV(rev); - strcpy(cpu_name, "OMAP3525"); - } else if (omap3_has_iva()) { omap_revision = OMAP3515_REV(rev); strcpy(cpu_name, "OMAP3515"); + } else if (omap3_has_iva()) { + omap_revision = OMAP3525_REV(rev); + strcpy(cpu_name, "OMAP3525"); } else { omap_revision = OMAP3503_REV(rev); strcpy(cpu_name, "OMAP3503"); -- 1.6.5