blob: 1e16e191409cc3bd2e7734280cbb06730b062151 [file] [log] [blame]
/*******************************************************************
* (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__*/