/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * Simulate an I2C real time clock
 *
 * Copyright (c) 2015 Google, Inc
 * Written by Simon Glass <sjg@chromium.org>
 */

#ifndef __asm_rtc_h
#define __asm_rtc_h

#include <dt-structs.h>

/* Register numbers in the sandbox RTC */
enum {
	REG_SEC		= 5,
	REG_MIN,
	REG_HOUR,
	REG_MDAY,
	REG_MON,
	REG_YEAR,
	REG_WDAY,

	REG_RESET	= 0x20,

	REG_AUX0	= 0x30,
	REG_AUX1,
	REG_AUX2,
	REG_AUX3,

	REG_COUNT	= 0x80,
};

/**
 * struct sandbox_i2c_rtc_plat_data - platform data for the RTC
 *
 * @base_time:		Base system time when RTC device was bound
 * @offset:		RTC offset from current system time
 * @use_system_time:	true to use system time, false to use @base_time
 * @reg:		Register values
 */
struct sandbox_i2c_rtc_plat_data {
#if CONFIG_IS_ENABLED(OF_PLATDATA)
	struct dtd_sandbox_i2c_rtc_emul dtplat;
#endif
	long base_time;
	long offset;
	bool use_system_time;
	u8 reg[REG_COUNT];
};

struct sandbox_i2c_rtc {
	unsigned int offset_secs;
};

#endif
