Re: GPIO debounce problems on 3.2

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

 



On Tue, 31 Jan 2012, Grazvydas Ignotas wrote:

> On Tue, Jan 31, 2012 at 1:39 PM, Grazvydas Ignotas <notasas@xxxxxxxxx> wrote:
> > So when does all wakeup stuff come into effect, when CORE+PER go to
> > low power state? I'm using 3.2 and CORE seems to always be ON
> > (regardless of cpuidle option) except when I suspend I guess. I can
> > get PER state to change if I set serial timeouts, but that doesn't
> > help the GPIO problem.
> 
> There is a strange thing in pm34xx.c, omap_sram_idle() function:
> I've added logging of per_next_state, and it's always 1
> (PWRDM_POWER_RET) for me, however if I check /debug/pm_debug/count ,
> core_pwrdm and per_pwrdm only has 1 for ON and zeros for all other
> states. That function calls gpio debounce clock disable if
> per_next_state < PWRDM_POWER_ON.
> 
> Does that mean this code is preparing for RET but never enters it? 

Probably.  I think what's going on here is that you're hitting the 
hardwired sleep dependency between PER and CORE_L3.   This is documented 
briefly in the 34xx TRM Rev. ZT in Section 4.8.5.1 "Sleep Dependencies".
The PER clockdomain isn't allowed to go to sleep until the CORE_L3 
clockdomain goes to sleep.

Sounds like we may not be handling this correctly in the pm34xx.c code.  
As an aside, I've often thought that we should program the hardcoded sleep 
dependencies into the clockdomain data...

> Maybe GPIO module ends up active but with debounce clock disabled?

Well, whether it's in or out of idle, I'll bet the DEBOUNCENABLE 
bits are still set to 1 while the debounce clock is off :-(  


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