xref: /linux/arch/mips/include/asm/mach-malta/mc146818rtc.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Carsten Langgaard, carstenl@mips.com
4  * Copyright (C) 1999,2000 MIPS Technologies, Inc.  All rights reserved.
5  * Copyright (C) 2003 by Ralf Baechle
6  *
7  * RTC routines for Malta style attached PIIX4 device, which contains a
8  * Motorola MC146818A-compatible Real Time Clock.
9  */
10 #ifndef __ASM_MACH_MALTA_MC146818RTC_H
11 #define __ASM_MACH_MALTA_MC146818RTC_H
12 
13 #include <asm/io.h>
14 #include <asm/mips-boards/generic.h>
15 #include <asm/mips-boards/malta.h>
16 
17 #define RTC_PORT(x)	(0x70 + (x))
18 #define RTC_IRQ		8
19 
20 static inline unsigned char CMOS_READ(unsigned long addr)
21 {
22 	outb(addr, MALTA_RTC_ADR_REG);
23 	return inb(MALTA_RTC_DAT_REG);
24 }
25 
26 static inline void CMOS_WRITE(unsigned char data, unsigned long addr)
27 {
28 	outb(addr, MALTA_RTC_ADR_REG);
29 	outb(data, MALTA_RTC_DAT_REG);
30 }
31 
32 #define RTC_ALWAYS_BCD	0
33 
34 #define mc146818_decode_year(year) ((year) < 70 ? (year) + 2000 : (year) + 1900)
35 
36 #endif /* __ASM_MACH_MALTA_MC146818RTC_H */
37