53 lines
1.6 KiB
C
Executable File
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__ */
|