diff mbox

[PATCH/RFC] ARM: OMAP: Initialize MADC clock divider and clock

Message ID 5e088bd90905300640sc9837b4x6055c5c262c18a8c@mail.gmail.com (mailing list archive)
State Rejected, archived
Headers show

Commit Message

Steve Sakoman May 30, 2009, 1:40 p.m. UTC
Though the comment in clocks_init claims to initialize the MADC
clocks, it wasn't actually being done.  This patch implements minimal
MADC clock initialization.

Compile/run tested on Overo (prior to patch MADC access would always timeout)

the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Steve Sakoman June 3, 2009, 8:10 p.m. UTC | #1
Tony,

I noticed your comment requesting all twl4030 patches be submitted to
mainline.  I assume this patch falls into that category too?

Also for those listening in -- no comments on this patch yet!  Does
that mean it looks good?   ;-)

Steve

On Sat, May 30, 2009 at 6:40 AM, Steve Sakoman <sakoman@gmail.com> wrote:
> Though the comment in clocks_init claims to initialize the MADC
> clocks, it wasn't actually being done.  This patch implements minimal
> MADC clock initialization.
>
> Compile/run tested on Overo (prior to patch MADC access would always timeout)
>
> diff --git a/drivers/mfd/twl4030-core.c b/drivers/mfd/twl4030-core.c
> index 769b34b..c5ca36d 100644
> --- a/drivers/mfd/twl4030-core.c
> +++ b/drivers/mfd/twl4030-core.c
> @@ -159,6 +159,7 @@
>
>  /* Few power values */
>  #define R_CFG_BOOT                     0x05
> +#define R_GPBR1                                0x0C
>  #define R_PROTECT_KEY                  0x0E
>
>  /* access control values for R_PROTECT_KEY */
> @@ -166,6 +167,10 @@
>  #define KEY_UNLOCK2                    0xec
>  #define KEY_LOCK                       0x00
>
> +/* MADC clock values for R_GPBR1 */
> +#define MADC_HFCLK_EN                  0x80
> +#define DEFAULT_MADC_CLK_EN            0x10
> +
>  /* some fields in R_CFG_BOOT */
>  #define HFCLK_FREQ_19p2_MHZ            (1 << 0)
>  #define HFCLK_FREQ_26_MHZ              (2 << 0)
> @@ -717,6 +722,11 @@ static void __init clocks_init(struct device *dev)
>        ctrl |= HIGH_PERF_SQ;
>        e |= unprotect_pm_master();
>        /* effect->MADC+USB ck en */
> +
> +       if (twl_has_madc())
> +               e |= twl4030_i2c_write_u8(TWL4030_MODULE_INTBR,
> +                               MADC_HFCLK_EN | DEFAULT_MADC_CLK_EN, R_GPBR1);
> +
>        e |= twl4030_i2c_write_u8(TWL4030_MODULE_PM_MASTER, ctrl, R_CFG_BOOT);
>        e |= protect_pm_master();
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tony Lindgren June 3, 2009, 8:28 p.m. UTC | #2
* Steve Sakoman <sakoman@gmail.com> [090603 13:10]:
> Tony,
> 
> I noticed your comment requesting all twl4030 patches be submitted to
> mainline.  I assume this patch falls into that category too?

Yeah, we should try to make all the patches against mainline now.
 
> Also for those listening in -- no comments on this patch yet!  Does
> that mean it looks good?   ;-)

You should send it to:

$ grep -a7 "MULTIFUNCTION DEVICES" MAINTAINERS
P:      Samuel Ortiz
M:      sameo@linux.intel.com
L:      linux-kernel@vger.kernel.org
T:      git git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6.git
S:      Supported
F:      drivers/mfd/

Tony
 
> Steve
> 
> On Sat, May 30, 2009 at 6:40 AM, Steve Sakoman <sakoman@gmail.com> wrote:
> > Though the comment in clocks_init claims to initialize the MADC
> > clocks, it wasn't actually being done.  This patch implements minimal
> > MADC clock initialization.
> >
> > Compile/run tested on Overo (prior to patch MADC access would always timeout)
> >
> > diff --git a/drivers/mfd/twl4030-core.c b/drivers/mfd/twl4030-core.c
> > index 769b34b..c5ca36d 100644
> > --- a/drivers/mfd/twl4030-core.c
> > +++ b/drivers/mfd/twl4030-core.c
> > @@ -159,6 +159,7 @@
> >
> >  /* Few power values */
> >  #define R_CFG_BOOT                     0x05
> > +#define R_GPBR1                                0x0C
> >  #define R_PROTECT_KEY                  0x0E
> >
> >  /* access control values for R_PROTECT_KEY */
> > @@ -166,6 +167,10 @@
> >  #define KEY_UNLOCK2                    0xec
> >  #define KEY_LOCK                       0x00
> >
> > +/* MADC clock values for R_GPBR1 */
> > +#define MADC_HFCLK_EN                  0x80
> > +#define DEFAULT_MADC_CLK_EN            0x10
> > +
> >  /* some fields in R_CFG_BOOT */
> >  #define HFCLK_FREQ_19p2_MHZ            (1 << 0)
> >  #define HFCLK_FREQ_26_MHZ              (2 << 0)
> > @@ -717,6 +722,11 @@ static void __init clocks_init(struct device *dev)
> >        ctrl |= HIGH_PERF_SQ;
> >        e |= unprotect_pm_master();
> >        /* effect->MADC+USB ck en */
> > +
> > +       if (twl_has_madc())
> > +               e |= twl4030_i2c_write_u8(TWL4030_MODULE_INTBR,
> > +                               MADC_HFCLK_EN | DEFAULT_MADC_CLK_EN, R_GPBR1);
> > +
> >        e |= twl4030_i2c_write_u8(TWL4030_MODULE_PM_MASTER, ctrl, R_CFG_BOOT);
> >        e |= protect_pm_master();
> >
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/mfd/twl4030-core.c b/drivers/mfd/twl4030-core.c
index 769b34b..c5ca36d 100644
--- a/drivers/mfd/twl4030-core.c
+++ b/drivers/mfd/twl4030-core.c
@@ -159,6 +159,7 @@ 

 /* Few power values */
 #define R_CFG_BOOT			0x05
+#define R_GPBR1				0x0C
 #define R_PROTECT_KEY			0x0E

 /* access control values for R_PROTECT_KEY */
@@ -166,6 +167,10 @@ 
 #define KEY_UNLOCK2			0xec
 #define KEY_LOCK			0x00

+/* MADC clock values for R_GPBR1 */
+#define MADC_HFCLK_EN			0x80
+#define DEFAULT_MADC_CLK_EN		0x10
+
 /* some fields in R_CFG_BOOT */
 #define HFCLK_FREQ_19p2_MHZ		(1 << 0)
 #define HFCLK_FREQ_26_MHZ		(2 << 0)
@@ -717,6 +722,11 @@  static void __init clocks_init(struct device *dev)
 	ctrl |= HIGH_PERF_SQ;
 	e |= unprotect_pm_master();
 	/* effect->MADC+USB ck en */
+
+	if (twl_has_madc())
+		e |= twl4030_i2c_write_u8(TWL4030_MODULE_INTBR,
+				MADC_HFCLK_EN | DEFAULT_MADC_CLK_EN, R_GPBR1);
+
 	e |= twl4030_i2c_write_u8(TWL4030_MODULE_PM_MASTER, ctrl, R_CFG_BOOT);
 	e |= protect_pm_master();
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in