diff options
author | Joakim Tjernlund <Joakim.Tjernlund@transmode.se> | 2008-03-26 13:02:13 +0100 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-03-26 15:17:42 +0100 |
commit | da8808df7a9cef5a3d2ee286ef9ebf9de1780660 (patch) | |
tree | ae0425036c6294d2157e502e610a788f3d117879 | |
parent | 438a4c11260b4ea9805039b0b4f92f9df5306b02 (diff) | |
download | u-boot-da8808df7a9cef5a3d2ee286ef9ebf9de1780660.tar.gz u-boot-da8808df7a9cef5a3d2ee286ef9ebf9de1780660.tar.xz u-boot-da8808df7a9cef5a3d2ee286ef9ebf9de1780660.zip |
Add CFG_RTC_DS1337_NOOSC to turn off OSC output
The default settings for RTC DS1337 keeps the OSC
output, 32,768 Hz, on. This add CFG_RTC_DS1337_NOOSC to
turn it off.
Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
-rw-r--r-- | README | 1 | ||||
-rw-r--r-- | drivers/rtc/ds1337.c | 11 |
2 files changed, 10 insertions, 2 deletions
@@ -689,6 +689,7 @@ The following options need to be configured: CONFIG_RTC_DS164x - use Dallas DS164x RTC CONFIG_RTC_ISL1208 - use Intersil ISL1208 RTC CONFIG_RTC_MAX6900 - use Maxim, Inc. MAX6900 RTC + CFG_RTC_DS1337_NOOSC - Turn off the OSC output for DS1337 Note that if the RTC uses I2C, then the I2C interface must also be configured. See I2C Support, below. diff --git a/drivers/rtc/ds1337.c b/drivers/rtc/ds1337.c index 50ab44690c..69ab2bf9db 100644 --- a/drivers/rtc/ds1337.c +++ b/drivers/rtc/ds1337.c @@ -158,11 +158,18 @@ void rtc_set (struct rtc_time *tmp) * SQW/INTB* pin and program it for 32,768 Hz output. Note that * according to the datasheet, turning on the square wave output * increases the current drain on the backup battery from about - * 600 nA to 2uA. + * 600 nA to 2uA. Define CFG_RTC_DS1337_NOOSC if you wish to turn + * off the OSC output. */ +#ifdef CFG_RTC_DS1337_NOOSC + #define RTC_DS1337_RESET_VAL \ + (RTC_CTL_BIT_INTCN | RTC_CTL_BIT_RS1 | RTC_CTL_BIT_RS2) +#else + #define RTC_DS1337_RESET_VAL (RTC_CTL_BIT_RS1 | RTC_CTL_BIT_RS2) +#endif void rtc_reset (void) { - rtc_write (RTC_CTL_REG_ADDR, RTC_CTL_BIT_RS1 | RTC_CTL_BIT_RS2); + rtc_write (RTC_CTL_REG_ADDR, RTC_DS1337_RESET_VAL); } |