]> git.sur5r.net Git - u-boot/commitdiff
rtc: Make mc13783-rtc driver generic
authorFabio Estevam <fabio.estevam@freescale.com>
Mon, 24 Oct 2011 06:44:15 +0000 (06:44 +0000)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Thu, 3 Nov 2011 21:56:19 +0000 (22:56 +0100)
Rename mc13783-rtc so that it can be used for both MC13783 and MC13892 PMICs.

efikamx board, for example, does use a MC13892 PMIC, but the RTC selection is currently made as:

#define CONFIG_RTC_MC13783

,which is not very obvious.

Let the MC13783 and MC13892 RTC be selected by:

#define CONFIG_RTC_MC13XXX

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Stefano Babic <sbabic@denx.de>
README
drivers/rtc/Makefile
drivers/rtc/mc13783-rtc.c [deleted file]
drivers/rtc/mc13xxx-rtc.c [new file with mode: 0644]
include/configs/efikamx.h
include/configs/imx31_litekit.h
include/configs/mx31ads.h
include/configs/mx31pdk.h
include/configs/qong.h
include/configs/vision2.h

diff --git a/README b/README
index c05c40af0e58acc83e62feb1b7ff1e31cd75e526..46f062f1b4c115ec21fd58264b96d85aa0966d33 100644 (file)
--- a/README
+++ b/README
@@ -876,7 +876,7 @@ The following options need to be configured:
 
                CONFIG_RTC_MPC8xx       - use internal RTC of MPC8xx
                CONFIG_RTC_PCF8563      - use Philips PCF8563 RTC
-               CONFIG_RTC_MC13783      - use MC13783 RTC
+               CONFIG_RTC_MC13XXX      - use MC13783 or MC13892 RTC
                CONFIG_RTC_MC146818     - use MC146818 RTC
                CONFIG_RTC_DS1307       - use Maxim, Inc. DS1307 RTC
                CONFIG_RTC_DS1337       - use Maxim, Inc. DS1337 RTC
index df440c62ffb11aa13ff6fcffed73c17fc62e47ee..a16f59051dc8ffb9a880ffeca93d7f2eb4318afd 100644 (file)
@@ -50,7 +50,7 @@ COBJS-$(CONFIG_RTC_M41T62) += m41t62.o
 COBJS-$(CONFIG_RTC_M41T94) += m41t94.o
 COBJS-$(CONFIG_RTC_M48T35A) += m48t35ax.o
 COBJS-$(CONFIG_RTC_MAX6900) += max6900.o
-COBJS-$(CONFIG_RTC_MC13783) += mc13783-rtc.o
+COBJS-$(CONFIG_RTC_MC13XXX) += mc13xxx-rtc.o
 COBJS-$(CONFIG_RTC_MC146818) += mc146818.o
 COBJS-$(CONFIG_MCFRTC) += mcfrtc.o
 COBJS-$(CONFIG_RTC_MK48T59) += mk48t59.o
diff --git a/drivers/rtc/mc13783-rtc.c b/drivers/rtc/mc13783-rtc.c
deleted file mode 100644 (file)
index 70ea8a1..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2008, Guennadi Liakhovetski <lg@denx.de>
- *
- * 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
- */
-
-#include <common.h>
-#include <rtc.h>
-#include <spi.h>
-#include <pmic.h>
-#include <fsl_pmic.h>
-
-int rtc_get(struct rtc_time *rtc)
-{
-       u32 day1, day2, time;
-       int tim, i = 0;
-       struct pmic *p = get_pmic();
-       int ret;
-
-       do {
-               ret = pmic_reg_read(p, REG_RTC_DAY, &day1);
-               if (ret < 0)
-                       return -1;
-
-               ret = pmic_reg_read(p, REG_RTC_TIME, &time);
-               if (ret < 0)
-                       return -1;
-
-               ret = pmic_reg_read(p, REG_RTC_DAY, &day2);
-               if (ret < 0)
-                       return -1;
-
-       } while (day1 != day2 && i++ < 3);
-
-       tim = day1 * 86400 + time;
-
-       to_tm(tim, rtc);
-
-       rtc->tm_yday = 0;
-       rtc->tm_isdst = 0;
-
-       return 0;
-}
-
-int rtc_set(struct rtc_time *rtc)
-{
-       u32 time, day;
-       struct pmic *p = get_pmic();
-
-       time = mktime(rtc->tm_year, rtc->tm_mon, rtc->tm_mday,
-                     rtc->tm_hour, rtc->tm_min, rtc->tm_sec);
-       day = time / 86400;
-       time %= 86400;
-
-       pmic_reg_write(p, REG_RTC_DAY, day);
-       pmic_reg_write(p, REG_RTC_TIME, time);
-
-       return 0;
-}
-
-void rtc_reset(void)
-{
-}
diff --git a/drivers/rtc/mc13xxx-rtc.c b/drivers/rtc/mc13xxx-rtc.c
new file mode 100644 (file)
index 0000000..70ea8a1
--- /dev/null
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2008, Guennadi Liakhovetski <lg@denx.de>
+ *
+ * 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
+ */
+
+#include <common.h>
+#include <rtc.h>
+#include <spi.h>
+#include <pmic.h>
+#include <fsl_pmic.h>
+
+int rtc_get(struct rtc_time *rtc)
+{
+       u32 day1, day2, time;
+       int tim, i = 0;
+       struct pmic *p = get_pmic();
+       int ret;
+
+       do {
+               ret = pmic_reg_read(p, REG_RTC_DAY, &day1);
+               if (ret < 0)
+                       return -1;
+
+               ret = pmic_reg_read(p, REG_RTC_TIME, &time);
+               if (ret < 0)
+                       return -1;
+
+               ret = pmic_reg_read(p, REG_RTC_DAY, &day2);
+               if (ret < 0)
+                       return -1;
+
+       } while (day1 != day2 && i++ < 3);
+
+       tim = day1 * 86400 + time;
+
+       to_tm(tim, rtc);
+
+       rtc->tm_yday = 0;
+       rtc->tm_isdst = 0;
+
+       return 0;
+}
+
+int rtc_set(struct rtc_time *rtc)
+{
+       u32 time, day;
+       struct pmic *p = get_pmic();
+
+       time = mktime(rtc->tm_year, rtc->tm_mon, rtc->tm_mday,
+                     rtc->tm_hour, rtc->tm_min, rtc->tm_sec);
+       day = time / 86400;
+       time %= 86400;
+
+       pmic_reg_write(p, REG_RTC_DAY, day);
+       pmic_reg_write(p, REG_RTC_TIME, time);
+
+       return 0;
+}
+
+void rtc_reset(void)
+{
+}
index b507786bf245413f5f03c5d0dc6efa1ec421afa2..a07c8b58e3aeb7514a58adf05c497630e8036c3b 100644 (file)
 #define CONFIG_FSL_PMIC_CLK            25000000
 #define CONFIG_FSL_PMIC_MODE           (SPI_MODE_0 | SPI_CS_HIGH)
 #define CONFIG_FSL_PMIC_BITLEN 32
