[U-Boot] [PATCH][v0] RTC driver for PT7C4338 chip.
Heiko Schocher
hs at denx.de
Wed Oct 20 11:28:12 CEST 2010
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 <Priyanka.Jain at freescale.com>
> Acked-by: Timur Tabi <timur at freescale.com>
> ---
> 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 <Priyanka.Jain at freescale.com>
> + *
> + * 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 <common.h>
> +#include <command.h>
> +#include <rtc.h>
> +#include <i2c.h>
> +
> +
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
More information about the U-Boot
mailing list