xref: /rk3399_ARM-atf/plat/imx/imx8m/include/imx8m_psci.h (revision a8b7a175476c3b4a0199a4eee1fdcaf6249ab345)
1e8837b0aSJacky Bai /*
2e8837b0aSJacky Bai  * Copyright (c) 2019, ARM Limited and Contributors. All rights reserved.
3e8837b0aSJacky Bai  *
4e8837b0aSJacky Bai  * SPDX-License-Identifier: BSD-3-Clause
5e8837b0aSJacky Bai  */
6e8837b0aSJacky Bai 
7e8837b0aSJacky Bai #ifndef IMX8M_PSCI_H
8e8837b0aSJacky Bai #define IMX8M_PSCI_H
9e8837b0aSJacky Bai 
10e8837b0aSJacky Bai #define CORE_PWR_STATE(state) ((state)->pwr_domain_state[MPIDR_AFFLVL0])
11e8837b0aSJacky Bai #define CLUSTER_PWR_STATE(state) ((state)->pwr_domain_state[MPIDR_AFFLVL1])
12e8837b0aSJacky Bai #define SYSTEM_PWR_STATE(state) ((state)->pwr_domain_state[PLAT_MAX_PWR_LVL])
13e8837b0aSJacky Bai 
14e8837b0aSJacky Bai int imx_pwr_domain_on(u_register_t mpidr);
15e8837b0aSJacky Bai void imx_pwr_domain_on_finish(const psci_power_state_t *target_state);
16e8837b0aSJacky Bai void imx_pwr_domain_off(const psci_power_state_t *target_state);
17e8837b0aSJacky Bai int imx_validate_ns_entrypoint(uintptr_t ns_entrypoint);
18e8837b0aSJacky Bai void imx_cpu_standby(plat_local_state_t cpu_state);
19e8837b0aSJacky Bai void imx_domain_suspend(const psci_power_state_t *target_state);
20e8837b0aSJacky Bai void imx_domain_suspend_finish(const psci_power_state_t *target_state);
21e8837b0aSJacky Bai void __dead2 imx_pwr_domain_pwr_down_wfi(const psci_power_state_t *target_state);
22*60a0dde9SIgor Opaniuk int imx_system_reset2(int is_vendor, int reset_type, u_register_t cookie);
23e8837b0aSJacky Bai 
24e8837b0aSJacky Bai #endif /* IMX8M_PSCI_H */
25