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