Files
2026-08-24 10:03:24 +08:00

52 lines
1.1 KiB
C

/*
* Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved.
*
* SPDX-License-Identifier: MIT
*/
#ifndef __VRTC_H__
#define __VRTC_H__
#ifdef CONFIG_SOC_TXHD2
#define VRTC_TIMER_CLK_SEL GENMASK(7, 6)
#define VRTC_TIMER_MODE BIT(15)
#define VRTC_TIMER_ENABLE BIT(19)
#define VRTC_TIMER_CLK_1US 0x0
#define VRTC_TIMER_CLK_10US 0x1
#define VRTC_TIMER_CLK_100US 0x2
#define VRTC_TIMER_CLK_1MS 0x3
#else
#define VRTC_TIMER_CLK_SEL GENMASK(1, 0)
#define VRTC_TIMER_MODE BIT(6)
#define VRTC_TIMER_ENABLE BIT(7)
#define VRTC_TIMER_CLK_SYS 0x0
#define VRTC_TIMER_CLK_1US 0x1
#define VRTC_TIMER_CLK_10US 0x2
#define VRTC_TIMER_CLK_100US 0x3
#endif
#define VRTC_TIMER_THRESHOLD_MASK GENMASK(15, 0)
#define VRTC_TIMER_MODE_ONESHOT 0x0
#define VRTC_TIMER_MODE_PERIODIC 0x1
#define VRTC_TIMER_THRESHOLD_COUNT 0x1
void vRtcAlarmInit(void);
void vRtcInit(void);
void vRtcAlarmSet(void);
void vRtcAlarmClr(void);
struct rtc_time {
int tm_sec;
int tm_min;
};
extern uint32_t power_mode;
/* get time interface, time[4]:0-1:min, 2-3:sec */
void vPoweroffGetRtcMinSec(char *time);
#endif //__VRTC_H__