-#define CONFIG_RTC_MC13783
+#define CONFIG_RTC_MC13XXX
 #endif
 
 /*
index 89e71c069e35bf79978c8212abe4e5cfe19ef02d..1455ea247a888aa94838154e86a1c01ce4ba8898 100644 (file)
@@ -81,7 +81,7 @@
 #define CONFIG_FSL_PMIC_CLK    1000000
 #define CONFIG_FSL_PMIC_MODE   (SPI_MODE_0 | SPI_CS_HIGH)
 #define CONFIG_FSL_PMIC_BITLEN 32
-#define CONFIG_RTC_MC13783
+#define CONFIG_RTC_MC13XXX
 
 /* allow to overwrite serial and ethaddr */
 #define CONFIG_ENV_OVERWRITE
index c9d80ef0733b2470e34e27f302e882ff0df9073f..7e011aea9df3f4e038d262bbfe7a5c35d4348538 100644 (file)
@@ -78,7 +78,7 @@
 #define CONFIG_FSL_PMIC_CLK    1000000
 #define CONFIG_FSL_PMIC_MODE   (SPI_MODE_0 | SPI_CS_HIGH)
 #define CONFIG_FSL_PMIC_BITLEN 32
-#define CONFIG_RTC_MC13783
+#define CONFIG_RTC_MC13XXX
 
 /* allow to overwrite serial and ethaddr */
 #define CONFIG_ENV_OVERWRITE
index 2e5cde5408f1ddae5185f309920d232d56860ffc..4253c3e2bcf037188dcedad647b42b9dab9dffdf 100644 (file)
@@ -79,7 +79,7 @@
 #define CONFIG_FSL_PMIC_CLK    1000000
 #define CONFIG_FSL_PMIC_MODE   (SPI_MODE_0 | SPI_CS_HIGH)
 #define CONFIG_FSL_PMIC_BITLEN 32
-#define CONFIG_RTC_MC13783
+#define CONFIG_RTC_MC13XXX
 
 /* allow to overwrite serial and ethaddr */
 #define CONFIG_ENV_OVERWRITE
index f30855b9c9899d81699574c6d81c0aea2fb5a239..4e6bf3b349317acfbcf08bf4aafd50615cc8bbb6 100644 (file)
@@ -58,7 +58,7 @@
 #define CONFIG_MXC_SPI
 #define CONFIG_DEFAULT_SPI_BUS 1
 #define CONFIG_DEFAULT_SPI_MODE        (SPI_MODE_0 | SPI_CS_HIGH)
-#define CONFIG_RTC_MC13783
+#define CONFIG_RTC_MC13XXX
 
 #define CONFIG_PMIC
 #define CONFIG_PMIC_SPI
index bee9e970a9d150aa68bb8a6ed53637e353b71561..2d020ca8303b3589381a963d113504390909cb9d 100644 (file)
@@ -95,7 +95,7 @@
 #define CONFIG_FSL_PMIC_CLK    2500000
 #define CONFIG_FSL_PMIC_MODE   SPI_MODE_0
 #define CONFIG_FSL_PMIC_BITLEN 32
-#define CONFIG_RTC_MC13783
+#define CONFIG_RTC_MC13XXX
 
 /*
  * MMC Configs