2005-04-17 02:20:36 +04:00
/*
2005-09-04 02:56:17 +04:00
* include / asm - mips / rtc . h
2005-04-17 02:20:36 +04:00
*
* ( Really an interface for drivers / char / genrtc . c )
*
* Copyright ( C ) 2004 MontaVista Software Inc .
* Author : Jun Sun , jsun @ mvista . com or jsun @ junsun . net
*
* Please read the COPYING file for all license details .
*/
# ifndef _MIPS_RTC_H
# define _MIPS_RTC_H
# ifdef __KERNEL__
# include <linux/rtc.h>
2005-09-02 00:42:46 +04:00
# include <asm/time.h>
2005-04-17 02:20:36 +04:00
# define RTC_PIE 0x40 /* periodic interrupt enable */
# define RTC_AIE 0x20 /* alarm interrupt enable */
# define RTC_UIE 0x10 /* update-finished interrupt enable */
/* some dummy definitions */
# define RTC_BATT_BAD 0x100 /* battery bad */
# define RTC_SQWE 0x08 /* enable square-wave output */
# define RTC_DM_BINARY 0x04 /* all time/date values are BCD if clear */
# define RTC_24H 0x02 /* 24 hour mode - else hours bit 7 means pm */
# define RTC_DST_EN 0x01 /* auto switch DST - works f. USA only */
2005-09-02 00:42:46 +04:00
static inline unsigned int get_rtc_time ( struct rtc_time * time )
{
unsigned long nowtime ;
2006-04-04 19:59:37 +04:00
nowtime = rtc_mips_get_time ( ) ;
2005-09-02 00:42:46 +04:00
to_tm ( nowtime , time ) ;
time - > tm_year - = 1900 ;
return RTC_24H ;
}
static inline int set_rtc_time ( struct rtc_time * time )
{
unsigned long nowtime ;
int ret ;
nowtime = mktime ( time - > tm_year + 1900 , time - > tm_mon + 1 ,
time - > tm_mday , time - > tm_hour , time - > tm_min ,
time - > tm_sec ) ;
2006-04-04 19:59:37 +04:00
ret = rtc_mips_set_time ( nowtime ) ;
2005-09-02 00:42:46 +04:00
return ret ;
}
static inline unsigned int get_rtc_ss ( void )
{
struct rtc_time h ;
get_rtc_time ( & h ) ;
return h . tm_sec ;
}
static inline int get_rtc_pll ( struct rtc_pll_info * pll )
{
return - EINVAL ;
}
static inline int set_rtc_pll ( struct rtc_pll_info * pll )
{
return - EINVAL ;
}
2005-04-17 02:20:36 +04:00
# endif
# endif