[PATCH 07/34] rtc: omap: let device wakeup capability be configured from chip init logic

Russell King - ARM Linux linux at arm.linux.org.uk
Thu May 13 05:15:54 EDT 2010


-> rtc people

On Thu, May 06, 2010 at 04:23:58PM -0700, Kevin Hilman wrote:
> From: Sekhar Nori <nsekhar at ti.com>
> 
> The rtc-omap driver currently hardcodes the RTC wakeup capability
> to be "not capable". While this seems to be true for existing OMAP1
> boards which are not wired for this, the DA850/OMAP-L138 SoC, the
> RTC can always be wake up source from its "deep sleep" mode.
> 
> This patch lets the wakeup capability to be set from platform data and
> does not override the setting from the driver. For DA850/OMAP-L138, this
> is done from arch/arm/mach-davinci/devices-da8xx.c:da8xx_register_rtc()
> 
> Note that this patch does not change the behavior on any existing OMAP1
> board since the platform device registration sets the wakeup capability
> to 0 by default.
> 
> Signed-off-by: Sekhar Nori <nsekhar at ti.com>
> Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>
> ---
>  drivers/rtc/rtc-omap.c |   12 +++++++-----
>  1 files changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c
> index 64d9727..73377b0 100644
> --- a/drivers/rtc/rtc-omap.c
> +++ b/drivers/rtc/rtc-omap.c
> @@ -34,7 +34,8 @@
>   * Board-specific wiring options include using split power mode with
>   * RTC_OFF_NOFF used as the reset signal (so the RTC won't be reset),
>   * and wiring RTC_WAKE_INT (so the RTC alarm can wake the system from
> - * low power modes).  See the BOARD-SPECIFIC CUSTOMIZATION comment.
> + * low power modes) for OMAP1 boards (OMAP-L138 has this built into
> + * the SoC). See the BOARD-SPECIFIC CUSTOMIZATION comment.
>   */
>  
>  #define OMAP_RTC_BASE			0xfffb4800
> @@ -401,16 +402,17 @@ static int __init omap_rtc_probe(struct platform_device *pdev)
>  
>  	/* BOARD-SPECIFIC CUSTOMIZATION CAN GO HERE:
>  	 *
> -	 *  - Boards wired so that RTC_WAKE_INT does something, and muxed
> -	 *    right (W13_1610_RTC_WAKE_INT is the default after chip reset),
> -	 *    should initialize the device wakeup flag appropriately.
> +	 *  - Device wake-up capability setting should come through chip
> +	 *    init logic. OMAP1 boards should initialize the "wakeup capable"
> +	 *    flag in the platform device if the board is wired right for
> +	 *    being woken up by RTC alarm. For OMAP-L138, this capability
> +	 *    is built into the SoC by the "Deep Sleep" capability.
>  	 *
>  	 *  - Boards wired so RTC_ON_nOFF is used as the reset signal,
>  	 *    rather than nPWRON_RESET, should forcibly enable split
>  	 *    power mode.  (Some chip errata report that RTC_CTRL_SPLIT
>  	 *    is write-only, and always reads as zero...)
>  	 */
> -	device_init_wakeup(&pdev->dev, 0);
>  
>  	if (new_ctrl & (u8) OMAP_RTC_CTRL_SPLIT)
>  		pr_info("%s: split power mode\n", pdev->name);
> -- 
> 1.7.0.2
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel



More information about the linux-arm-kernel mailing list