| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 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 */ |