public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] 3430 clock: minor cleanup patches
@ 2007-12-04  9:26 Paul Walmsley
  2007-12-04  9:26 ` [PATCH 1/4] 3430 clock: 3430 clock: enable SCM clock at boot Paul Walmsley
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Paul Walmsley @ 2007-12-04  9:26 UTC (permalink / raw)
  To: linux-omap; +Cc: linux-omap-open-source

Hello,

These patches clean up a few minor issues with the OMAP3430 clock
framework.  They:

- ensure that the System Control Module is enabled at clock framework init;

- combine some redundant clksel_rate structures;

- add the ICR clock, present on both 3430ES versions in chassis mode; and

- resolve the "Enable for xxx without enable code" warnings that
  appear in 3430 bootlog.


Boot-tested on 3430ES1 SDP.  Comments welcome.


- Paul


diffstat:

 arch/arm/mach-omap2/clock34xx.h |  128 +++++++++++++++++++++++-----------------
 1 file changed, 76 insertions(+), 52 deletions(-)

size:

   text    data     bss     dec     hex filename
2885268  147008   96280 3128556  2fbcec vmlinux.3430sdp.orig
2885164  147088   96280 3128532  2fbcd4 vmlinux.3430sdp.patched

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/4] 3430 clock: 3430 clock: enable SCM clock at boot
  2007-12-04  9:26 [PATCH 0/4] 3430 clock: minor cleanup patches Paul Walmsley
@ 2007-12-04  9:26 ` Paul Walmsley
  2007-12-04  9:26 ` [PATCH 2/4] 3430 clock: 3430 clock: combine div2_rates Paul Walmsley
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Paul Walmsley @ 2007-12-04  9:26 UTC (permalink / raw)
  To: linux-omap; +Cc: linux-omap-open-source

[-- Attachment #1: 3430_enable_omapctrl_on_init.patch --]
[-- Type: text/plain, Size: 773 bytes --]

As we do with 24xx, enable the System Control Module iclk at boot.

Signed-off-by: Paul Walmsley <paul@pwsan.com>


---
 arch/arm/mach-omap2/clock34xx.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-omap/arch/arm/mach-omap2/clock34xx.h
===================================================================
--- linux-omap.orig/arch/arm/mach-omap2/clock34xx.h	2007-12-02 09:51:11.000000000 -0700
+++ linux-omap/arch/arm/mach-omap2/clock34xx.h	2007-12-02 09:51:40.000000000 -0700
@@ -1337,7 +1337,7 @@
 	.parent		= &core_l4_ick,
 	.enable_reg	= OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
 	.enable_bit	= OMAP3430_EN_OMAPCTRL_SHIFT,
-	.flags		= CLOCK_IN_OMAP343X,
+	.flags		= CLOCK_IN_OMAP343X | ENABLE_ON_INIT,
 	.recalc		= &followparent_recalc,
 };
 

-- 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 2/4] 3430 clock: 3430 clock: combine div2_rates
  2007-12-04  9:26 [PATCH 0/4] 3430 clock: minor cleanup patches Paul Walmsley
  2007-12-04  9:26 ` [PATCH 1/4] 3430 clock: 3430 clock: enable SCM clock at boot Paul Walmsley
@ 2007-12-04  9:26 ` Paul Walmsley
  2007-12-04  9:26 ` [PATCH 3/4] 3430 clock: Add missing ICR clock Paul Walmsley
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Paul Walmsley @ 2007-12-04  9:26 UTC (permalink / raw)
  To: linux-omap; +Cc: linux-omap-open-source

[-- Attachment #1: 3430_coalesce_div2_rates.patch --]
[-- Type: text/plain, Size: 1933 bytes --]

Several 3430 clocks have separate, identical clksel_rate structures
that pass through the full parent rate, or divide it by 2 - combine
these structures.

Signed-off-by: Paul Walmsley <paul@pwsan.com>


---
 arch/arm/mach-omap2/clock34xx.h |   18 +++---------------
 1 file changed, 3 insertions(+), 15 deletions(-)

Index: linux-omap/arch/arm/mach-omap2/clock34xx.h
===================================================================
--- linux-omap.orig/arch/arm/mach-omap2/clock34xx.h	2007-11-30 17:56:56.000000000 -0700
+++ linux-omap/arch/arm/mach-omap2/clock34xx.h	2007-11-30 17:57:10.000000000 -0700
@@ -151,14 +151,14 @@
 	.recalc		= &omap2_clksel_recalc,
 };
 
