Home | History | Annotate | Line # | Download | only in vr
rtcreg.h revision 1.1.1.1.2.1
      1  1.1.1.1.2.1    bouyer /*	$NetBSD: rtcreg.h,v 1.1.1.1.2.1 2000/11/20 20:47:52 bouyer Exp $	*/
      2          1.1  takemura 
      3          1.1  takemura /*-
      4          1.1  takemura  * Copyright (c) 1999 Shin Takemura. All rights reserved.
      5          1.1  takemura  * Copyright (c) 1999 SATO Kazumi. All rights reserved.
      6          1.1  takemura  * Copyright (c) 1999 PocketBSD Project. All rights reserved.
      7          1.1  takemura  *
      8          1.1  takemura  * Redistribution and use in source and binary forms, with or without
      9          1.1  takemura  * modification, are permitted provided that the following conditions
     10          1.1  takemura  * are met:
     11          1.1  takemura  * 1. Redistributions of source code must retain the above copyright
     12          1.1  takemura  *    notice, this list of conditions and the following disclaimer.
     13          1.1  takemura  * 2. Redistributions in binary form must reproduce the above copyright
     14          1.1  takemura  *    notice, this list of conditions and the following disclaimer in the
     15          1.1  takemura  *    documentation and/or other materials provided with the distribution.
     16          1.1  takemura  * 3. All advertising materials mentioning features or use of this software
     17          1.1  takemura  *    must display the following acknowledgement:
     18          1.1  takemura  *	This product includes software developed by the PocketBSD project
     19          1.1  takemura  *	and its contributors.
     20          1.1  takemura  * 4. Neither the name of the project nor the names of its contributors
     21          1.1  takemura  *    may be used to endorse or promote products derived from this software
     22          1.1  takemura  *    without specific prior written permission.
     23          1.1  takemura  *
     24          1.1  takemura  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     25          1.1  takemura  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     26          1.1  takemura  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     27          1.1  takemura  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     28          1.1  takemura  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     29          1.1  takemura  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     30          1.1  takemura  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     31          1.1  takemura  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     32          1.1  takemura  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     33          1.1  takemura  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     34          1.1  takemura  * SUCH DAMAGE.
     35          1.1  takemura  *
     36          1.1  takemura  */
     37          1.1  takemura 
     38          1.1  takemura #define	SECMIN	((unsigned)60)			/* seconds per minute */
     39          1.1  takemura #define	SECHOUR	((unsigned)(60*SECMIN))		/* seconds per hour */
     40          1.1  takemura #define	SECDAY	((unsigned)(24*SECHOUR))	/* seconds per day */
     41          1.1  takemura #define	SECYR	((unsigned)(365*SECDAY))	/* seconds per common year */
     42          1.1  takemura 
     43  1.1.1.1.2.1    bouyer #define	SEC2MIN	((unsigned)60/2)		/* 2seconds per minute */
     44  1.1.1.1.2.1    bouyer #define	SEC2HOUR ((unsigned)(60*SECMIN)/2)	/* 2seconds per hour */
     45  1.1.1.1.2.1    bouyer #define	SEC2DAY	((unsigned)(24*SECHOUR)/2)	/* 2seconds per day */
     46  1.1.1.1.2.1    bouyer #define	SEC2YR	((unsigned)(365*SECDAY)/2)	/* 2seconds per common year */
     47  1.1.1.1.2.1    bouyer 
     48  1.1.1.1.2.1    bouyer #define	YRREF		1999
     49          1.1  takemura #define	MREF		1
     50          1.1  takemura #define	DREF		1
     51  1.1.1.1.2.1    bouyer 
     52  1.1.1.1.2.1    bouyer #define YBASE		1900
     53  1.1.1.1.2.1    bouyer 
     54  1.1.1.1.2.1    bouyer #define EPOCHOFF	0			/* epoch offset */
     55  1.1.1.1.2.1    bouyer #define EPOCHYEAR	1850	/* XXX */	/* WINCE epoch year */
     56  1.1.1.1.2.1    bouyer #define EPOCHMONTH	1			/* WINCE epoch month of year */
     57  1.1.1.1.2.1    bouyer #define EPOCHDATE	1			/* WINCE epoch date of month */
     58  1.1.1.1.2.1    bouyer 
     59          1.1  takemura #define	LEAPYEAR4(year)	((((year) % 4) == 0 && ((year) % 100) != 0) || ((year%400)) == 0)
     60          1.1  takemura #define	LEAPYEAR2(year)	(((year) % 4) == 0)
     61          1.1  takemura 
     62          1.1  takemura /*
     63          1.1  takemura  *	RTC (Real Time Clock Unit) Registers definitions.
     64          1.1  takemura  *		start 0x0B0000C0
     65          1.1  takemura  */
     66          1.1  takemura #define ETIME_L_REG_W		0x000	/* Elapsed Time L */
     67          1.1  takemura #define ETIME_M_REG_W		0x002	/* Elapsed Time M */
     68          1.1  takemura #define ETIME_H_REG_W		0x004	/* Elapsed Time H */
     69          1.1  takemura 
     70          1.1  takemura #define		ETIME_L_HZ		0x8000	/* 1 HZ */
     71          1.1  takemura 
     72          1.1  takemura 
     73          1.1  takemura #define ECMP_L_REG_W		0x008	/* Elapsed Compare L */
     74          1.1  takemura #define ECMP_M_REG_W		0x00a	/* Elapsed Compare M */
     75          1.1  takemura #define ECMP_H_REG_W		0x00c	/* Elapsed Compare H */
     76          1.1  takemura 
     77          1.1  takemura 
     78          1.1  takemura #define RTCL1_L_REG_W		0x010	/* RTC Long 1 L */
     79          1.1  takemura #define RTCL1_H_REG_W		0x012	/* RTC Long 1 H */
     80          1.1  takemura 
     81          1.1  takemura #define		RTCL1_L_HZ		0x8000	/* 1 HZ */
     82          1.1  takemura 
     83          1.1  takemura 
     84          1.1  takemura #define RTCL1_CNT_L_REG_W	0x014	/* RTC Long 1 Count L */
     85          1.1  takemura #define RTCL1_CNT_H_REG_W	0x016	/* RTC Long 1 Count H */
     86          1.1  takemura 
     87          1.1  takemura 
     88          1.1  takemura #define RTCL2_L_REG_W		0x018	/* RTC Long 2 L */
     89          1.1  takemura #define RTCL2_H_REG_W		0x01a	/* RTC Long 2 H */
     90          1.1  takemura 
     91          1.1  takemura #define		RTCL2_L_HZ		0x8000	/* 1 HZ */
     92          1.1  takemura 
     93          1.1  takemura 
     94          1.1  takemura #define RTCL2_CNT_L_REG_W	0x01c	/* RTC Long 2 Count L */
     95          1.1  takemura #define RTCL2_CNT_H_REG_W	0x01e	/* RTC Long 2 Count H */
     96          1.1  takemura 
     97          1.1  takemura 
     98          1.1  takemura #define TCLK_L_REG_W		0x100	/* TCLK L */
     99          1.1  takemura #define TCLK_H_REG_W		0x102	/* TCLK H */
    100          1.1  takemura 
    101          1.1  takemura 
    102          1.1  takemura #define TCLK_CNT_L_REG_W	0x104	/* TCLK Count L */
    103          1.1  takemura #define TCLK_CNT_H_REG_W	0x106	/* TCLK Count H */
    104          1.1  takemura 
    105          1.1  takemura 
    106          1.1  takemura #define RTCINT_REG_W		0x11e	/* RTC intr reg. */
    107          1.1  takemura 
    108          1.1  takemura #define		RTCINT_TCLOCK		(1<<3)	/* TClock */
    109          1.1  takemura #define		RTCINT_RTCLONG2		(1<<2)	/* RTC Long 2 */
    110          1.1  takemura #define		RTCINT_RTCLONG1		(1<<1)	/* RTC Long 1 */
    111          1.1  takemura #define		RTCINT_ELAPSED		(1)	/* Elapsed time */
    112          1.1  takemura #define		RTCINT_ALL		(RTCINT_TCLOCK|RTCINT_RTCLONG2|RTCINT_RTCLONG1|RTCINT_ELAPSED)
    113          1.1  takemura 
    114          1.1  takemura /* END rtcreg.h */
    115