arm: omap3: am35x: Don't mark missing features as present
authorMark A. Greer <mgreer@animalcreek.com>
Mon, 30 Apr 2012 23:57:09 +0000 (16:57 -0700)
committerKevin Hilman <khilman@ti.com>
Fri, 11 May 2012 23:47:19 +0000 (16:47 -0700)
commit1ce029968718477149e7f1fb245a8e82c690cc4a
treeb86b1a0bd788cd7e0e7f759bcf71ad96df6e1bb0
parent99b59df04899a048d1a3ed8bc2b1263779816868
arm: omap3: am35x: Don't mark missing features as present

The Chip Identification register on the am35x family of SoCs
has bits 12, 7:5, and 3:2 marked as reserved and are read as
zeroes.  Unfortunately, on other omap SoCs, a 0 bit means a
feature is "Full Use" so the OMAP3_CHECK_FEATURE() macro
called by omap3_check_features() will incorrectly interpret
those zeroes to mean that a feature is present even though it
isn't.  To fix that, the feature bits that are incorrectly
set (namely, OMAP3_HAS_IVA and OMAP3_HAS_ISP) need to be
cleared after all of the calls to OMAP3_CHECK_FEATURE() in
omap3_check_features() are made.

Signed-off-by: Mark A. Greer <mgreer@animalcreek.com>
[khilman@ti.com: use soc_is_am35xx() instead of cpu_is_am35xx()]
Signed-off-by: Kevin Hilman <khilman@ti.com>
arch/arm/mach-omap2/id.c