2 * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved.
4 * SPDX-License-Identifier: BSD-3-Clause
13 #include <lib/psci/psci.h>
15 /* Macros to read the CSS power domain state */
16 #define CSS_CORE_PWR_STATE(state) (state)->pwr_domain_state[ARM_PWR_LVL0]
17 #define CSS_CLUSTER_PWR_STATE(state) (state)->pwr_domain_state[ARM_PWR_LVL1]
19 static inline unsigned int css_system_pwr_state(const psci_power_state_t
*state
)
21 #if (PLAT_MAX_PWR_LVL == CSS_SYSTEM_PWR_DMN_LVL)
22 return state
->pwr_domain_state
[CSS_SYSTEM_PWR_DMN_LVL
];
28 int css_pwr_domain_on(u_register_t mpidr
);
29 void css_pwr_domain_on_finish(const psci_power_state_t
*target_state
);
30 void css_pwr_domain_on_finish_late(const psci_power_state_t
*target_state
);
31 void css_pwr_domain_off(const psci_power_state_t
*target_state
);
32 void css_pwr_domain_suspend(const psci_power_state_t
*target_state
);
33 void css_pwr_domain_suspend_finish(
34 const psci_power_state_t
*target_state
);
35 void __dead2
css_system_off(void);
36 void __dead2
css_system_reset(void);
37 void css_cpu_standby(plat_local_state_t cpu_state
);
38 void css_get_sys_suspend_power_state(psci_power_state_t
*req_state
);
39 int css_node_hw_state(u_register_t mpidr
, unsigned int power_level
);
42 * This mapping array has to be exported by the platform. Each element at
43 * a given index maps that core to an SCMI power domain.
45 extern const uint32_t plat_css_core_pos_to_scmi_dmn_id_map
[];