1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Machine dependent access functions for RTC registers. 4 */ 5 #ifndef _ASM_MC146818RTC_H 6 #define _ASM_MC146818RTC_H 7 8 #include <linux/io.h> 9 #include <linux/kernel.h> 10 11 #define RTC_IRQ BUILD_BUG_ON(1) 12 13 #ifndef RTC_PORT 14 #define RTC_PORT(x) (0x70 + (x)) 15 #define RTC_ALWAYS_BCD 1 /* RTC operates in binary mode */ 16 #endif 17 18 /* 19 * The yet supported machines all access the RTC index register via 20 * an ISA port access but the way to access the date register differs ... 21 */ 22 #define CMOS_READ(addr) ({ \ 23 outb_p((addr),RTC_PORT(0)); \ 24 inb_p(RTC_PORT(1)); \ 25 }) 26 #define CMOS_WRITE(val, addr) ({ \ 27 outb_p((addr),RTC_PORT(0)); \ 28 outb_p((val),RTC_PORT(1)); \ 29 }) 30 31 #endif /* _ASM_MC146818RTC_H */ 32