-static const struct clksel_rate sys_osc_rates[] = {
+static const struct clksel_rate div2_rates[] = {
 	{ .div = 1, .val = 1, .flags = RATE_IN_343X | DEFAULT_RATE },
 	{ .div = 2, .val = 2, .flags = RATE_IN_343X },
 	{ .div = 0 }
 };
 
 static const struct clksel sys_clksel[] = {
-	{ .parent = &osc_sys_ck, .rates = sys_osc_rates },
+	{ .parent = &osc_sys_ck, .rates = div2_rates },
 	{ .parent = NULL }
 };
 
@@ -307,12 +307,6 @@
 	{ .div = 0 }
 };
 
-static const struct clksel_rate div2_rates[] = {
-	{ .div = 1, .val = 1, .flags = RATE_IN_343X | DEFAULT_RATE },
-	{ .div = 2, .val = 2, .flags = RATE_IN_343X },
-	{ .div = 0 },
-};
-
 static const struct clksel div2_dpll3m2_clksel[] = {
 	{ .parent = &dpll3_ck, .rates = div2_rates },
 	{ .parent = NULL }
@@ -1362,14 +1356,8 @@
 /* REVISIT: Technically the TRM claims that this is CORE_CLK based,
  * but l4_ick makes more sense to me */
 
-static const struct clksel_rate usb_l4_l4_rates[] = {
-	{ .div = 1, .val = 1, .flags = RATE_IN_343X | DEFAULT_RATE },
-	{ .div = 2, .val = 2, .flags = RATE_IN_343X },
-	{ .div = 0 }
-};
-
 static const struct clksel usb_l4_clksel[] = {
-	{ .parent = &l4_ick, .rates = usb_l4_l4_rates },
+	{ .parent = &l4_ick, .rates = div2_rates },
 	{ .parent = NULL },
 };
 

-- 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 3/4] 3430 clock: Add missing ICR clock
  2007-12-04  9:26 [PATCH 0/4] 3430 clock: minor cleanup patches Paul Walmsley
  2007-12-04  9:26 ` [PATCH 1/4] 3430 clock: 3430 clock: enable SCM clock at boot Paul Walmsley
  2007-12-04  9:26 ` [PATCH 2/4] 3430 clock: 3430 clock: combine div2_rates Paul Walmsley
