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