[PATCH 1/2] OMAP2+: UART: Fix incorrect population of default uart pads
Kevin Hilman
khilman at ti.com
Mon May 7 13:39:12 EDT 2012
Tony Lindgren <tony at atomide.com> writes:
> * Raja, Govindraj <govindraj.raja at ti.com> [120424 01:41]:
>> On Tue, Apr 24, 2012 at 5:15 AM, Kevin Hilman <khilman at ti.com> wrote:
>> > "Govindraj.R" <govindraj.raja at ti.com> writes:
>> >
>> >> From: "Govindraj.R" <govindraj.raja at ti.com>
>> >>
>> >> The following commit:
>> >> (7496ba3 ARM: OMAP2+: UART: Add default mux for all uarts)
>> >> added default pads for all uarts. But not all boards tend to
>> >> use all uarts and most of unused uart pins are muxed for
>> >> other purpose. This commit breaks the modules which where trying
>> >> to use unused uart pins on their boards.
>> >>
>> >> So remove the default pads adding.
>> >
>> > I just noticed that this patch breaks runtime PM & wakeups for UART
>> > console (at least on 3530/Overo with ttyO2 console.)
>> >
>> > By removing the pads, the initial device_init_wakeup() is not called on
>> > port init. Without this call serial_omap_pm() disables runtime PM
>> > because it checks device_may_wakeup().
>> >
>> > Since runtime PM was disabled, I manually re-enabled it and then enabled
>> > wakeups:
>> >
>> > echo auto > /sys/devices/platform/omap_uart.2/power/control
>> > echo enabled > /sys/devices/platform/omap_uart.2/tty/ttyO2/power/wakeup
>> >
>> > Then, after enabling auto-suspend timeouts, it seems wakeups are still
>> > not working since the console hangs.
>> >
>> > Reverting $SUBJECT patch gets things working again.
>>
>> This was decided as part of discussion [1]
>>
>> If we are _reconsidering_ taking this patch [2]
>> to dynamically probe uart pins and enable rx wakeup.
>>
>> I can re-work on the patch[2] as per tony's comments[1]
>> and re-post it.
>
> Just to follow up on this.. Let's first get things working reliably,
> and only then add more PM support.
>
> We absolutely can't revert $SUBJECT because it's known to mess up
> at least smsc911x and ehci on zoom3, hsi on n900 and probably
> many other things.
>
> For the -rc cycle, it seems that [2] is out of question at this point
> as too intrusive. If the PM & wakeups are broken in the default cases,
> then I suggest we just take few steps back and disable any deeper PM
> states in the -rc series.
Unfortunately, no need to do anything more to disable deeper PM states.
Because $SUBJECT disables runtime PM for UART, it keeps both PER and
CORE on all the time. :(
Kevin
More information about the linux-arm-kernel
mailing list