[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5507AA4D.3060209@ti.com>
Date: Tue, 17 Mar 2015 09:45:09 +0530
From: Keerthy <a0393675@...com>
To: <a.zummo@...ertech.it>
CC: Keerthy <j-keerthy@...com>, <rtc-linux@...glegroups.com>,
<linux-kernel@...r.kernel.org>, <linux-omap@...r.kernel.org>
Subject: Re: [PATCH] rtc: OMAP: Add external 32k clock feature
On Tuesday 03 March 2015 03:12 PM, Keerthy wrote:
> Add external 32k clock feature. The internal clock will be gated during suspend.
> Hence make use of the external 32k clock so that rtc is functional accross
> suspend/resume.
A gentle ping on this.
>
> Signed-off-by: Keerthy <j-keerthy@...com>
> ---
>
> Tested on DRA7-EVM.
>
> drivers/rtc/rtc-omap.c | 15 ++++++++++++++-
> 1 file changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c
> index 8e5851a..4f803ca 100644
> --- a/drivers/rtc/rtc-omap.c
> +++ b/drivers/rtc/rtc-omap.c
> @@ -107,6 +107,8 @@
>
> /* OMAP_RTC_OSC_REG bit fields: */
> #define OMAP_RTC_OSC_32KCLK_EN BIT(6)
> +#define OMAP_RTC_OSC_OSC32K_GZ BIT(4)
> +#define OMAP_RTC_OSC_EXT_32K BIT(3)
>
> /* OMAP_RTC_IRQWAKEEN bit fields: */
> #define OMAP_RTC_IRQWAKEEN_ALARM_WAKEEN BIT(1)
> @@ -120,6 +122,7 @@
>
> struct omap_rtc_device_type {
> bool has_32kclk_en;
> + bool has_osc_ext_32k;
> bool has_kicker;
> bool has_irqwakeen;
> bool has_pmic_mode;
> @@ -446,6 +449,7 @@ static const struct omap_rtc_device_type omap_rtc_default_type = {
>
> static const struct omap_rtc_device_type omap_rtc_am3352_type = {
> .has_32kclk_en = true,
> + .has_osc_ext_32k = true,
> .has_kicker = true,
> .has_irqwakeen = true,
> .has_pmic_mode = true,
> @@ -543,7 +547,16 @@ static int __init omap_rtc_probe(struct platform_device *pdev)
> if (rtc->type->has_32kclk_en) {
> reg = rtc_read(rtc, OMAP_RTC_OSC_REG);
> rtc_writel(rtc, OMAP_RTC_OSC_REG,
> - reg | OMAP_RTC_OSC_32KCLK_EN);
> + reg | OMAP_RTC_OSC_32KCLK_EN);
> + }
> +
> + /* Enable External clock as the source */
> +
> + if (rtc->type->has_osc_ext_32k) {
> + rtc_writel(rtc, OMAP_RTC_OSC_REG,
> + (OMAP_RTC_OSC_EXT_32K |
> + rtc_read(rtc, OMAP_RTC_OSC_REG)) &
> + (~OMAP_RTC_OSC_OSC32K_GZ));
> }
>
> /* clear old status */
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists