1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (C) 2011
4  * Jason Cooper <u-boot@lakedaemon.net>
5  */
6 
7 /*
8  * Date & Time support for Marvell Integrated RTC
9  */
10 
11 #ifndef _MVRTC_H_
12 #define _MVRTC_H_
13 
14 #include <asm/arch/soc.h>
15 #include <linux/compiler.h>
16 
17 /* RTC registers */
18 struct mvrtc_registers {
19 	u32 time;
20 	u32 date;
21 };
22 
23 /* Platform data */
24 struct mvrtc_pdata {
25 	phys_addr_t iobase;
26 };
27 
28 /* time register */
29 #define MVRTC_SEC_SFT		0
30 #define MVRTC_SEC_MSK		0x7f
31 #define MVRTC_MIN_SFT		8
32 #define MVRTC_MIN_MSK		0x7f
33 #define MVRTC_HOUR_SFT		16
34 #define MVRTC_HOUR_MSK		0x3f
35 #define MVRTC_DAY_SFT		24
36 #define MVRTC_DAY_MSK		0x7
37 
38 /*
39  * Hour format bit
40  *   1 = 12 hour clock
41  *   0 = 24 hour clock
42  */
43 #define MVRTC_HRFMT_MSK		0x00400000
44 
45 /* date register */
46 #define MVRTC_DATE_SFT		0
47 #define MVRTC_DATE_MSK		0x3f
48 #define MVRTC_MON_SFT		8
49 #define MVRTC_MON_MSK		0x1f
50 #define MVRTC_YEAR_SFT		16
51 #define MVRTC_YEAR_MSK		0xff
52 
53 #endif
54