1f0705d4cSAndrew Jones #ifndef _ASMARM_PSCI_H_ 2f0705d4cSAndrew Jones #define _ASMARM_PSCI_H_ 3f0705d4cSAndrew Jones #include <libcflat.h> 4f3bd1e05SAndrew Jones #include <linux/psci.h> 5f0705d4cSAndrew Jones 6*bd5bd157SAndrew Jones typedef int (*psci_invoke_fn)(unsigned int function_id, unsigned long arg0, 7c535b2f8SAndrew Jones unsigned long arg1, unsigned long arg2); 8*bd5bd157SAndrew Jones extern psci_invoke_fn psci_invoke; 9*bd5bd157SAndrew Jones extern int psci_invoke_hvc(unsigned int function_id, unsigned long arg0, 10*bd5bd157SAndrew Jones unsigned long arg1, unsigned long arg2); 11*bd5bd157SAndrew Jones extern int psci_invoke_smc(unsigned int function_id, unsigned long arg0, 12*bd5bd157SAndrew Jones unsigned long arg1, unsigned long arg2); 13*bd5bd157SAndrew Jones extern void psci_set_conduit(void); 14f0705d4cSAndrew Jones extern int psci_cpu_on(unsigned long cpuid, unsigned long entry_point); 157c12e7caSAlexandru Elisei extern void psci_system_reset(void); 1668ea0e0bSAndrew Jones extern int cpu_psci_cpu_boot(unsigned int cpu); 17d556c4a8SAndrew Jones extern void cpu_psci_cpu_die(void); 187c12e7caSAlexandru Elisei extern void psci_system_off(void); 19f0705d4cSAndrew Jones 20f0705d4cSAndrew Jones #endif /* _ASMARM_PSCI_H_ */ 21