lkml.org 
[lkml]   [2015]   [Jan]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.18 002/150] rtc: omap: fix clock-source configuration
    Date
    3.18-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Johan Hovold <johan@kernel.org>

    commit 44c63a570aaec3c5d5569d63b7c4a31ddd88cae0 upstream.

    This series fixes a few issues with the omap rtc-driver, cleans up a
    bit, adds device abstraction, and finally adds support for the PMIC
    control feature found in some revisions of this RTC IP block.

    Ultimately, this allows for powering off the Beaglebone and waking it up
    again on RTC alarms.

    This patch (of 20):

    Make sure not to reset the clock-source configuration when enabling the
    32kHz clock mux.

    Until the clock source can be configured through device tree we must not
    overwrite settings made by the bootloader (e.g. clock-source
    selection).

    Fixes: cd914bba03d8 ("drivers/rtc/rtc-omap.c: add support for enabling 32khz clock")
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Reviewed-by: Felipe Balbi <balbi@ti.com>
    Tested-by: Felipe Balbi <balbi@ti.com>
    Cc: Alessandro Zummo <a.zummo@towertech.it>
    Cc: Tony Lindgren <tony@atomide.com>
    Cc: Benot Cousson <bcousson@baylibre.com>
    Cc: Lokesh Vutla <lokeshvutla@ti.com>
    Cc: Guenter Roeck <linux@roeck-us.net>
    Cc: Sekhar Nori <nsekhar@ti.com>
    Cc: Tero Kristo <t-kristo@ti.com>
    Cc: Keerthy J <j-keerthy@ti.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/rtc/rtc-omap.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    --- a/drivers/rtc/rtc-omap.c
    +++ b/drivers/rtc/rtc-omap.c
    @@ -431,8 +431,10 @@ static int __init omap_rtc_probe(struct
    rtc_write(0, OMAP_RTC_INTERRUPTS_REG);

    /* enable RTC functional clock */
    - if (id_entry->driver_data & OMAP_RTC_HAS_32KCLK_EN)
    - rtc_writel(OMAP_RTC_OSC_32KCLK_EN, OMAP_RTC_OSC_REG);
    + if (id_entry->driver_data & OMAP_RTC_HAS_32KCLK_EN) {
    + reg = rtc_read(OMAP_RTC_OSC_REG);
    + rtc_writel(reg | OMAP_RTC_OSC_32KCLK_EN, OMAP_RTC_OSC_REG);
    + }

    /* clear old status */
    reg = rtc_read(OMAP_RTC_STATUS_REG);



    \
     
     \ /
      Last update: 2015-01-14 10:01    [W:2.159 / U:0.376 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site