Loading...
1/*
2 * Registers for the SGS-Thomson M48T37 Timekeeper RAM chip
3 */
4#ifndef _ASM_M48T37_H
5#define _ASM_M48T37_H
6
7#include <linux/spinlock.h>
8
9extern spinlock_t rtc_lock;
10
11struct m48t37_rtc {
12 volatile u8 pad[0x7ff0]; /* NVRAM */
13 volatile u8 flags;
14 volatile u8 century;
15 volatile u8 alarm_sec;
16 volatile u8 alarm_min;
17 volatile u8 alarm_hour;
18 volatile u8 alarm_data;
19 volatile u8 interrupts;
20 volatile u8 watchdog;
21 volatile u8 control;
22 volatile u8 sec;
23 volatile u8 min;
24 volatile u8 hour;
25 volatile u8 day;
26 volatile u8 date;
27 volatile u8 month;
28 volatile u8 year;
29};
30
31#define M48T37_RTC_SET 0x80
32#define M48T37_RTC_STOPPED 0x80
33#define M48T37_RTC_READ 0x40
34
35#endif /* _ASM_M48T37_H */
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Registers for the SGS-Thomson M48T37 Timekeeper RAM chip
4 */
5#ifndef _ASM_M48T37_H
6#define _ASM_M48T37_H
7
8#include <linux/spinlock.h>
9
10extern spinlock_t rtc_lock;
11
12struct m48t37_rtc {
13 volatile u8 pad[0x7ff0]; /* NVRAM */
14 volatile u8 flags;
15 volatile u8 century;
16 volatile u8 alarm_sec;
17 volatile u8 alarm_min;
18 volatile u8 alarm_hour;
19 volatile u8 alarm_data;
20 volatile u8 interrupts;
21 volatile u8 watchdog;
22 volatile u8 control;
23 volatile u8 sec;
24 volatile u8 min;
25 volatile u8 hour;
26 volatile u8 day;
27 volatile u8 date;
28 volatile u8 month;
29 volatile u8 year;
30};
31
32#define M48T37_RTC_SET 0x80
33#define M48T37_RTC_STOPPED 0x80
34#define M48T37_RTC_READ 0x40
35
36#endif /* _ASM_M48T37_H */