1/* 2 * Real-time clock definitions and interfaces 3 * 4 * Author: Tom Rini <trini@mvista.com> 5 * 6 * 2002 (c) MontaVista, Software, Inc. This file is licensed under 7 * the terms of the GNU General Public License version 2. This program 8 * is licensed "as is" without any warranty of any kind, whether express 9 * or implied. 10 * 11 * Based on: 12 * include/asm-m68k/rtc.h 13 * 14 * Copyright Richard Zidlicky 15 * implementation details for genrtc/q40rtc driver 16 * 17 * And the old drivers/macintosh/rtc.c which was heavily based on: 18 * Linux/SPARC Real Time Clock Driver 19 * Copyright (C) 1996 Thomas K. Dyas (tdyas@eden.rutgers.edu) 20 * 21 * With additional work by Paul Mackerras and Franz Sirl. 22 */ 23 24#ifndef __ASM_POWERPC_RTC_H__ 25#define __ASM_POWERPC_RTC_H__ 26 27#ifdef __KERNEL__ 28 29#include <linux/rtc.h> 30 31#include <asm/machdep.h> 32#include <asm/time.h> 33 34#define RTC_PIE 0x40 /* periodic interrupt enable */ 35#define RTC_AIE 0x20 /* alarm interrupt enable */ 36#define RTC_UIE 0x10 /* update-finished interrupt enable */ 37 38/* some dummy definitions */ 39#define RTC_BATT_BAD 0x100 /* battery bad */ 40#define RTC_SQWE 0x08 /* enable square-wave output */ 41#define RTC_DM_BINARY 0x04 /* all time/date values are BCD if clear */ 42#define RTC_24H 0x02 /* 24 hour mode - else hours bit 7 means pm */ 43#define RTC_DST_EN 0x01 /* auto switch DST - works f. USA only */ 44 45static inline unsigned int get_rtc_time(struct rtc_time *time) 46{ 47 if (ppc_md.get_rtc_time) 48 ppc_md.get_rtc_time(time); 49 return RTC_24H; 50} 51 52/* Set the current date and time in the real time clock. */ 53static inline int set_rtc_time(struct rtc_time *time) 54{ 55 if (ppc_md.set_rtc_time) 56 return ppc_md.set_rtc_time(time); 57 return -EINVAL; 58} 59 60static inline unsigned int get_rtc_ss(void) 61{ 62 struct rtc_time h; 63 64 get_rtc_time(&h); 65 return h.tm_sec; 66} 67 68static inline int get_rtc_pll(struct rtc_pll_info *pll) 69{ 70 return -EINVAL; 71} 72static inline int set_rtc_pll(struct rtc_pll_info *pll) 73{ 74 return -EINVAL; 75} 76 77#endif /* __KERNEL__ */ 78#endif /* __ASM_POWERPC_RTC_H__ */ 79