1 /* 2 * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef PLAT_IMX8_H 8 #define PLAT_IMX8_H 9 10 #include <drivers/arm/gicv3.h> 11 #include <lib/psci/psci.h> 12 13 struct plat_gic_ctx { 14 gicv3_redist_ctx_t rdist_ctx[PLATFORM_CORE_COUNT]; 15 gicv3_dist_ctx_t dist_ctx; 16 }; 17 18 unsigned int plat_calc_core_pos(uint64_t mpidr); 19 void imx_mailbox_init(uintptr_t base_addr); 20 void plat_gic_driver_init(void); 21 void plat_gic_init(void); 22 void plat_gic_cpuif_enable(void); 23 void plat_gic_cpuif_disable(void); 24 void plat_gic_pcpu_init(void); 25 26 void __dead2 imx_system_off(void); 27 void __dead2 imx_system_reset(void); 28 int imx_validate_power_state(unsigned int power_state, 29 psci_power_state_t *req_state); 30 void imx_get_sys_suspend_power_state(psci_power_state_t *req_state); 31 bool imx_is_wakeup_src_irqsteer(void); 32 void plat_gic_save(unsigned int proc_num, struct plat_gic_ctx *ctx); 33 void plat_gic_restore(unsigned int proc_num, struct plat_gic_ctx *ctx); 34 35 #endif /* PLAT_IMX8_H */ 36