lkml.org 
[lkml]   [2008]   [Jan]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: at91sam9260 wakeup on serial port
From
Hi,
> On Monday 28 January 2008, Haavard Skinnemoen wrote:
>> On Mon, 28 Jan 2008 12:15:00 +0100
>> michael <trimarchi@gandalf.sssup.it> wrote:
>>
>> > Hi,
>> > I implement a little patch (ndr just for a try) for the atmel serial
>> > driver atmel_serial.c to wakeup the system when it is in suspend-ram
>> state.
>> > I reconfigure the RXD pin as a gpio in suspend function and restore it
>> > in the resume function. It is the correct way?
>>
>> I'm not sure...this is rather platform-specific, so I don't think it
>> really belongs in the atmel_serial() driver. One solution might be to
>> add a function pointer to struct atmel_uart_data that the driver can
>> call from ->suspend() in order to let the platform code handle this as
>> appropriate.
>
> The core issue is that the system clock driving the baud rate generator
> is no longer running fast enough to let the UART run. (In "standby" the
> clock is still driven by the PLL, so this issue doesn't come up.) The
> GPIO logic can catch the START bit though ... this technique is used on
> some OMAP boards too.
>
> Agreed that knowing exactly which pin(s) should be remuxed (UARTn.RX to
> GPIO in suspend then enabling it as a wakeup irq, then reversing that
> on resume; maybe UARTn.DCD should work too..), and how (as A-peripheral?
> or B?) is chip-specific knowledge. Such a function pointer could work.
>
> What will AVR32 (AP7) need to do, when it supports system sleep states?
>
> - Dave
>
My code just works and I can try to implement a clean patches and submit to
the mailing list.

Michael



\
 
 \ /
  Last update: 2008-01-28 20:47    [from the cache]
©2003-2011 Jasper Spaans