@ 2007-12-04  9:26 ` Paul Walmsley
  2007-12-04  9:26 ` [PATCH 4/4] 3430 clock: Fix missing enable warnings from various clocks Paul Walmsley
  2007-12-05 22:41 ` [PATCH 0/4] 3430 clock: minor cleanup patches Tony Lindgren
  4 siblings, 0 replies; 6+ messages in thread
From: Paul Walmsley @ 2007-12-04  9:26 UTC (permalink / raw)
  To: linux-omap; +Cc: linux-omap-open-source

[-- Attachment #1: 3430_add_icr_clock.patch --]
[-- Type: text/plain, Size: 1042 bytes --]

Add the 3430 clock for the ICR.

Signed-off-by: Paul Walmsley <paul@pwsan.com>

---
 arch/arm/mach-omap2/clock34xx.h |   11 +++++++++++
 1 file changed, 11 insertions(+)

Index: linux-omap/arch/arm/mach-omap2/clock34xx.h
===================================================================
--- linux-omap.orig/arch/arm/mach-omap2/clock34xx.h	2007-12-04 01:55:14.000000000 -0700
+++ linux-omap/arch/arm/mach-omap2/clock34xx.h	2007-12-04 01:55:58.000000000 -0700
@@ -1125,6 +1125,16 @@
 	.recalc		= &followparent_recalc,
 };
 
+/* Intersystem Communication Registers - chassis mode only */
+static struct clk icr_ick = {
+	.name		= "icr_ick",
+	.parent		= &core_l4_ick,
+	.enable_reg	= OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
+	.enable_bit	= OMAP3430_EN_ICR_SHIFT,
+	.flags		= CLOCK_IN_OMAP343X,
+	.recalc		= &followparent_recalc,
+};
+
 static struct clk aes2_ick = {
 	.name		= "aes2_ick",
 	.parent		= &core_l4_ick,
@@ -2265,6 +2275,7 @@
 	&security_l3_ick,
 	&pka_ick,
 	&core_l4_ick,
+	&icr_ick,
 	&aes2_ick,
 	&sha12_ick,
 	&des2_ick,

-- 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 4/4] 3430 clock: Fix missing enable warnings from various clocks
  2007-12-04  9:26 [PATCH 0/4] 3430 clock: minor cleanup patches Paul Walmsley
                   ` (2 preceding siblings ...)
  2007-12-04  9:26 ` [PATCH 3/4] 3430 clock: Add missing ICR clock Paul Walmsley
@ 2007-12-04  9:26 ` Paul Walmsley
  2007-12-05 22:41 ` [PATCH 0/4] 3430 clock: minor cleanup patches Tony Lindgren
  4 siblings, 0 replies; 6+ messages in thread
From: Paul Walmsley @ 2007-12-04  9:26 UTC (permalink / raw)
  To: linux-omap; +Cc: linux-omap-open-source

[-- Attachment #1: 3430_resolve_clock_warnings.patch --]
[-- Type: text/plain, Size: 10637 bytes --]

This patch marks all of the 3430 clocks that are missing enable information
with either the ALWAYS_ENABLED or PARENT_CONTROLS_CLOCK clock flags, as deemed
appropriate.

Signed-off-by: Paul Walmsley <paul@pwsan.com>

---
 arch/arm/mach-omap2/clock34xx.h |   97 +++++++++++++++++++++++++---------------
 1 file changed, 61 insertions(+), 36 deletions(-)

Index: linux-omap/arch/arm/mach-omap2/clock34xx.h
===================================================================
--- linux-omap.orig/arch/arm/mach-omap2/clock34xx.h	2007-12-04 02:14:15.000000000 -0700
+++ linux-omap/arch/arm/mach-omap2/clock34xx.h	2007-12-04 02:21:09.000000000 -0700
@@ -223,7 +223,7 @@
 	.name		= "dpll1_ck",
 	.parent		= &sys_ck,
 	.dpll_data	= &dpll1_dd,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES | ALWAYS_ENABLED,
 	.recalc		= &omap3_dpll_recalc,
 };
 
@@ -234,7 +234,8 @@
 static struct clk emu_mpu_alwon_ck = {
 	.name		= "emu_mpu_alwon_ck",
 	.parent		= &dpll1_ck,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &followparent_recalc,
 };
 
@@ -259,7 +260,7 @@
 	.name		= "dpll2_ck",
 	.parent		= &sys_ck,
 	.dpll_data	= &dpll2_dd,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES | ALWAYS_ENABLED,
 	.recalc		= &omap3_dpll_recalc,
 };
 
@@ -283,7 +284,7 @@
 	.name		= "dpll3_ck",
 	.parent		= &sys_ck,
 	.dpll_data	= &dpll3_dd,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES | ALWAYS_ENABLED,
 	.recalc		= &omap3_dpll_recalc,
 };
 
@@ -324,14 +325,16 @@
 	.clksel_reg	= OMAP_CM_REGADDR(PLL_MOD, CM_CLKSEL1),
 	.clksel_mask	= OMAP3430_CORE_DPLL_CLKOUT_DIV_MASK,
 	.clksel		= div2_dpll3m2_clksel,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &omap2_clksel_recalc,
 };
 
 static struct clk core_ck = {
 	.name		= "core_ck",
 	.parent		= &dpll3_m2_ck,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &followparent_recalc,
 };
 
@@ -342,14 +345,16 @@
 static struct clk dpll3_x2_ck = {
 	.name		= "dpll3_x2_ck",
 	.parent		= &core_ck,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &omap3_clkoutx2_recalc,
 };
 
 static struct clk dpll3_m2x2_ck = {
 	.name		= "dpll3_m2x2_ck",
 	.parent		= &dpll3_x2_ck,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &followparent_recalc,
 };
 
@@ -397,7 +402,7 @@
 	.name		= "dpll4_ck",
 	.parent		= &sys_ck,
 	.dpll_data	= &dpll4_dd,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES | ALWAYS_ENABLED,
 	.recalc		= &omap3_dpll_recalc,
 };
 
@@ -408,7 +413,8 @@
 static struct clk dpll4_x2_ck = {
 	.name		= "dpll4_x2_ck",
 	.parent		= &dpll4_ck,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &omap3_clkoutx2_recalc,
 };
 
@@ -450,7 +456,8 @@
 static struct clk cm_96m_fck = {
 	.name		= "cm_96m_fck",
 	.parent		= &dpll4_m2x2_ck,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &followparent_recalc,
 };
 
@@ -480,7 +487,7 @@
 
 static const struct clksel omap_54m_clksel[] = {
 	{ .parent = &dpll4_m3x2_ck, .rates = omap_54m_d4m3x2_rates },
-	{ .parent = &sys_altclk,     .rates = omap_54m_alt_rates },
+	{ .parent = &sys_altclk,    .rates = omap_54m_alt_rates },
 	{ .parent = NULL }
 };
 
@@ -490,7 +497,8 @@
 	.clksel_reg	= OMAP_CM_REGADDR(PLL_MOD, CM_CLKSEL1),
 	.clksel_mask	= OMAP3430_SOURCE_54M,
 	.clksel		= omap_54m_clksel,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &omap2_clksel_recalc,
 };
 
@@ -516,7 +524,8 @@
 	.clksel_reg	= OMAP_CM_REGADDR(PLL_MOD, CM_CLKSEL1),
 	.clksel_mask	= OMAP3430_SOURCE_48M,
 	.clksel		= omap_48m_clksel,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &omap2_clksel_recalc,
 };
 
@@ -524,7 +533,8 @@
 	.name		= "omap_12m_fck",
 	.parent		= &omap_48m_fck,
 	.fixed_div	= 4,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &omap2_fixed_divisor_recalc,
 };
 
@@ -573,7 +583,8 @@
 static struct clk emu_per_alwon_ck = {
 	.name		= "emu_per_alwon_ck",
 	.parent		= &dpll4_m6x2_ck,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &followparent_recalc,
 };
 
@@ -649,7 +660,8 @@
 static struct clk corex2_fck = {
 	.name		= "corex2_fck",
 	.parent		= &dpll3_m2x2_ck,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &followparent_recalc,
 };
 
@@ -671,7 +683,8 @@
 	.clksel_reg	= OMAP_CM_REGADDR(MPU_MOD, OMAP3430_CM_CLKSEL1_PLL),
 	.clksel_mask	= OMAP3430_MPU_CLK_SRC_MASK,
 	.clksel		= div2_core_clksel,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &omap2_clksel_recalc,
 };
 
@@ -682,7 +695,8 @@
 	.clksel_reg	= OMAP_CM_REGADDR(OMAP3430_IVA2_MOD, OMAP3430_CM_CLKSEL1_PLL),
 	.clksel_mask	= OMAP3430_IVA2_CLK_SRC_MASK,
 	.clksel		= div2_core_clksel,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &omap2_clksel_recalc,
 };
 
@@ -695,7 +709,8 @@
 	.clksel_reg	= OMAP_CM_REGADDR(CORE_MOD, CM_CLKSEL),
 	.clksel_mask	= OMAP3430_CLKSEL_L3_MASK,
 	.clksel		= div2_core_clksel,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &omap2_clksel_recalc,
 };
 
@@ -711,7 +726,8 @@
 	.clksel_reg	= OMAP_CM_REGADDR(CORE_MOD, CM_CLKSEL),
 	.clksel_mask	= OMAP3430_CLKSEL_L4_MASK,
 	.clksel		= div2_l3_clksel,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &omap2_clksel_recalc,
 
 };
@@ -728,7 +744,7 @@
 	.clksel_reg	= OMAP_CM_REGADDR(WKUP_MOD, CM_CLKSEL),
 	.clksel_mask	= OMAP3430_CLKSEL_RM_MASK,
 	.clksel		= div2_l4_clksel,
-	.flags		= CLOCK_IN_OMAP343X,
+	.flags		= CLOCK_IN_OMAP343X | PARENT_CONTROLS_CLOCK,
 	.recalc		= &omap2_clksel_recalc,
 };
 
@@ -940,7 +956,8 @@
 static struct clk core_48m_fck = {
 	.name		= "core_48m_fck",
 	.parent		= &omap_48m_fck,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &followparent_recalc,
 };
 
@@ -1012,7 +1029,8 @@
 static struct clk core_12m_fck = {
 	.name		= "core_12m_fck",
 	.parent		= &omap_12m_fck,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &followparent_recalc,
 };
 
@@ -1058,7 +1076,7 @@
 	.name		= "ssi_sst_fck",
 	.parent		= &ssi_ssr_fck,
 	.fixed_div	= 2,
-	.flags		= CLOCK_IN_OMAP343X,
+	.flags		= CLOCK_IN_OMAP343X | PARENT_CONTROLS_CLOCK,
 	.recalc		= &omap2_fixed_divisor_recalc,
 };
 
@@ -1069,7 +1087,8 @@
 static struct clk core_l3_ick = {
 	.name		= "core_l3_ick",
 	.parent		= &l3_ick,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &followparent_recalc,
 };
 
@@ -1094,7 +1113,7 @@
 static struct clk gpmc_fck = {
 	.name		= "gpmc_fck",
 	.parent		= &core_l3_ick,
-	.flags		= CLOCK_IN_OMAP343X,
+	.flags		= CLOCK_IN_OMAP343X | PARENT_CONTROLS_CLOCK,
 	.recalc		= &followparent_recalc,
 };
 
@@ -1103,7 +1122,8 @@
 static struct clk security_l3_ick = {
 	.name		= "security_l3_ick",
 	.parent		= &l3_ick,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &followparent_recalc,
 };
 
@@ -1121,7 +1141,8 @@
 static struct clk core_l4_ick = {
 	.name		= "core_l4_ick",
 	.parent		= &l4_ick,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &followparent_recalc,
 };
 
@@ -1391,7 +1412,8 @@
 static struct clk security_l4_ick2 = {
 	.name		= "security_l4_ick2",
 	.parent		= &l4_ick,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &followparent_recalc,
 };
 
@@ -1533,7 +1555,7 @@
 static struct clk wkup_32k_fck = {
 	.name		= "wkup_32k_fck",
 	.parent		= &omap_32k_fck,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES | ALWAYS_ENABLED,
 	.recalc		= &followparent_recalc,
 };
 
@@ -1558,7 +1580,7 @@
 static struct clk wkup_l4_ick = {
 	.name		= "wkup_l4_ick",
 	.parent		= &sys_ck,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES | ALWAYS_ENABLED,
 	.recalc		= &followparent_recalc,
 };
 
@@ -1623,14 +1645,16 @@
 static struct clk per_96m_fck = {
 	.name		= "per_96m_fck",
 	.parent		= &omap_96m_alwon_fck,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &followparent_recalc,
 };
 
 static struct clk per_48m_fck = {
 	.name		= "per_48m_fck",
 	.parent		= &omap_48m_fck,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &followparent_recalc,
 };
 
@@ -1742,7 +1766,7 @@
 static struct clk per_32k_alwon_fck = {
 	.name		= "per_32k_alwon_fck",
 	.parent		= &omap_32k_fck,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES | ALWAYS_ENABLED,
 	.recalc		= &followparent_recalc,
 };
 
@@ -1803,7 +1827,8 @@
 static struct clk per_l4_ick = {
 	.name		= "per_l4_ick",
 	.parent		= &l4_ick,
-	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+	.flags		= CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+				PARENT_CONTROLS_CLOCK,
 	.recalc		= &followparent_recalc,
 };
 

-- 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/4] 3430 clock: minor cleanup patches
  2007-12-04  9:26 [PATCH 0/4] 3430 clock: minor cleanup patches Paul Walmsley
                   ` (3 preceding siblings ...)
  2007-12-04  9:26 ` [PATCH 4/4] 3430 clock: Fix missing enable warnings from various clocks Paul Walmsley
@ 2007-12-05 22:41 ` Tony Lindgren
  4 siblings, 0 replies; 6+ messages in thread
