1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2fd44aa5eSMagnus Damm #ifndef __ARCH_MACH_COMMON_H 3fd44aa5eSMagnus Damm #define __ARCH_MACH_COMMON_H 4fd44aa5eSMagnus Damm 5fd44aa5eSMagnus Damm extern void shmobile_init_delay(void); 6fd44aa5eSMagnus Damm extern void shmobile_boot_vector(void); 7fd44aa5eSMagnus Damm extern unsigned long shmobile_boot_fn; 8fd44aa5eSMagnus Damm extern unsigned long shmobile_boot_size; 958adf1baSFabrizio Castro extern void shmobile_boot_vector_gen2(void); 1058adf1baSFabrizio Castro extern unsigned long shmobile_boot_fn_gen2; 1158adf1baSFabrizio Castro extern unsigned long shmobile_boot_cpu_gen2; 1258adf1baSFabrizio Castro extern unsigned long shmobile_boot_size_gen2; 13fd44aa5eSMagnus Damm extern void shmobile_smp_boot(void); 14fd44aa5eSMagnus Damm extern void shmobile_smp_sleep(void); 15fd44aa5eSMagnus Damm extern void shmobile_smp_hook(unsigned int cpu, unsigned long fn, 16fd44aa5eSMagnus Damm unsigned long arg); 17787047eeSStephen Boyd extern bool shmobile_smp_cpu_can_disable(unsigned int cpu); 183fd45a13SGeert Uytterhoeven extern void shmobile_boot_apmu(void); 19fd44aa5eSMagnus Damm extern void shmobile_boot_scu(void); 208701d808SGeert Uytterhoeven extern void shmobile_smp_scu_prepare_cpus(phys_addr_t scu_base_phys, 218701d808SGeert Uytterhoeven unsigned int max_cpus); 22fd44aa5eSMagnus Damm extern void shmobile_smp_scu_cpu_die(unsigned int cpu); 23fd44aa5eSMagnus Damm extern int shmobile_smp_scu_cpu_kill(unsigned int cpu); 24fd44aa5eSMagnus Damm extern struct platform_suspend_ops shmobile_suspend_ops; 25fd44aa5eSMagnus Damm 26fd44aa5eSMagnus Damm #ifdef CONFIG_SUSPEND 27fd44aa5eSMagnus Damm int shmobile_suspend_init(void); 28d6d757c9Skeita kobayashi void shmobile_smp_apmu_suspend_init(void); 29fd44aa5eSMagnus Damm #else shmobile_suspend_init(void)30fd44aa5eSMagnus Dammstatic inline int shmobile_suspend_init(void) { return 0; } shmobile_smp_apmu_suspend_init(void)31ecdaca48SSimon Hormanstatic inline void shmobile_smp_apmu_suspend_init(void) { } 32fd44aa5eSMagnus Damm #endif 33fd44aa5eSMagnus Damm shmobile_init_late(void)34fd44aa5eSMagnus Dammstatic inline void __init shmobile_init_late(void) 35fd44aa5eSMagnus Damm { 36fd44aa5eSMagnus Damm shmobile_suspend_init(); 37fd44aa5eSMagnus Damm } 38fd44aa5eSMagnus Damm 39fd44aa5eSMagnus Damm #endif /* __ARCH_MACH_COMMON_H */ 40