rtc: pcf2127: Update Kconfig and code style

Unfortunately version 2 of this patch was applied which was missing some
changes. Fix this.

Signed-off-by: Meng Yi <meng.yi@nxp.com>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Meng Yi 2017-01-09 11:24:51 -07:00 committed by Tom Rini
parent df015c90c3
commit 45a0194b2b
2 changed files with 27 additions and 21 deletions

View File

@ -17,6 +17,10 @@ config RTC_PCF2127
bool "Enable PCF2127 driver" bool "Enable PCF2127 driver"
depends on DM_RTC depends on DM_RTC
help help
Enable pcf2127 driver which provides rtc get and set function The PCF2127 is a CMOS Real Time Clock (RTC) and calendar with an integrated
Temperature Compensated Crystal (Xtal) Oscillator (TCXO) and a 32.768 kHz quartz
crystal optimized for very high accuracy and very low power consumption. The PCF2127
has a selectable I2C-bus or SPI-bus, a backup battery switch-over circuit, a
programmable watchdog function, a timestamp function, and many other features.
endmenu endmenu

View File

@ -11,21 +11,21 @@
#include <i2c.h> #include <i2c.h>
#include <rtc.h> #include <rtc.h>
#define PCF2127_REG_CTRL1 (0x00) #define PCF2127_REG_CTRL1 0x00
#define PCF2127_REG_CTRL2 (0x01) #define PCF2127_REG_CTRL2 0x01
#define PCF2127_REG_CTRL3 (0x02) #define PCF2127_REG_CTRL3 0x02
#define PCF2127_REG_SC (0x03) /* datetime */ #define PCF2127_REG_SC 0x03
#define PCF2127_REG_MN (0x04) #define PCF2127_REG_MN 0x04
#define PCF2127_REG_HR (0x05) #define PCF2127_REG_HR 0x05
#define PCF2127_REG_DM (0x06) #define PCF2127_REG_DM 0x06
#define PCF2127_REG_DW (0x07) #define PCF2127_REG_DW 0x07
#define PCF2127_REG_MO (0x08) #define PCF2127_REG_MO 0x08
#define PCF2127_REG_YR (0x09) #define PCF2127_REG_YR 0x09
static int pcf2127_rtc_set(struct udevice *dev, const struct rtc_time *tm) static int pcf2127_rtc_set(struct udevice *dev, const struct rtc_time *tm)
{ {
uchar buf[8]; uchar buf[8];
int i = 0; int i = 0, ret;
/* start register address */ /* start register address */
buf[i++] = PCF2127_REG_SC; buf[i++] = PCF2127_REG_SC;
@ -44,21 +44,22 @@ static int pcf2127_rtc_set(struct udevice *dev, const struct rtc_time *tm)
buf[i++] = bin2bcd(tm->tm_year % 100); buf[i++] = bin2bcd(tm->tm_year % 100);
/* write register's data */ /* write register's data */
if (dm_i2c_write(dev, PCF2127_REG_CTRL1, buf, sizeof(buf)) < 0) ret = dm_i2c_write(dev, PCF2127_REG_CTRL1, buf, sizeof(buf));
return -1;
return 0; return ret;
} }
static int pcf2127_rtc_get(struct udevice *dev, struct rtc_time *tm) static int pcf2127_rtc_get(struct udevice *dev, struct rtc_time *tm)
{ {
int rel = 0; int ret = 0;
uchar buf[10] = { PCF2127_REG_CTRL1 }; uchar buf[10] = { PCF2127_REG_CTRL1 };
if (dm_i2c_write(dev, PCF2127_REG_CTRL1, buf, 1) < 0) ret = dm_i2c_write(dev, PCF2127_REG_CTRL1, buf, 1);
return -1; if (ret < 0)
if (dm_i2c_read(dev, PCF2127_REG_CTRL1, buf, sizeof(buf)) < 0) return ret;
return -1; ret = dm_i2c_read(dev, PCF2127_REG_CTRL1, buf, sizeof(buf));
if (ret < 0)
return ret;
if (buf[PCF2127_REG_CTRL3] & 0x04) if (buf[PCF2127_REG_CTRL3] & 0x04)
puts("### Warning: RTC Low Voltage - date/time not reliable\n"); puts("### Warning: RTC Low Voltage - date/time not reliable\n");
@ -79,12 +80,13 @@ static int pcf2127_rtc_get(struct udevice *dev, struct rtc_time *tm)
tm->tm_year, tm->tm_mon, tm->tm_mday, tm->tm_wday, tm->tm_year, tm->tm_mon, tm->tm_mday, tm->tm_wday,
tm->tm_hour, tm->tm_min, tm->tm_sec); tm->tm_hour, tm->tm_min, tm->tm_sec);
return rel; return ret;
} }
static int pcf2127_rtc_reset(struct udevice *dev) static int pcf2127_rtc_reset(struct udevice *dev)
{ {
/*Doing nothing here*/ /*Doing nothing here*/
return 0; return 0;
} }