Home | History | Annotate | Download | only in common
      1 /*
      2  * Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved.
      3  *
      4  * SPDX-License-Identifier: BSD-3-Clause
      5  */
      6 
      7 #ifndef __CSS_PM_H__
      8 #define __CSS_PM_H__
      9 
     10 #include <cdefs.h>
     11 #include <psci.h>
     12 #include <types.h>
     13 
     14 /* System power domain at level 2, as currently implemented by CSS platforms */
     15 #define CSS_SYSTEM_PWR_DMN_LVL		ARM_PWR_LVL2
     16 
     17 /* Macros to read the CSS power domain state */
     18 #define CSS_CORE_PWR_STATE(state)	(state)->pwr_domain_state[ARM_PWR_LVL0]
     19 #define CSS_CLUSTER_PWR_STATE(state)	(state)->pwr_domain_state[ARM_PWR_LVL1]
     20 #define CSS_SYSTEM_PWR_STATE(state)	\
     21 			((PLAT_MAX_PWR_LVL == CSS_SYSTEM_PWR_DMN_LVL) ?\
     22 			(state)->pwr_domain_state[CSS_SYSTEM_PWR_DMN_LVL] : 0)
     23 
     24 int css_pwr_domain_on(u_register_t mpidr);
     25 void css_pwr_domain_on_finish(const psci_power_state_t *target_state);
     26 void css_pwr_domain_off(const psci_power_state_t *target_state);
     27 void css_pwr_domain_suspend(const psci_power_state_t *target_state);
     28 void css_pwr_domain_suspend_finish(
     29 				const psci_power_state_t *target_state);
     30 void __dead2 css_system_off(void);
     31 void __dead2 css_system_reset(void);
     32 void css_cpu_standby(plat_local_state_t cpu_state);
     33 void css_get_sys_suspend_power_state(psci_power_state_t *req_state);
     34 int css_node_hw_state(u_register_t mpidr, unsigned int power_level);
     35 
     36 #endif /* __CSS_PM_H__ */
     37