Files
gk-sdk/source/trusted-firmware/trusted-firmware-a-2.8/plat/lotus/xmfalcon/include/plat_private.h
T

53 lines
1.6 KiB
C
Executable File

/*
* Copyright (c) Lotus. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
*/
#ifndef __PLAT_PRIVATE_H__
#define __PLAT_PRIVATE_H__
/*******************************************************************************
* For socs pm ops
******************************************************************************/
struct lotus_pm_ops_cb {
int (*cores_pwr_dm_on)(unsigned long mpidr, uint64_t entrypoint);
int (*cores_pwr_dm_off)(void);
int (*cores_pwr_dm_on_finish)(void);
int (*cores_pwr_dm_suspend)(void);
int (*cores_pwr_dm_resume)(void);
int (*sys_pwr_dm_suspend)(void);
int (*sys_pwr_dm_resume)(void);
int (*sys_gbl_soft_reset)(void);
void (*sys_gbl_standby)(void);
void (*sys_gbl_poweroff)(void);
};
/*******************************************************************************
* Function and variable prototypes
******************************************************************************/
void configure_mmu_el3(unsigned long total_base,
unsigned long total_size,
unsigned long,
unsigned long);
void plat_delay_timer_init(void);
void plat_lotus_gic_driver_init(void);
void plat_lotus_gic_init(void);
void plat_lotus_gic_cpuif_enable(void);
void plat_lotus_gic_cpuif_disable(void);
void plat_lotus_gic_pcpu_init(void);
void plat_lotus_pmc_init(void);
void plat_setup_lotus_pm_ops(struct lotus_pm_ops_cb *ops);
void lotus_suspend_save_param(void);
void lotus_cpu_suspend(void);
void lotus_sys_suspend(void);
void lotus_invalidate_icache(void);
extern unsigned int lotus_sys_suspend_size;
#endif /* __PLAT_PRIVATE_H__ */