64 lines
1.7 KiB
C
64 lines
1.7 KiB
C
/*
|
|
* Copyright (c) 2021-2023 Amlogic, Inc. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
#ifndef __SUSPEND_H__
|
|
#define __SUSPEND_H__
|
|
/* wake up reason*/
|
|
#define UDEFINED_WAKEUP 0
|
|
#define CHARGING_WAKEUP 1
|
|
#define REMOTE_WAKEUP 2
|
|
#define RTC_WAKEUP 3
|
|
#define BT_WAKEUP 4
|
|
#define WIFI_WAKEUP 5
|
|
#define POWER_KEY_WAKEUP 6
|
|
#define AUTO_WAKEUP 7
|
|
#define CEC_WAKEUP 8
|
|
#define REMOTE_CUS_WAKEUP 9
|
|
#define ETH_PMT_WAKEUP 10
|
|
#define CECB_WAKEUP 11
|
|
#define ETH_PHY_GPIO 12
|
|
#define VAD_WAKEUP 13
|
|
#define HDMI_RX_WAKEUP 14
|
|
#define UART_RX_WAKEUP 15
|
|
#define RADAR_GPIO_WAKEUP 16
|
|
#define ETH_WAKEUP 17
|
|
#define SED_WAKEUP 18
|
|
#define STR_QUEUE_LENGTH 32
|
|
#define STR_QUEUE_ITEM_SIZE 4
|
|
#define EXIT_REASON_EXTENSION_FLAG (1 << 7)
|
|
|
|
#define DELAY_TIME_MS 40 //DCDC 8mS * 5
|
|
#define POWERON_VDDCPU_DELAY (pdMS_TO_TICKS(DELAY_TIME_MS) + 1)
|
|
#define POWERON_VDDIO_DELAY (pdMS_TO_TICKS(DELAY_TIME_MS) + 1)
|
|
|
|
struct WakeUp_Reason {
|
|
char *name;
|
|
};
|
|
|
|
uint8_t get_suspend_flag(void);
|
|
void vDDR_suspend(uint32_t st_f);
|
|
void vDDR_resume(uint32_t st_f);
|
|
uint32_t parse_suspend_msg(void *msg);
|
|
void vCLK_suspend(uint32_t st_f);
|
|
void vCLK_resume(uint32_t st_f);
|
|
void check_poweroff_status(void);
|
|
void vDSP_suspend(uint32_t st_f);
|
|
void vDSP_resume(uint32_t st_f);
|
|
extern void create_str_task(void);
|
|
extern void STR_Start_Sem_Give_FromISR(void);
|
|
extern void STR_Start_Sem_Give(void);
|
|
extern void STR_Wakeup_src_Queue_Send_FromISR(uint32_t *src);
|
|
extern void STR_Wakeup_src_Queue_Send(uint32_t *src);
|
|
extern void *xMboxSuspend_Sem(void *msg);
|
|
uint32_t get_reason_flag(void);
|
|
#if defined(CONFIG_WATCHDOG)
|
|
void vSetWdtFlag(void);
|
|
void vClrWdtFlag(void);
|
|
#define AO_WDT_FLAG 0x1000
|
|
#endif
|
|
#endif /* __SUSPEND_H__ */
|
|
|