blob: 436db34baa510a0110dd424c14b298db1359b94a [file] [log] [blame]
developerc3dabd82021-11-08 11:30:40 +08001/*
2 * Copyright (c) 2021, MediaTek Inc. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef PLAT_PM_H
8#define PLAT_PM_H
9
10#include <lib/utils_def.h>
11
12#define MT_PLAT_PWR_STATE_CPU U(1)
13#define MT_PLAT_PWR_STATE_CLUSTER U(2)
14#define MT_PLAT_PWR_STATE_MCUSYS U(3)
15#define MT_PLAT_PWR_STATE_SUSPEND2IDLE U(8)
16#define MT_PLAT_PWR_STATE_SYSTEM_SUSPEND U(9)
17
18#define MTK_LOCAL_STATE_RUN U(0)
19#define MTK_LOCAL_STATE_RET U(1)
20#define MTK_LOCAL_STATE_OFF U(2)
21
22#define MTK_AFFLVL_CPU U(0)
23#define MTK_AFFLVL_CLUSTER U(1)
24#define MTK_AFFLVL_MCUSYS U(2)
25#define MTK_AFFLVL_SYSTEM U(3)
26
27#define IS_CLUSTER_OFF_STATE(s) \
28 is_local_state_off(s->pwr_domain_state[MTK_AFFLVL_CLUSTER])
29#define IS_MCUSYS_OFF_STATE(s) \
30 is_local_state_off(s->pwr_domain_state[MTK_AFFLVL_MCUSYS])
31#define IS_SYSTEM_SUSPEND_STATE(s) \
32 is_local_state_off(s->pwr_domain_state[MTK_AFFLVL_SYSTEM])
33
34#define IS_PLAT_SUSPEND_ID(stateid) \
35 ((stateid == MT_PLAT_PWR_STATE_SUSPEND2IDLE) \
36 || (stateid == MT_PLAT_PWR_STATE_SYSTEM_SUSPEND))
37
38#endif /* PLAT_PM_H */