mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-22 19:23:07 +00:00
dd8a29040d
At present we enable the sandbox RTC driver for all builds. Add a separate Kconfig option to control this, so that it can be disabled in TPL, where it is not needed. Signed-off-by: Simon Glass <sjg@chromium.org>
56 lines
1 KiB
C
56 lines
1 KiB
C
/* 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) && IS_ENABLED(CONFIG_RTC_SANDBOX)
|
|
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
|