| From 2f3972168353d355854d6381f1f360ce83b723e5 Mon Sep 17 00:00:00 2001 |
| From: Linus Walleij <linus.walleij@linaro.org> |
| Date: Thu, 12 Apr 2012 12:49:16 -0700 |
| Subject: drivers/rtc/rtc-pl031.c: enable clock on all ST variants |
| |
| From: Linus Walleij <linus.walleij@linaro.org> |
| |
| commit 2f3972168353d355854d6381f1f360ce83b723e5 upstream. |
| |
| The ST variants of the PL031 all require bit 26 in the control register |
| to be set before they work properly. Discovered this when testing on |
| the Nomadik board where it would suprisingly just stand still. |
| |
| Signed-off-by: Linus Walleij <linus.walleij@linaro.org> |
| Cc: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> |
| Cc: Alessandro Rubini <rubini@unipv.it> |
| 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-pl031.c | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| --- a/drivers/rtc/rtc-pl031.c |
| +++ b/drivers/rtc/rtc-pl031.c |
| @@ -339,8 +339,7 @@ static int pl031_probe(struct amba_devic |
| dev_dbg(&adev->dev, "revision = 0x%01x\n", ldata->hw_revision); |
| |
| /* Enable the clockwatch on ST Variants */ |
| - if ((ldata->hw_designer == AMBA_VENDOR_ST) && |
| - (ldata->hw_revision > 1)) |
| + if (ldata->hw_designer == AMBA_VENDOR_ST) |
| writel(readl(ldata->base + RTC_CR) | RTC_CR_CWEN, |
| ldata->base + RTC_CR); |
| |