Hi Sergio, I agree to the point you stated, that 34xx should not depend on 36xx, this would call for code duplication in my opinion. we'll need to add many more files in the mach-omap2/ w.r.t to 36xx. I don't see a approach which could reduce the duplication, any comments on the same would be very helpful to us. Thanks - Allen ________________________________________ From: Aguirre Rodriguez, Sergio Alberto Sent: Monday, September 21, 2009 2:41 PM To: Pais, Allen; linux-omap@xxxxxxxxxxxxxxx; Raju, Veeramanikandan; Bongale, Hariprasad Subject: RE: [PATCH][RFC] OMAP3630: Create architecture macros and config entries. Allen, Some comments inlined below: > -----Original Message----- > From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap- > owner@xxxxxxxxxxxxxxx] On Behalf Of Pais, Allen > Sent: Sunday, September 20, 2009 2:47 AM > To: linux-omap@xxxxxxxxxxxxxxx; Raju, Veeramanikandan; Bongale, Hariprasad > Subject: [PATCH][RFC] OMAP3630: Create architecture macros and config > entries. > > > This patch creates the architectural macros for OMAP3630. > > Signed-off-by: Allen Pais <allen.pais@xxxxxx> > > 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 Why not: depends on ARCH_OMAP3 && ARCH_OMAP36XX ? IMHO, the 36XX support shouldn't depend on 34XX. > + 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 */ I think its enough to say: /* OMAP 3630 ES1 chip is backwards compatible with 3430 ES2 */ That's all the comments I have. Regards, Sergio > + > +#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 majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html