diff options
Diffstat (limited to 'drivers/staging/sep54/sep_init.h')
-rw-r--r-- | drivers/staging/sep54/sep_init.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/drivers/staging/sep54/sep_init.h b/drivers/staging/sep54/sep_init.h new file mode 100644 index 00000000000..1e16e191409 --- /dev/null +++ b/drivers/staging/sep54/sep_init.h @@ -0,0 +1,72 @@ +/******************************************************************* +* (c) Copyright 2011-2012 Discretix Technologies Ltd. * +* This software is protected by copyright, international * +* treaties and patents, and distributed under multiple licenses. * +* Any use of this Software as part of the Discretix CryptoCell or * +* Packet Engine products requires a commercial license. * +* Copies of this Software that are distributed with the Discretix * +* CryptoCell or Packet Engine product drivers, may be used in * +* accordance with a commercial license, or at the user's option, * +* used and redistributed under the terms and conditions of the GNU * +* General Public License ("GPL") version 2, as published by the * +* Free Software Foundation. * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY LIABILITY AND WARRANTY; without even the implied * +* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * +* See the GNU General Public License version 2 for more details. * +* You should have received a copy of the GNU General Public * +* License version 2 along with this Software; if not, please write * +* to the Free Software Foundation, Inc., 59 Temple Place - Suite * +* 330, Boston, MA 02111-1307, USA. * +* Any copy or reproduction of this Software, as permitted under * +* the GNU General Public License version 2, must include this * +* Copyright Notice as well as any other notices provided under * +* the said license. * +********************************************************************/ + +#ifndef __SEP_INIT_H__ +#define __SEP_INIT_H__ + +#include "dx_driver.h" + +/** + * sepinit_do_cc_init() - Initiate SeP cold boot sequence and wait for + * its completion. + * + * @drvdata: + * + * This function loads the CC firmware and dispatches an CC_INIT request message + * Returns int 0 for success + */ +int sepinit_do_cc_init(struct sep_drvdata *drvdata); + +/** + * sepinit_get_fw_props() - Get the FW properties (version, cache size, etc.) + * after completing cold boot + * @drvdata: Context where to fill retrieved data + * + * This function should be called only after sepinit_do_cc_init completes + * successfully. + */ +void sepinit_get_fw_props(struct sep_drvdata *drvdata); + +/** + * sepinit_do_fw_init() - Initialize SeP FW + * @drvdata: + * + * Provide SeP FW with initialization parameters and wait for DONE_FW_INIT. + * + * Returns int 0 on success + */ +int sepinit_do_fw_init(struct sep_drvdata *drvdata, int init_flag); + +/** + * sepinit_reload_driver_state() - Wait for FW to update Sep state to reloaded + * driver state. + * @drvdata: + * + * Returns int + */ +int sepinit_reload_driver_state(struct sep_drvdata *drvdata); + +#endif /*__SEP_INIT_H__*/ |