1 /*
2  * Copyright (C) 2017 Linaro Ltd.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 and
6  * only version 2 as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  *
13  */
14 #ifndef __VENUS_FIRMWARE_H__
15 #define __VENUS_FIRMWARE_H__
16 
17 struct device;
18 
19 int venus_firmware_init(struct venus_core *core);
20 void venus_firmware_deinit(struct venus_core *core);
21 int venus_boot(struct venus_core *core);
22 int venus_shutdown(struct venus_core *core);
23 int venus_set_hw_state(struct venus_core *core, bool suspend);
24 
25 static inline int venus_set_hw_state_suspend(struct venus_core *core)
26 {
27 	return venus_set_hw_state(core, false);
28 }
29 
30 static inline int venus_set_hw_state_resume(struct venus_core *core)
31 {
32 	return venus_set_hw_state(core, true);
33 }
34 
35 #endif
36