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