Commit ec023e46 authored by Leonid Iziumtsev's avatar Leonid Iziumtsev Committed by Tony Lindgren

ARM: OMAP: ID: Chip detection for OMAP4470

Add support for detection of the next chip in the OMAP4 family: OMAP4470 ES1.0

For more details on OMAP4470, visit:
http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12869&contentId=123362Signed-off-by: default avatarLeonid Iziumtsev <x0153368@ti.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 55035c15
...@@ -371,7 +371,7 @@ static void __init omap4_check_revision(void) ...@@ -371,7 +371,7 @@ static void __init omap4_check_revision(void)
* Few initial 4430 ES2.0 samples IDCODE is same as ES1.0 * Few initial 4430 ES2.0 samples IDCODE is same as ES1.0
* Use ARM register to detect the correct ES version * Use ARM register to detect the correct ES version
*/ */
if (!rev && (hawkeye != 0xb94e)) { if (!rev && (hawkeye != 0xb94e) && (hawkeye != 0xb975)) {
idcode = read_cpuid(CPUID_ID); idcode = read_cpuid(CPUID_ID);
rev = (idcode & 0xf) - 1; rev = (idcode & 0xf) - 1;
} }
...@@ -408,6 +408,14 @@ static void __init omap4_check_revision(void) ...@@ -408,6 +408,14 @@ static void __init omap4_check_revision(void)
break; break;
} }
break; break;
case 0xb975:
switch (rev) {
case 0:
default:
omap_revision = OMAP4470_REV_ES1_0;
break;
}
break;
default: default:
/* Unknown default to latest silicon rev as default */ /* Unknown default to latest silicon rev as default */
omap_revision = OMAP4430_REV_ES2_3; omap_revision = OMAP4430_REV_ES2_3;
......
...@@ -69,6 +69,7 @@ unsigned int omap_rev(void); ...@@ -69,6 +69,7 @@ unsigned int omap_rev(void);
* cpu_is_omap343x(): True for OMAP3430 * cpu_is_omap343x(): True for OMAP3430
* cpu_is_omap443x(): True for OMAP4430 * cpu_is_omap443x(): True for OMAP4430
* cpu_is_omap446x(): True for OMAP4460 * cpu_is_omap446x(): True for OMAP4460
* cpu_is_omap447x(): True for OMAP4470
*/ */
#define GET_OMAP_CLASS (omap_rev() & 0xff) #define GET_OMAP_CLASS (omap_rev() & 0xff)
...@@ -120,6 +121,7 @@ IS_OMAP_SUBCLASS(343x, 0x343) ...@@ -120,6 +121,7 @@ IS_OMAP_SUBCLASS(343x, 0x343)
IS_OMAP_SUBCLASS(363x, 0x363) IS_OMAP_SUBCLASS(363x, 0x363)
IS_OMAP_SUBCLASS(443x, 0x443) IS_OMAP_SUBCLASS(443x, 0x443)
IS_OMAP_SUBCLASS(446x, 0x446) IS_OMAP_SUBCLASS(446x, 0x446)
IS_OMAP_SUBCLASS(447x, 0x447)
IS_TI_SUBCLASS(816x, 0x816) IS_TI_SUBCLASS(816x, 0x816)
IS_AM_SUBCLASS(335x, 0x335) IS_AM_SUBCLASS(335x, 0x335)
...@@ -138,6 +140,7 @@ IS_AM_SUBCLASS(335x, 0x335) ...@@ -138,6 +140,7 @@ IS_AM_SUBCLASS(335x, 0x335)
#define cpu_is_omap44xx() 0 #define cpu_is_omap44xx() 0
#define cpu_is_omap443x() 0 #define cpu_is_omap443x() 0
#define cpu_is_omap446x() 0 #define cpu_is_omap446x() 0
#define cpu_is_omap447x() 0
#if defined(MULTI_OMAP1) #if defined(MULTI_OMAP1)
# if defined(CONFIG_ARCH_OMAP730) # if defined(CONFIG_ARCH_OMAP730)
...@@ -368,9 +371,11 @@ IS_OMAP_TYPE(3517, 0x3517) ...@@ -368,9 +371,11 @@ IS_OMAP_TYPE(3517, 0x3517)
# undef cpu_is_omap44xx # undef cpu_is_omap44xx
# undef cpu_is_omap443x # undef cpu_is_omap443x
# undef cpu_is_omap446x # undef cpu_is_omap446x
# undef cpu_is_omap447x
# define cpu_is_omap44xx() is_omap44xx() # define cpu_is_omap44xx() is_omap44xx()
# define cpu_is_omap443x() is_omap443x() # define cpu_is_omap443x() is_omap443x()
# define cpu_is_omap446x() is_omap446x() # define cpu_is_omap446x() is_omap446x()
# define cpu_is_omap447x() is_omap447x()
# endif # endif
/* Macros to detect if we have OMAP1 or OMAP2 */ /* Macros to detect if we have OMAP1 or OMAP2 */
...@@ -421,6 +426,9 @@ IS_OMAP_TYPE(3517, 0x3517) ...@@ -421,6 +426,9 @@ IS_OMAP_TYPE(3517, 0x3517)
#define OMAP446X_CLASS 0x44600044 #define OMAP446X_CLASS 0x44600044
#define OMAP4460_REV_ES1_0 (OMAP446X_CLASS | (0x10 << 8)) #define OMAP4460_REV_ES1_0 (OMAP446X_CLASS | (0x10 << 8))
#define OMAP447X_CLASS 0x44700044
#define OMAP4470_REV_ES1_0 (OMAP447X_CLASS | (0x10 << 8))
void omap2_check_revision(void); void omap2_check_revision(void);
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment