Re: at91sam9260 wakeup on serial port

From: trimarchi
Date: Mon Jan 28 2008 - 14:44:27 EST


Hi,
> On Monday 28 January 2008, Haavard Skinnemoen wrote:
>> On Mon, 28 Jan 2008 12:15:00 +0100
>> michael <trimarchi@xxxxxxxxxxxxxxxx> 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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/