| /* SPDX-License-Identifier: GPL-2.0+ */ |
| /* |
| * Copyright (C) 2011 |
| * Jason Cooper <u-boot@lakedaemon.net> |
| */ |
| |
| /* |
| * Date & Time support for Marvell Integrated RTC |
| */ |
| |
| #ifndef _MVRTC_H_ |
| #define _MVRTC_H_ |
| |
| #include <asm/arch/soc.h> |
| #include <linux/compiler.h> |
| |
| /* RTC registers */ |
| struct mvrtc_registers { |
| u32 time; |
| u32 date; |
| }; |
| |
| /* Platform data */ |
| struct mvrtc_pdata { |
| phys_addr_t iobase; |
| }; |
| |
| /* time register */ |
| #define MVRTC_SEC_SFT 0 |
| #define MVRTC_SEC_MSK 0x7f |
| #define MVRTC_MIN_SFT 8 |
| #define MVRTC_MIN_MSK 0x7f |
| #define MVRTC_HOUR_SFT 16 |
| #define MVRTC_HOUR_MSK 0x3f |
| #define MVRTC_DAY_SFT 24 |
| #define MVRTC_DAY_MSK 0x7 |
| |
| /* |
| * Hour format bit |
| * 1 = 12 hour clock |
| * 0 = 24 hour clock |
| */ |
| #define MVRTC_HRFMT_MSK 0x00400000 |
| |
| /* date register */ |
| #define MVRTC_DATE_SFT 0 |
| #define MVRTC_DATE_MSK 0x3f |
| #define MVRTC_MON_SFT 8 |
| #define MVRTC_MON_MSK 0x1f |
| #define MVRTC_YEAR_SFT 16 |
| #define MVRTC_YEAR_MSK 0xff |
| |
| #endif |