aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-omap
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/plat-omap
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/plat-omap')
-rw-r--r--arch/arm/plat-omap/include/plat/cpu.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h
index aa2f4f079f57..2e2ae530fced 100644
--- a/arch/arm/plat-omap/include/plat/cpu.h
+++ b/arch/arm/plat-omap/include/plat/cpu.h
@@ -66,6 +66,8 @@ unsigned int omap_rev(void);
66 * family. This difference can be handled separately. 66 * family. This difference can be handled separately.
67 */ 67 */
68#define OMAP_REVBITS_00 0x00 68#define OMAP_REVBITS_00 0x00
69#define OMAP_REVBITS_01 0x01
70#define OMAP_REVBITS_02 0x02
69#define OMAP_REVBITS_10 0x10 71#define OMAP_REVBITS_10 0x10
70#define OMAP_REVBITS_20 0x20 72#define OMAP_REVBITS_20 0x20
71#define OMAP_REVBITS_30 0x30 73#define OMAP_REVBITS_30 0x30
@@ -376,6 +378,8 @@ IS_OMAP_TYPE(3517, 0x3517)
376#define OMAP3430_REV_ES3_1_2 0x34305034 378#define OMAP3430_REV_ES3_1_2 0x34305034
377 379
378#define OMAP3630_REV_ES1_0 0x36300034 380#define OMAP3630_REV_ES1_0 0x36300034
381#define OMAP3630_REV_ES1_1 0x36300134
382#define OMAP3630_REV_ES1_2 0x36300234
379 383
380#define OMAP35XX_CLASS 0x35000034 384#define OMAP35XX_CLASS 0x35000034
381#define OMAP3503_REV(v) (OMAP35XX_CLASS | (0x3503 << 16) | (v << 8)) 385#define OMAP3503_REV(v) (OMAP35XX_CLASS | (0x3503 << 16) | (v << 8))
@@ -411,6 +415,8 @@ IS_OMAP_TYPE(3517, 0x3517)
411#define CHIP_IS_OMAP3430ES3_1 (1 << 6) 415#define CHIP_IS_OMAP3430ES3_1 (1 << 6)
412#define CHIP_IS_OMAP3630ES1 (1 << 7) 416#define CHIP_IS_OMAP3630ES1 (1 << 7)
413#define CHIP_IS_OMAP4430ES1 (1 << 8) 417#define CHIP_IS_OMAP4430ES1 (1 << 8)
418#define CHIP_IS_OMAP3630ES1_1 (1 << 9)
419#define CHIP_IS_OMAP3630ES1_2 (1 << 10)
414 420
415#define CHIP_IS_OMAP24XX (CHIP_IS_OMAP2420 | CHIP_IS_OMAP2430) 421#define CHIP_IS_OMAP24XX (CHIP_IS_OMAP2420 | CHIP_IS_OMAP2430)
416 422
@@ -424,11 +430,12 @@ IS_OMAP_TYPE(3517, 0x3517)
424 */ 430 */
425#define CHIP_GE_OMAP3430ES2 (CHIP_IS_OMAP3430ES2 | \ 431#define CHIP_GE_OMAP3430ES2 (CHIP_IS_OMAP3430ES2 | \
426 CHIP_IS_OMAP3430ES3_0 | \ 432 CHIP_IS_OMAP3430ES3_0 | \
427 CHIP_IS_OMAP3430ES3_1 | \ 433 CHIP_GE_OMAP3430ES3_1)
428 CHIP_IS_OMAP3630ES1)
429#define CHIP_GE_OMAP3430ES3_1 (CHIP_IS_OMAP3430ES3_1 | \ 434#define CHIP_GE_OMAP3430ES3_1 (CHIP_IS_OMAP3430ES3_1 | \
430 CHIP_IS_OMAP3630ES1) 435 CHIP_IS_OMAP3630ES1 | \
431 436 CHIP_GE_OMAP3630ES1_1)
437#define CHIP_GE_OMAP3630ES1_1 (CHIP_IS_OMAP3630ES1_1 | \
438 CHIP_IS_OMAP3630ES1_2)
432 439
433int omap_chip_is(struct omap_chip_id oci); 440int omap_chip_is(struct omap_chip_id oci);
434void omap2_check_revision(void); 441void omap2_check_revision(void);