On Št, 2008-01-24 at 21:45 +0200, Paul Sokolovsky wrote:
> Hello Milan,
>
> Thursday, January 24, 2008, 10:58:11 AM, you wrote:
>
> > mq11xx_base driver (at least mq1100fb using mq11xx_base portion)
>
> > From: Milan Plzik <milan.plzik_at_gmail.com>
>
> > tends to malfunction on h5000 series after booting linux from haret, or
> > reseting device with active framebuffer. This patch adds mq11xx reset
> > to the start of initialization routine, so chip is always in
> > well-defined state.
> > ---
>
> > drivers/mfd/mq11xx_base.c | 4 ++++
> > 1 files changed, 4 insertions(+), 0 deletions(-)
>
> > diff --git a/drivers/mfd/mq11xx_base.c b/drivers/mfd/mq11xx_base.c
> > index 91a1d98..0506d56 100644
> > --- a/drivers/mfd/mq11xx_base.c
> > +++ b/drivers/mfd/mq11xx_base.c
> > @@ -435,6 +435,10 @@ mq11xx_init (struct mq_data *mqdata)
> > endian = endian | (endian << 4);
> > endian = endian | (endian << 8);
> > *((u16 *)&mqdata->base.regs->DC.config_0) = endian;
> > +
> > + /* Reset the chip, so we don't need to worry about previous state */
> > + mqdata->base.regs->DC.config_1 |= MQ_CONFIG_SOFTWARE_CHIP_RESET;
> > +
>
> Here apparently should be some delay, no?
It works correctly without delay as well and documentation
unfortunately doesn't say anything (there is nothing written about
delays at all). 100ms should be sufficient for almost anything, but I
don't like using ad-hoc constants, so I did not include any mdelay. And
therefore there is also request to test it (afaik h2220 also uses
mq11xx_base.c:)
>
> >
> > /* First of all, enable the oscillator clock */
> > mqdata->base.regs->DC.config_1 = mqdata->mq_init->DC [1];
> > /* Wait for oscillator to run - 30ms doesnt suffice */
>
>
Milan
Received on Fri Jan 25 2008 - 03:41:48 EST
This archive was generated by hypermail 2.2.0 : Fri Jan 25 2008 - 03:42:04 EST