From: Tony Lindgren @ 2007-12-05 22:41 UTC (permalink / raw)
  To: Paul Walmsley; +Cc: linux-omap, linux-omap-open-source

* Paul Walmsley <paul@pwsan.com> [071204 01:31]:
> Hello,
> 
> These patches clean up a few minor issues with the OMAP3430 clock
> framework.  They:
> 
> - ensure that the System Control Module is enabled at clock framework init;
> 
> - combine some redundant clksel_rate structures;
> 
> - add the ICR clock, present on both 3430ES versions in chassis mode; and
> 
> - resolve the "Enable for xxx without enable code" warnings that
>   appear in 3430 bootlog.
> 
> 
> Boot-tested on 3430ES1 SDP.  Comments welcome.

Pushing today.

Tony

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-12-05 22:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-04  9:26 [PATCH 0/4] 3430 clock: minor cleanup patches Paul Walmsley
2007-12-04  9:26 ` [PATCH 1/4] 3430 clock: 3430 clock: enable SCM clock at boot Paul Walmsley
2007-12-04  9:26 ` [PATCH 2/4] 3430 clock: 3430 clock: combine div2_rates Paul Walmsley
2007-12-04  9:26 ` [PATCH 3/4] 3430 clock: Add missing ICR clock Paul Walmsley
2007-12-04  9:26 ` [PATCH 4/4] 3430 clock: Fix missing enable warnings from various clocks Paul Walmsley
2007-12-05 22:41 ` [PATCH 0/4] 3430 clock: minor cleanup patches Tony Lindgren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox