Merge branch '2020-01-27-master-imports'
[oweals/u-boot.git] / drivers / rtc / ds164x.c
index bff22b9a058cdc34c5d63d5e1f91357066ea0bac..f8707892e71f7200e6f325d0697f1d2767690d8f 100644 (file)
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * (C) Copyright 2002
  * ARIO Data Networks, Inc. dchiu@ariodata.com
@@ -6,24 +7,6 @@
  * The LEOX team <team@leox.org>, http://www.leox.org
  *
  * Based on MontaVista DS1743 code and U-Boot mc146818 code
- *
- * 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 <rtc.h>
 
 
-#if defined(CONFIG_RTC_DS164x) && defined(CONFIG_CMD_DATE)
-
 static uchar    rtc_read(unsigned int addr );
 static void     rtc_write(unsigned int addr, uchar val);
-static uchar    bin2bcd(unsigned int n);
-static unsigned bcd2bin(uchar c);
 
 #define RTC_EPOCH                 2000 /* century */
 
 /*
  * DS164x registers layout
  */
-#define RTC_BASE               ( CFG_NVRAM_BASE_ADDR + CFG_NVRAM_SIZE )
+#define RTC_BASE               ( CONFIG_SYS_NVRAM_BASE_ADDR + CONFIG_SYS_NVRAM_SIZE )
 
 #define RTC_YEAR               ( RTC_BASE + 0x07 )
 #define RTC_MONTH              ( RTC_BASE + 0x06 )
@@ -70,7 +49,7 @@ static unsigned bcd2bin(uchar c);
 
 /* ------------------------------------------------------------------------- */
 
-void rtc_get( struct rtc_time *tmp )
+int rtc_get( struct rtc_time *tmp )
 {
        uchar sec, min, hour;
        uchar mday, wday, mon, year;
@@ -115,9 +94,11 @@ void rtc_get( struct rtc_time *tmp )
                tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday,
                tmp->tm_hour, tmp->tm_min, tmp->tm_sec );
 #endif
+
+       return 0;
 }
 
-void rtc_set( struct rtc_time *tmp )
+int rtc_set( struct rtc_time *tmp )
 {
        uchar reg_a;
 
@@ -143,6 +124,8 @@ void rtc_set( struct rtc_time *tmp )
 
        /* unlock clock registers after read */
        rtc_write( RTC_CONTROLA, ( reg_a  & ~RTC_CA_WRITE ));
+
+       return 0;
 }
 
 void rtc_reset (void)
@@ -186,15 +169,3 @@ static void rtc_write( unsigned int addr, uchar val )
 #endif
        *(volatile unsigned char*)(addr) = val;
 }
-
-static unsigned bcd2bin (uchar n)
-{
-       return ((((n >> 4) & 0x0F) * 10) + (n & 0x0F));
-}
-
-static unsigned char bin2bcd (unsigned int n)
-{
-       return (((n / 10) << 4) | (n % 10));
-}
-
-#endif