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