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