blob: 0d5c23bb0c565ca321a983ff116b30f4af6b9097 [file] [log] [blame]
Kelvin Zhangc4c3dd12021-12-24 20:59:18 +08001/*
yang.li24770372022-01-11 15:21:49 +08002 * Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved.
Kelvin Zhangc4c3dd12021-12-24 20:59:18 +08003 *
yang.li24770372022-01-11 15:21:49 +08004 * SPDX-License-Identifier: MIT
Kelvin Zhangc4c3dd12021-12-24 20:59:18 +08005 */
6
Kelvin Zhangc4c3dd12021-12-24 20:59:18 +08007/* wake up reason*/
xiaohu.huang2beac512022-05-07 15:10:04 +08008#define UDEFINED_WAKEUP 0
9#define CHARGING_WAKEUP 1
10#define REMOTE_WAKEUP 2
11#define RTC_WAKEUP 3
12#define BT_WAKEUP 4
13#define WIFI_WAKEUP 5
14#define POWER_KEY_WAKEUP 6
15#define AUTO_WAKEUP 7
16#define CEC_WAKEUP 8
17#define REMOTE_CUS_WAKEUP 9
18#define ETH_PMT_WAKEUP 10
19#define CECB_WAKEUP 11
20#define ETH_PHY_GPIO 12
21#define VAD_WAKEUP 13
22#define HDMI_RX_WAKEUP 14
Kelvin Zhangc4c3dd12021-12-24 20:59:18 +080023
xiaohu.huang2beac512022-05-07 15:10:04 +080024#define STR_QUEUE_LENGTH 32
Kelvin Zhangc4c3dd12021-12-24 20:59:18 +080025#define STR_QUEUE_ITEM_SIZE 4
Yao Jie5d17b5c2022-11-24 11:00:17 +080026#define EXIT_REASON_EXTENSION_FLAG (1 << 7)
Kelvin Zhangc4c3dd12021-12-24 20:59:18 +080027
xiaohu.huang2beac512022-05-07 15:10:04 +080028struct WakeUp_Reason {
29 char *name;
30};
Kelvin Zhangc4c3dd12021-12-24 20:59:18 +080031
Xiaohu.Huang60950452022-03-12 22:51:01 +080032void vDDR_suspend(uint32_t st_f);
33void vDDR_resume(uint32_t st_f);
34uint32_t parse_suspend_msg(void *msg);
35void vCLK_suspend(uint32_t st_f);
36void vCLK_resume(uint32_t st_f);
Kelvin Zhangc4c3dd12021-12-24 20:59:18 +080037extern void create_str_task(void);
38extern void STR_Start_Sem_Give_FromISR(void);
39extern void STR_Start_Sem_Give(void);
40extern void STR_Wakeup_src_Queue_Send_FromISR(uint32_t *src);
41extern void STR_Wakeup_src_Queue_Send(uint32_t *src);
42extern void *xMboxSuspend_Sem(void *msg);