This patch creates the architectural macros for OMAP3630.
Signed-off-by: Allen Pais <[email protected]>
arch/arm/mach-omap2/Kconfig | 13 ++
arch/arm/plat-omap/include/mach/cpu.h | 30 +++++-
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 75b1c7e..618b7d5 100755
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -19,11 +19,20 @@ config ARCH_OMAP34XX
bool "OMAP34xx Based System"
depends on ARCH_OMAP3
+config ARCH_OMAP36XX
+ bool "OMAP36xx Based System"
+ depends on ARCH_OMAP3
+
config ARCH_OMAP3430
bool "OMAP3430 support"
depends on ARCH_OMAP3 && ARCH_OMAP34XX
select ARCH_OMAP_OTG
+config ARCH_OMAP3630
+ bool "OMAP3630 support"
+ depends on ARCH_OMAP3 && ARCH_OMAP34XX && ARCH_OMAP36XX
+ select ARCH_OMAP_OTG
+
comment "OMAP Board Type"
depends on ARCH_OMAP2 || ARCH_OMAP3 || ARCH_OMAP4
@@ -73,6 +82,10 @@ config MACH_OMAP_3430SDP
bool "OMAP 3430 SDP board"
depends on ARCH_OMAP3 && ARCH_OMAP34XX
+config MACH_OMAP_3630SDP
+ bool "OMAP 3630 SDP board"
+ depends on ARCH_OMAP3 && ARCH_OMAP34XX & ARCH_OMAP36XX
+
config MACH_NOKIA_N8X0
bool "Nokia N800/N810"
depends on ARCH_OMAP2420
diff --git a/arch/arm/plat-omap/include/mach/cpu.h
b/arch/arm/plat-omap/include/mach/cpu.h
index 7a5f9e8..73c656c 100755
--- a/arch/arm/plat-omap/include/mach/cpu.h
+++ b/arch/arm/plat-omap/include/mach/cpu.h
@@ -157,10 +157,12 @@ IS_OMAP_CLASS(15xx, 0x15)
IS_OMAP_CLASS(16xx, 0x16)
IS_OMAP_CLASS(24xx, 0x24)
IS_OMAP_CLASS(34xx, 0x34)
+IS_OMAP_CLASS(36xx, 0x36)
IS_OMAP_SUBCLASS(242x, 0x242)
IS_OMAP_SUBCLASS(243x, 0x243)
IS_OMAP_SUBCLASS(343x, 0x343)
+IS_OMAP_SUBCLASS(363x, 0x363)
#define cpu_is_omap7xx() 0
#define cpu_is_omap15xx() 0
@@ -170,6 +172,8 @@ IS_OMAP_SUBCLASS(343x, 0x343)
#define cpu_is_omap243x() 0
#define cpu_is_omap34xx() 0
#define cpu_is_omap343x() 0
+#define cpu_is_omap36xx() 0
+#define cpu_is_omap363x() 0
#define cpu_is_omap44xx() 0
#define cpu_is_omap443x() 0
@@ -245,6 +249,14 @@ IS_OMAP_SUBCLASS(343x, 0x343)
# undef cpu_is_omap343x
# define cpu_is_omap343x() 1
# endif
+# if defined(CONFIG_ARCH_OMAP36XX)
+# undef cpu_is_omap36xx
+# define cpu_is_omap36xx() 1
+# endif
+# if defined(CONFIG_ARCH_OMAP3630)
+# undef cpu_is_omap363x
+# define cpu_is_omap363x() 1
+# endif
#endif
/*
@@ -287,6 +299,7 @@ IS_OMAP_TYPE(2422, 0x2422)
IS_OMAP_TYPE(2423, 0x2423)
IS_OMAP_TYPE(2430, 0x2430)
IS_OMAP_TYPE(3430, 0x3430)
+IS_OMAP_TYPE(3630, 0x3630)
#define cpu_is_omap310() 0
#define cpu_is_omap730() 0
@@ -302,6 +315,7 @@ IS_OMAP_TYPE(3430, 0x3430)
#define cpu_is_omap2423() 0
#define cpu_is_omap2430() 0
#define cpu_is_omap3430() 0
+#define cpu_is_omap3630() 0
/*
* Whether we have MULTI_OMAP1 or not, we still need to distinguish
@@ -354,6 +368,11 @@ IS_OMAP_TYPE(3430, 0x3430)
# define cpu_is_omap3430() is_omap3430()
#endif
+#if defined(CONFIG_ARCH_OMAP36XX)
+# undef cpu_is_omap3630
+# define cpu_is_omap3630() 1
+#endif
+
# if defined(CONFIG_ARCH_OMAP4)
# undef cpu_is_omap44xx
# undef cpu_is_omap443x
@@ -365,7 +384,7 @@ IS_OMAP_TYPE(3430, 0x3430)
#define cpu_class_is_omap1() (cpu_is_omap7xx() || cpu_is_omap15xx() || \
cpu_is_omap16xx())
#define cpu_class_is_omap2() (cpu_is_omap24xx() || cpu_is_omap34xx() || \
- cpu_is_omap44xx())
+ cpu_is_omap36xx || cpu_is_omap44xx())
/* Various silicon revisions for omap2 */
#define OMAP242X_CLASS 0x24200024
@@ -382,6 +401,9 @@ IS_OMAP_TYPE(3430, 0x3430)
#define OMAP3430_REV_ES3_0 0x34303034
#define OMAP3430_REV_ES3_1 0x34304034
+#define OMAP363X_CLASS 0x36300036
+#define OMAP3630_REV_ES1_0 0x36300036
+
#define OMAP443X_CLASS 0x44300034
/*
@@ -406,6 +428,12 @@ IS_OMAP_TYPE(3430, 0x3430)
#define CHIP_IS_OMAP3430ES3_0 (1 << 5)
#define CHIP_IS_OMAP3430ES3_1 (1 << 6)
+/* OMAP 3630 CHIP is backword compatible to 3430
+ * 3630 ES1 IS compatible with 3430 ES2 */
+
+#define CHIP_IS_OMAP3630 (1 << 2)
+#define CHIP_IS_OMAP3630ES1 (1 << 4)
+
#define CHIP_IS_OMAP24XX (CHIP_IS_OMAP2420 | CHIP_IS_OMAP2430)
/*
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html