uboot/include/rtc.h
<<
>>
Prefs
   1/*
   2 * (C) Copyright 2001
   3 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   4 *
   5 * See file CREDITS for list of people who contributed to this
   6 * project.
   7 *
   8 * This program is free software; you can redistribute it and/or
   9 * modify it under the terms of the GNU General Public License as
  10 * published by the Free Software Foundation; either version 2 of
  11 * the License, or (at your option) any later version.
  12 *
  13 * This program is distributed in the hope that it will be useful,
  14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16 * GNU General Public License for more details.
  17 *
  18 * You should have received a copy of the GNU General Public License
  19 * along with this program; if not, write to the Free Software
  20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  21 * MA 02111-1307 USA
  22 */
  23
  24/*
  25 * Generic RTC interface.
  26 */
  27#ifndef _RTC_H_
  28#define _RTC_H_
  29
  30/* bcd<->bin functions are needed by almost all the RTC drivers, let's include
  31 * it there instead of in evey single driver */
  32
  33#include <bcd.h>
  34
  35/*
  36 * The struct used to pass data from the generic interface code to
  37 * the hardware dependend low-level code ande vice versa. Identical
  38 * to struct rtc_time used by the Linux kernel.
  39 *
  40 * Note that there are small but significant differences to the
  41 * common "struct time":
  42 *
  43 *              struct time:            struct rtc_time:
  44 * tm_mon       0 ... 11                1 ... 12
  45 * tm_year      years since 1900        years since 0
  46 */
  47
  48struct rtc_time {
  49        int tm_sec;
  50        int tm_min;
  51        int tm_hour;
  52        int tm_mday;
  53        int tm_mon;
  54        int tm_year;
  55        int tm_wday;
  56        int tm_yday;
  57        int tm_isdst;
  58};
  59
  60int rtc_get (struct rtc_time *);
  61int rtc_set (struct rtc_time *);
  62void rtc_reset (void);
  63
  64void GregorianDay (struct rtc_time *);
  65void to_tm (int, struct rtc_time *);
  66unsigned long mktime (unsigned int, unsigned int, unsigned int,
  67                      unsigned int, unsigned int, unsigned int);
  68
  69#endif  /* _RTC_H_ */
  70