/* * 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__