xref: /rk3399_ARM-atf/plat/hisilicon/hikey960/include/hisi_ipc.h (revision 28b02e2348f92cfb702695c970b893768471392d)
1*28b02e23SHaojian Zhuang /*
2*28b02e23SHaojian Zhuang  * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
3*28b02e23SHaojian Zhuang  *
4*28b02e23SHaojian Zhuang  * SPDX-License-Identifier: BSD-3-Clause
5*28b02e23SHaojian Zhuang  */
6*28b02e23SHaojian Zhuang 
7*28b02e23SHaojian Zhuang #ifndef __HISI_IPC_H__
8*28b02e23SHaojian Zhuang #define __HISI_IPC_H__
9*28b02e23SHaojian Zhuang 
10*28b02e23SHaojian Zhuang enum pm_mode {
11*28b02e23SHaojian Zhuang 	PM_ON = 0,
12*28b02e23SHaojian Zhuang 	PM_OFF,
13*28b02e23SHaojian Zhuang };
14*28b02e23SHaojian Zhuang 
15*28b02e23SHaojian Zhuang void hisi_ipc_pm_on_off(unsigned int core, unsigned int cluster,
16*28b02e23SHaojian Zhuang 			enum pm_mode mode);
17*28b02e23SHaojian Zhuang void hisi_ipc_pm_suspend(unsigned int core, unsigned int cluster,
18*28b02e23SHaojian Zhuang 			 unsigned int affinity_level);
19*28b02e23SHaojian Zhuang void hisi_ipc_psci_system_off(unsigned int core, unsigned int cluster);
20*28b02e23SHaojian Zhuang void hisi_ipc_psci_system_reset(unsigned int core, unsigned int cluster,
21*28b02e23SHaojian Zhuang 				unsigned int cmd_id);
22*28b02e23SHaojian Zhuang int hisi_ipc_init(void);
23*28b02e23SHaojian Zhuang 
24*28b02e23SHaojian Zhuang #endif /* __HISI_IPC_H__ */
25