From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Schocher Date: Wed, 20 Oct 2010 11:28:12 +0200 Subject: [U-Boot] [PATCH][v0] RTC driver for PT7C4338 chip. In-Reply-To: <1287564032-32198-1-git-send-email-Priyanka.Jain@freescale.com> References: <1287564032-32198-1-git-send-email-Priyanka.Jain@freescale.com> Message-ID: <4CBEB62C.2060300@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Priyanka, Priyanka Jain wrote: > PT7C4338 chip is manufactured by Pericom Technology Inc. > It is a serial real-time clock which provides: > 1)Low-power clock/calendar. > 2)Programmable square-wave output. > It has 56 bytes of nonvolatile RAM. > > Freescale P1010RDB uses PT7C4338 as RTC. > > Signed-off-by: Priyanka Jain > Acked-by: Timur Tabi > --- > drivers/rtc/Makefile | 1 + > drivers/rtc/pt7c4338.c | 161 ++++++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 162 insertions(+), 0 deletions(-) > create mode 100644 drivers/rtc/pt7c4338.c just some nitpicking comments. > diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile > index 772a49a..a6dda91 100644 > --- a/drivers/rtc/Makefile > +++ b/drivers/rtc/Makefile > @@ -62,6 +62,7 @@ COBJS-$(CONFIG_RTC_RX8025) += rx8025.o > COBJS-$(CONFIG_RTC_S3C24X0) += s3c24x0_rtc.o > COBJS-$(CONFIG_RTC_S3C44B0) += s3c44b0_rtc.o > COBJS-$(CONFIG_RTC_X1205) += x1205.o > +COBJS-$(CONFIG_RTC_PT7C4338) += pt7c4338.o please keep lists sorted. > COBJS := $(sort $(COBJS-y)) > SRCS := $(COBJS:.o=.c) > diff --git a/drivers/rtc/pt7c4338.c b/drivers/rtc/pt7c4338.c > new file mode 100644 > index 0000000..5ce2afc > --- /dev/null > +++ b/drivers/rtc/pt7c4338.c > @@ -0,0 +1,161 @@ > +/* > + * Copyright 2010 Freescale Semiconductor, Inc. > + * > + * Author: Priyanka Jain > + * > + * See file CREDITS for list of people who contributed to this > + * project. > + * > + * This program is free software; you can redistribute it and/or > + * modify it under the terms of the GNU General Public License as > + * published by the Free Software Foundation; either version 2 of > + * the License, or (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with this program; if not, write to the Free Software > + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, > + * MA 02111-1307 USA > + */ > + > + only one new line. > +/* > + * This file provides Date & Time support (no alarms) for PT7C4338 chip. > + * > + * This file is based on drivers/rtc/ds1337.c > + * > + * PT7C4338 chip is manufactured by Pericom Technology Inc. > + * It is a serial real-time clock which provides > + * 1)Low-power clock/calendar. > + * 2)Programmable square-wave output. > + * It has 56 bytes of nonvolatile RAM. > + * > + * Freescale P1010RDB uses PT7C4338 as RTC. > + */ > + > + here too, only one new line. > +#include > +#include > +#include > +#include > + > + and here too. > +/* RTC register addresses */ > +#define RTC_SEC_REG_ADDR 0x0 > +#define RTC_MIN_REG_ADDR 0x1 > +#define RTC_HR_REG_ADDR 0x2 > +#define RTC_DAY_REG_ADDR 0x3 > +#define RTC_DATE_REG_ADDR 0x4 > +#define RTC_MON_REG_ADDR 0x5 > +#define RTC_YR_REG_ADDR 0x6 > +#define RTC_CTL_STAT_REG_ADDR 0x7 > + > +/* RTC second register address bit */ > +#define RTC_SEC_BIT_CH 0x80 /* Clock Halt (in Register 0) */ > + > +/* RTC control and status register bits */ > +#define RTC_CTL_STAT_BIT_RS0 0x1 /* Rate select 0 */ > +#define RTC_CTL_STAT_BIT_RS1 0x2 /* Rate select 1 */ > +#define RTC_CTL_STAT_BIT_SQWE 0x10 /* Square Wave Enable */ > +#define RTC_CTL_STAT_BIT_OSF 0x20 /* Oscillator Stop Flag */ > +#define RTC_CTL_STAT_BIT_OUT 0x80 /* Output Level Control */ > + > +/* RTC reset value */ > +#define RTC_PT7C4338_RESET_VAL \ > + (RTC_CTL_STAT_BIT_RS0 | RTC_CTL_STAT_BIT_RS1 | RTC_CTL_STAT_BIT_OUT) > + > + and here too. > +/****** Helper functions ****************************************/ > + no new line needed. > +static u8 rtc_read(u8 reg) > +{ > + return i2c_reg_read(CONFIG_SYS_I2C_RTC_ADDR, reg); > +} [...] bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany