12874c5fdSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
2384740dcSRalf Baechle /*
3384740dcSRalf Baechle  * RTC definitions for DECstation style attached Dallas DS1287 chip.
4384740dcSRalf Baechle  *
5384740dcSRalf Baechle  * Copyright (C) 1998, 2001 by Ralf Baechle
6384740dcSRalf Baechle  * Copyright (C) 1998 by Harald Koerfgen
7384740dcSRalf Baechle  * Copyright (C) 2002, 2005  Maciej W. Rozycki
8384740dcSRalf Baechle  */
9384740dcSRalf Baechle #ifndef __ASM_MIPS_DEC_RTC_DEC_H
10384740dcSRalf Baechle #define __ASM_MIPS_DEC_RTC_DEC_H
11384740dcSRalf Baechle 
12384740dcSRalf Baechle #include <linux/types.h>
13384740dcSRalf Baechle #include <asm/addrspace.h>
14384740dcSRalf Baechle #include <asm/dec/system.h>
15384740dcSRalf Baechle 
16384740dcSRalf Baechle extern volatile u8 *dec_rtc_base;
17384740dcSRalf Baechle 
18384740dcSRalf Baechle #define ARCH_RTC_LOCATION
19384740dcSRalf Baechle 
20384740dcSRalf Baechle #define RTC_PORT(x)	CPHYSADDR((long)dec_rtc_base)
21384740dcSRalf Baechle #define RTC_IO_EXTENT	dec_kn_slot_size
22384740dcSRalf Baechle #define RTC_IOMAPPED	0
23384740dcSRalf Baechle #undef RTC_IRQ
24384740dcSRalf Baechle 
25384740dcSRalf Baechle #define RTC_DEC_YEAR	0x3f	/* Where we store the real year on DECs.  */
26384740dcSRalf Baechle 
CMOS_READ(unsigned long addr)27384740dcSRalf Baechle static inline unsigned char CMOS_READ(unsigned long addr)
28384740dcSRalf Baechle {
29384740dcSRalf Baechle 	return dec_rtc_base[addr * 4];
30384740dcSRalf Baechle }
31384740dcSRalf Baechle 
CMOS_WRITE(unsigned char data,unsigned long addr)32384740dcSRalf Baechle static inline void CMOS_WRITE(unsigned char data, unsigned long addr)
33384740dcSRalf Baechle {
34384740dcSRalf Baechle 	dec_rtc_base[addr * 4] = data;
35384740dcSRalf Baechle }
36384740dcSRalf Baechle 
37384740dcSRalf Baechle #define RTC_ALWAYS_BCD	0
38384740dcSRalf Baechle 
39384740dcSRalf Baechle #endif /* __ASM_MIPS_DEC_RTC_DEC_H */
40