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

Reply via email to