/*
 * s5m-rtc.h
 *
 * Copyright (c) 2011 Samsung Electronics Co., Ltd
 *              http://www.samsung.com
 *
 *  This program is free software; you can redistribute  it and/or modify it
 *  under  the terms of  the GNU General  Public License as published by the
 *  Free Software Foundation;  either version 2 of the  License, or (at your
 *  option) any later version.
 *
 */

#ifndef __LINUX_MFD_S5M_RTC_H
#define __LINUX_MFD_S5M_RTC_H

enum s5m87xx_rtc_reg {
	S5M87XX_RTC_SEC,
	S5M87XX_RTC_MIN,
	S5M87XX_RTC_HOUR,
	S5M87XX_RTC_WEEKDAY,
	S5M87XX_RTC_DATE,
	S5M87XX_RTC_MONTH,
	S5M87XX_RTC_YEAR1,
	S5M87XX_RTC_YEAR2,
	S5M87XX_ALARM0_SEC,
	S5M87XX_ALARM0_MIN,
	S5M87XX_ALARM0_HOUR,
	S5M87XX_ALARM0_WEEKDAY,
	S5M87XX_ALARM0_DATE,
	S5M87XX_ALARM0_MONTH,
	S5M87XX_ALARM0_YEAR1,
	S5M87XX_ALARM0_YEAR2,
	S5M87XX_ALARM1_SEC,
	S5M87XX_ALARM1_MIN,
	S5M87XX_ALARM1_HOUR,
	S5M87XX_ALARM1_WEEKDAY,
	S5M87XX_ALARM1_DATE,
	S5M87XX_ALARM1_MONTH,
	S5M87XX_ALARM1_YEAR1,
	S5M87XX_ALARM1_YEAR2,
	S5M87XX_ALARM0_CONF,
	S5M87XX_ALARM1_CONF,
	S5M87XX_RTC_STATUS,
	S5M87XX_WTSR_SMPL_CNTL,
	S5M87XX_RTC_UDR_CON,
};

#define RTC_I2C_ADDR		(0x0C >> 1)

#define HOUR_12			(1 << 7)
#define HOUR_AMPM		(1 << 6)
#define HOUR_PM			(1 << 5)
#define ALARM0_STATUS		(1 << 1)
#define ALARM1_STATUS		(1 << 2)
#define UPDATE_AD		(1 << 0)

/* RTC Control Register */
#define BCD_EN_SHIFT		0
#define BCD_EN_MASK		(1 << BCD_EN_SHIFT)
#define MODEL24_SHIFT		1
#define MODEL24_MASK		(1 << MODEL24_SHIFT)
/* RTC Update Register1 */
#define RTC_UDR_SHIFT		0
#define RTC_UDR_MASK		(1 << RTC_UDR_SHIFT)
/* RTC Hour register */
#define HOUR_PM_SHIFT		6
#define HOUR_PM_MASK		(1 << HOUR_PM_SHIFT)
/* RTC Alarm Enable */
#define ALARM_ENABLE_SHIFT	7
#define ALARM_ENABLE_MASK	(1 << ALARM_ENABLE_SHIFT)

enum {
	RTC_SEC = 0,
	RTC_MIN,
	RTC_HOUR,
	RTC_WEEKDAY,
	RTC_DATE,
	RTC_MONTH,
	RTC_YEAR1,
	RTC_YEAR2,
};

#endif /*  __LINUX_MFD_S5M_RTC_H */
