Subject: [PATCH v2 04/14] ARM: OMAP5: Add minimal support for OMAP5430 SOC

From: [email-masked] (Tony Lindgren)
Date: Mon, 9 Jul 2012 06:11:58 -0700

* Vaibhav Hiremath <[email-masked]> [120709 01:55]:
> On 7/6/2012 2:51 PM, Santosh Shilimkar wrote:
> > --- a/arch/arm/plat-omap/include/plat/clkdev_omap.h
> > +++ b/arch/arm/plat-omap/include/plat/clkdev_omap.h
> > @@ -39,6 +39,7 @@ struct omap_clk {
> >  #define CK_443X		(1 << 11)
> >  #define CK_TI816X	(1 << 12)
> >  #define CK_446X		(1 << 13)
> > +#define CK_54XX		(1 << 14)
> 
> This is conflicting with AM33XX, you may want to rebase it again, since
> AM33xx clock tree is already pushed and available in
> linux-omap/devel-am33xx-part2.

Heh these CK_XXXX defines are now running out of the u16 cpu_mask.

They really should be replaced with SoC specific lists of clocks
rather than bloating the cpu_mask and repeating it for every clock
that's compiled in for 800+ times.

Below (untested) is what could be done in the short term.

I wonder if we could #define CK_OMAP_DUMMY 0 that's always set
for non-shared clocks if they only get set in some *_data.c
file in a unique way?

Paul got any better ideas?

Regards,

Tony

--- a/arch/arm/plat-omap/include/plat/clkdev_omap.h
+++ b/arch/arm/plat-omap/include/plat/clkdev_omap.h
@@ -26,26 +26,29 @@ struct omap_clk {
 	}
 
 /* Platform flags for the clkdev-OMAP integration code */
+
+#ifdef CONFIG_ARCH_OMAP1
 #define CK_310		(1 << 0)
 #define CK_7XX		(1 << 1)	/* 7xx, 850 */
 #define CK_1510		(1 << 2)
 #define CK_16XX		(1 << 3)	/* 16xx, 17xx, 5912 */
-#define CK_242X		(1 << 4)
-#define CK_243X		(1 << 5)	/* 243x, 253x */
-#define CK_3430ES1	(1 << 6)	/* 34xxES1 only */
-#define CK_3430ES2PLUS	(1 << 7)	/* 34xxES2, ES3, non-Sitara 35xx only */
-#define CK_AM35XX	(1 << 9)	/* Sitara AM35xx */
-#define CK_36XX		(1 << 10)	/* 36xx/37xx-specific clocks */
-#define CK_443X		(1 << 11)
-#define CK_TI816X	(1 << 12)
-#define CK_446X		(1 << 13)
-#define CK_AM33XX	(1 << 14)	/* AM33xx specific clocks */
-#define CK_1710		(1 << 15)	/* 1710 extra for rate selection */
-
+#define CK_1710		(1 << 4)	/* 1710 extra for rate selection */
+#endif
 
+#ifdef CONFIG_ARCH_OMAP2PLUS
+#define CK_242X		(1 << 0)
+#define CK_243X		(1 << 1)	/* 243x, 253x */
+#define CK_3430ES1	(1 << 2)	/* 34xxES1 only */
+#define CK_3430ES2PLUS	(1 << 3)	/* 34xxES2, ES3, non-Sitara 35xx only */
+#define CK_AM35XX	(1 << 4)	/* Sitara AM35xx */
+#define CK_36XX		(1 << 5)	/* 36xx/37xx-specific clocks */
+#define CK_443X		(1 << 6)
+#define CK_TI816X	(1 << 7)
+#define CK_446X		(1 << 8)
+#define CK_AM33XX	(1 << 9)	/* AM33xx specific clocks */
 #define CK_34XX		(CK_3430ES1 | CK_3430ES2PLUS)
 #define CK_3XXX		(CK_34XX | CK_AM35XX | CK_36XX)
-
+#endif
 
 #endif