aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorAbhijit Pagare <abhijitpagare@ti.com>2010-01-26 22:12:51 -0500
committerPaul Walmsley <paul@pwsan.com>2010-01-26 22:12:51 -0500
commitc6a6e6e203ee9a34fa53f773272f21d48b4e3454 (patch)
tree6d577c65e8b4dfd3f90428d3824febb0cab08011 /arch/arm
parent4f4e65d2484811210a2826fa9d59712c7fcf1b49 (diff)
ARM: OMAP4: PM: OMAP4 essential basic initialisations.
Some of the OMAP4 specific chip level initialisations are taken care of. Signed-off-by: Abhijit Pagare <abhijitpagare@ti.com> Cc: Benoit Cousson <b-cousson@ti.com> Cc: Rajendra Nayak <rnayak@ti.com> Cc: Tony Lindgren <tony@atomide.com> [paul@pwsan.com: updated to use '4430ES1' rather than simply '4430'; updated to apply after the intervening cpu.h/id.c patch; thanks also to Tony for catching a bug in my rewrite] Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-omap2/id.c1
-rw-r--r--arch/arm/plat-omap/include/plat/cpu.h8
2 files changed, 8 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index 3d65c50bd017..9e7c4aeeae02 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -281,6 +281,7 @@ void __init omap4_check_revision(void)
281 281
282 if ((hawkeye == 0xb852) && (rev == 0x0)) { 282 if ((hawkeye == 0xb852) && (rev == 0x0)) {
283 omap_revision = OMAP4430_REV_ES1_0; 283 omap_revision = OMAP4430_REV_ES1_0;
284 omap_chip.oc |= CHIP_IS_OMAP4430ES1;
284 pr_info("OMAP%04x %s\n", omap_rev() >> 16, rev_name); 285 pr_info("OMAP%04x %s\n", omap_rev() >> 16, rev_name);
285 return; 286 return;
286 } 287 }
diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h
index a162f585b1e3..ccd78fd473d1 100644
--- a/arch/arm/plat-omap/include/plat/cpu.h
+++ b/arch/arm/plat-omap/include/plat/cpu.h
@@ -44,7 +44,7 @@
44int omap_type(void); 44int omap_type(void);
45 45
46struct omap_chip_id { 46struct omap_chip_id {
47 u8 oc; 47 u16 oc;
48 u8 type; 48 u8 type;
49}; 49};
50 50
@@ -154,6 +154,7 @@ unsigned int omap_rev(void);
154 * cpu_is_omap242x(): True for OMAP2420, OMAP2422, OMAP2423 154 * cpu_is_omap242x(): True for OMAP2420, OMAP2422, OMAP2423
155 * cpu_is_omap243x(): True for OMAP2430 155 * cpu_is_omap243x(): True for OMAP2430
156 * cpu_is_omap343x(): True for OMAP3430 156 * cpu_is_omap343x(): True for OMAP3430
157 * cpu_is_omap443x(): True for OMAP4430
157 */ 158 */
158#define GET_OMAP_CLASS (omap_rev() & 0xff) 159#define GET_OMAP_CLASS (omap_rev() & 0xff)
159 160
@@ -286,6 +287,7 @@ IS_OMAP_SUBCLASS(443x, 0x443)
286 * cpu_is_omap2423(): True for OMAP2423 287 * cpu_is_omap2423(): True for OMAP2423
287 * cpu_is_omap2430(): True for OMAP2430 288 * cpu_is_omap2430(): True for OMAP2430
288 * cpu_is_omap3430(): True for OMAP3430 289 * cpu_is_omap3430(): True for OMAP3430
290 * cpu_is_omap4430(): True for OMAP4430
289 * cpu_is_omap3505(): True for OMAP3505 291 * cpu_is_omap3505(): True for OMAP3505
290 * cpu_is_omap3517(): True for OMAP3517 292 * cpu_is_omap3517(): True for OMAP3517
291 */ 293 */
@@ -334,6 +336,7 @@ IS_OMAP_TYPE(3517, 0x3517)
334#define cpu_is_omap3505() 0 336#define cpu_is_omap3505() 0
335#define cpu_is_omap3517() 0 337#define cpu_is_omap3517() 0
336#define cpu_is_omap3430() 0 338#define cpu_is_omap3430() 0
339#define cpu_is_omap4430() 0
337#define cpu_is_omap3630() 0 340#define cpu_is_omap3630() 0
338 341
339/* 342/*
@@ -471,9 +474,12 @@ IS_OMAP_TYPE(3517, 0x3517)
471#define CHIP_IS_OMAP3430ES3_0 (1 << 5) 474#define CHIP_IS_OMAP3430ES3_0 (1 << 5)
472#define CHIP_IS_OMAP3430ES3_1 (1 << 6) 475#define CHIP_IS_OMAP3430ES3_1 (1 << 6)
473#define CHIP_IS_OMAP3630ES1 (1 << 7) 476#define CHIP_IS_OMAP3630ES1 (1 << 7)
477#define CHIP_IS_OMAP4430ES1 (1 << 8)
474 478
475#define CHIP_IS_OMAP24XX (CHIP_IS_OMAP2420 | CHIP_IS_OMAP2430) 479#define CHIP_IS_OMAP24XX (CHIP_IS_OMAP2420 | CHIP_IS_OMAP2430)
476 480
481#define CHIP_IS_OMAP4430 (CHIP_IS_OMAP4430ES1)
482
477/* 483/*
478 * "GE" here represents "greater than or equal to" in terms of ES 484 * "GE" here represents "greater than or equal to" in terms of ES
479 * levels. So CHIP_GE_OMAP3430ES2 is intended to match all OMAP3430 485 * levels. So CHIP_GE_OMAP3430ES2 is intended to match all OMAP3430