Re: [PATCH] twl4030: Fix pwrirq by making sure the module is responding (Re: kernel oops for 3430sdp)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wednesday 08 October 2008, Tony Lindgren wrote:
> > > I suspect that twl is not yet initialized for pwrirq handling at this
> > > point. At least this patch seems to help, 
> > 
> > Did you verify that the value you read isn't 0xff?  Or does the
> > issue seem to be the mere attempt to read a register?
> 
> Yeah, it seems to be 0 first, then 0xf0, then 0xf7, then 0xff. It seems
> that at 0xf0 it still does not work. Values from memory, but something
> like that anyways.

Huh.  Most bizarre.  Oh wait ... that might be explained by
taking a ginormous amount of time to shift out of the 1.5 MHz
clock mode.  See 3.4.12 of the manual:

  When power is first applied to the device, it does not know
  the external HF clock frequency (HFCLK_FREQ has not been set
  by the host processor). To ensure that the power subchip
  registers can be accessed, the default register access
  frequency is 1.5 MHz (1⁄2 of 3 MHz).

Doesn't say how to tell that's happening, or how long it'd take
to change to 3 MHz.  (Which only happens if HFCLK isn't 19.2 MHz.)
Maybe wait for BACKUP_MISC_CFG.PWR_CLK_FREQ to clear... it's
just controlling a simple divide-by-two, not a PLL, so it should
be pretty much immediate.


> > I have a hard time seeing the root cause be anything other than
> > problems in i2c-omap, since the timeouts appear at various other
> > places too.
> 
> Well at least one twl bug was happening when the source clock was
> initialized incorrectly.. And that only happened with one of the twl
> modules.

The issue above?  But we know that HFCLK_FREQ is getting set,
so that wouldn't explain i2c-omap timeouts that show up later.

Or maybe there's another clocking issue...

I hate to look at the i2c-omap, but it really seems like that's
got to be the root cause here.  After all, the timeout message
appears way too quickly for it to be a *legitimate* timeout for
any I2C protocol action.  (SMBus has timeouts.  I2C doesn't...)

- Dave

--
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

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux