Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* |
| 2 | * This file is subject to the terms and conditions of the GNU General Public |
| 3 | * License. See the file "COPYING" in the main directory of this archive |
| 4 | * for more details. |
| 5 | * |
| 6 | * Copyright (C) 1998, 2001, 03 by Ralf Baechle |
Thomas Bogendoerfer | ea202c6 | 2007-08-25 11:01:50 +0200 | [diff] [blame^] | 7 | * Copyright (C) 2007 Thomas Bogendoerfer |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 8 | * |
| 9 | * RTC routines for Jazz style attached Dallas chip. |
| 10 | */ |
| 11 | #ifndef __ASM_MACH_JAZZ_MC146818RTC_H |
| 12 | #define __ASM_MACH_JAZZ_MC146818RTC_H |
| 13 | |
Thomas Bogendoerfer | ea202c6 | 2007-08-25 11:01:50 +0200 | [diff] [blame^] | 14 | #include <linux/delay.h> |
| 15 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 16 | #include <asm/io.h> |
| 17 | #include <asm/jazz.h> |
| 18 | |
| 19 | #define RTC_PORT(x) (0x70 + (x)) |
| 20 | #define RTC_IRQ 8 |
| 21 | |
| 22 | static inline unsigned char CMOS_READ(unsigned long addr) |
| 23 | { |
| 24 | outb_p(addr, RTC_PORT(0)); |
Thomas Bogendoerfer | ea202c6 | 2007-08-25 11:01:50 +0200 | [diff] [blame^] | 25 | return *(volatile char *)JAZZ_RTC_BASE; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 26 | } |
| 27 | |
| 28 | static inline void CMOS_WRITE(unsigned char data, unsigned long addr) |
| 29 | { |
| 30 | outb_p(addr, RTC_PORT(0)); |
Thomas Bogendoerfer | ea202c6 | 2007-08-25 11:01:50 +0200 | [diff] [blame^] | 31 | *(volatile char *)JAZZ_RTC_BASE = data; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 32 | } |
| 33 | |
| 34 | #define RTC_ALWAYS_BCD 0 |
| 35 | |
Thomas Bogendoerfer | ea202c6 | 2007-08-25 11:01:50 +0200 | [diff] [blame^] | 36 | #define mc146818_decode_year(year) ((year) + 1980) |
| 37 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 38 | #endif /* __ASM_MACH_JAZZ_MC146818RTC_H */ |