Kelvin Zhang | c4c3dd1 | 2021-12-24 20:59:18 +0800 | [diff] [blame] | 1 | /* |
Jianyi Shi | fd8850a | 2023-10-23 17:46:48 +0800 | [diff] [blame] | 2 | * Copyright (c) 2021-2023 Amlogic, Inc. All rights reserved. |
Kelvin Zhang | c4c3dd1 | 2021-12-24 20:59:18 +0800 | [diff] [blame] | 3 | * |
yang.li | 2477037 | 2022-01-11 15:21:49 +0800 | [diff] [blame] | 4 | * SPDX-License-Identifier: MIT |
Kelvin Zhang | c4c3dd1 | 2021-12-24 20:59:18 +0800 | [diff] [blame] | 5 | */ |
| 6 | |
Jianyi Shi | fd8850a | 2023-10-23 17:46:48 +0800 | [diff] [blame] | 7 | #ifndef __SUSPEND_H__ |
| 8 | #define __SUSPEND_H__ |
Kelvin Zhang | c4c3dd1 | 2021-12-24 20:59:18 +0800 | [diff] [blame] | 9 | /* wake up reason*/ |
xiaohu.huang | 2beac51 | 2022-05-07 15:10:04 +0800 | [diff] [blame] | 10 | #define UDEFINED_WAKEUP 0 |
| 11 | #define CHARGING_WAKEUP 1 |
| 12 | #define REMOTE_WAKEUP 2 |
| 13 | #define RTC_WAKEUP 3 |
| 14 | #define BT_WAKEUP 4 |
| 15 | #define WIFI_WAKEUP 5 |
| 16 | #define POWER_KEY_WAKEUP 6 |
| 17 | #define AUTO_WAKEUP 7 |
| 18 | #define CEC_WAKEUP 8 |
| 19 | #define REMOTE_CUS_WAKEUP 9 |
| 20 | #define ETH_PMT_WAKEUP 10 |
| 21 | #define CECB_WAKEUP 11 |
| 22 | #define ETH_PHY_GPIO 12 |
| 23 | #define VAD_WAKEUP 13 |
| 24 | #define HDMI_RX_WAKEUP 14 |
Yu Tu | e700c71 | 2023-04-10 15:28:09 +0800 | [diff] [blame] | 25 | #define UART_RX_WAKEUP 15 |
Kelvin Zhang | c4c3dd1 | 2021-12-24 20:59:18 +0800 | [diff] [blame] | 26 | |
xiaohu.huang | 2beac51 | 2022-05-07 15:10:04 +0800 | [diff] [blame] | 27 | #define STR_QUEUE_LENGTH 32 |
Kelvin Zhang | c4c3dd1 | 2021-12-24 20:59:18 +0800 | [diff] [blame] | 28 | #define STR_QUEUE_ITEM_SIZE 4 |
Yao Jie | 5d17b5c | 2022-11-24 11:00:17 +0800 | [diff] [blame] | 29 | #define EXIT_REASON_EXTENSION_FLAG (1 << 7) |
Kelvin Zhang | c4c3dd1 | 2021-12-24 20:59:18 +0800 | [diff] [blame] | 30 | |
changpeng.jiang | 80a0aca | 2024-01-19 10:51:35 +0800 | [diff] [blame] | 31 | #define DELAY_TIME_MS 20 //20ms |
| 32 | #define POWERON_VDDCPU_DELAY (pdMS_TO_TICKS(DELAY_TIME_MS) + 1) |
changpeng.jiang | e996828 | 2024-02-06 17:26:04 +0800 | [diff] [blame] | 33 | #define POWERON_VDDIO_DELAY (pdMS_TO_TICKS(DELAY_TIME_MS) + 1) |
changpeng.jiang | 80a0aca | 2024-01-19 10:51:35 +0800 | [diff] [blame] | 34 | |
xiaohu.huang | 2beac51 | 2022-05-07 15:10:04 +0800 | [diff] [blame] | 35 | struct WakeUp_Reason { |
| 36 | char *name; |
| 37 | }; |
Kelvin Zhang | c4c3dd1 | 2021-12-24 20:59:18 +0800 | [diff] [blame] | 38 | |
Xiaohu.Huang | 6095045 | 2022-03-12 22:51:01 +0800 | [diff] [blame] | 39 | void vDDR_suspend(uint32_t st_f); |
| 40 | void vDDR_resume(uint32_t st_f); |
| 41 | uint32_t parse_suspend_msg(void *msg); |
| 42 | void vCLK_suspend(uint32_t st_f); |
| 43 | void vCLK_resume(uint32_t st_f); |
Kelvin Zhang | c4c3dd1 | 2021-12-24 20:59:18 +0800 | [diff] [blame] | 44 | extern void create_str_task(void); |
| 45 | extern void STR_Start_Sem_Give_FromISR(void); |
| 46 | extern void STR_Start_Sem_Give(void); |
| 47 | extern void STR_Wakeup_src_Queue_Send_FromISR(uint32_t *src); |
| 48 | extern void STR_Wakeup_src_Queue_Send(uint32_t *src); |
| 49 | extern void *xMboxSuspend_Sem(void *msg); |
Jianyi Shi | fd8850a | 2023-10-23 17:46:48 +0800 | [diff] [blame] | 50 | #endif /* __SUSPEND_H__ */ |
| 51 | |