You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
5.4 KiB
92 lines
5.4 KiB
7 months ago
|
/*
|
||
|
* Copyright (c) Hisilicon Technologies Co., Ltd. 2019-2021. All rights reserved.
|
||
|
* Description: tsr2rcipher hal func decl.
|
||
|
* Author: Hisilicon
|
||
|
* Create: 2019-08-02
|
||
|
*/
|
||
|
|
||
|
#ifndef __HAL_TSR2RCIPHER_H__
|
||
|
#define __HAL_TSR2RCIPHER_H__
|
||
|
|
||
|
#include "drv_tsr2rcipher_define.h"
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
/* TSR2RCIPHER RX hal level functions. */
|
||
|
td_void tsc_hal_rx_config(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, enum tsc_buf_type buf_type);
|
||
|
td_void tsc_hal_rx_de_config(const struct tsr2rcipher_mgmt *mgmt, td_u32 id);
|
||
|
td_void tsc_hal_rx_set_buf(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_u64 src_buf_addr, td_u32 src_buf_len);
|
||
|
td_bool tsc_hal_rx_get_dsp_tor_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id);
|
||
|
td_void tsc_hal_rx_set_buf_addr(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_u64 src_addr);
|
||
|
td_void tsc_hal_rx_set_buf_len(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_u32 src_len);
|
||
|
td_void tsc_hal_rx_add_dsc(const struct tsr2rcipher_mgmt *mgmt, td_u32 id);
|
||
|
td_void tsc_hal_rx_set_ctrl(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, enum tsc_buf_type buf_type,
|
||
|
td_u32 rx_pkg_th);
|
||
|
td_void tsc_hal_rx_set_int(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_bool dsc_rd, td_bool rx_pkt);
|
||
|
td_u32 tsc_hal_rx_get_dsc_rd_total_int_status(const struct tsr2rcipher_mgmt *mgmt);
|
||
|
td_u32 tsc_hal_rx_get_pkt_cnt_total_int_status(const struct tsr2rcipher_mgmt *mgmt);
|
||
|
td_u32 tsc_hal_rx_get_dsc_rd_int_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id);
|
||
|
td_void tsc_hal_rx_cls_dsc_rd_int_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id);
|
||
|
td_u32 tsc_hal_rx_get_pkt_cnt_int_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id);
|
||
|
td_void tsc_hal_rx_cls_pkt_cnt_int_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id);
|
||
|
td_void tsc_hal_rx_get_dsc_rd_total_int_value(const struct tsr2rcipher_mgmt *mgmt, td_u32 *value_array);
|
||
|
td_void tsc_hal_rx_get_pkt_cnt_total_int_value(const struct tsr2rcipher_mgmt *mgmt, td_u32 *value_array);
|
||
|
|
||
|
td_void tsc_hal_set_mode_ctl(const struct tsr2rcipher_mgmt *mgmt, struct tsr2rcipher_r_ch *rch,
|
||
|
enum tsc_crypt_type crypt_type);
|
||
|
|
||
|
td_void tsc_hal_en_mode_ctl(const struct tsr2rcipher_mgmt *mgmt, td_u32 id);
|
||
|
td_void tsc_hal_dis_mode_ctl(const struct tsr2rcipher_mgmt *mgmt, td_u32 id);
|
||
|
td_void tsc_hal_clr_chan(const struct tsr2rcipher_mgmt *mgmt, td_u32 id);
|
||
|
td_void tsc_hal_lock_config(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_bool is_tee_lock);
|
||
|
td_void tsc_hal_lock_deconfig(const struct tsr2rcipher_mgmt *mgmt, td_u32 id);
|
||
|
|
||
|
/* TSR2RCIPHER TX hal level functions. */
|
||
|
td_void tsc_hal_tx_config(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, enum tsc_buf_type buf_type);
|
||
|
td_void tsc_hal_tx_de_config(const struct tsr2rcipher_mgmt *mgmt, td_u32 id);
|
||
|
td_void tsc_hal_tx_set_buf(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_u64 dst_buf_addr, td_u32 dst_buf_len);
|
||
|
td_bool tsc_hal_tx_get_dsp_tor_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id);
|
||
|
td_void tsc_hal_tx_set_buf_addr(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_u64 dst_addr);
|
||
|
td_void tsc_hal_tx_set_buf_len(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_u32 dst_len);
|
||
|
td_void tsc_hal_tx_add_dsc(const struct tsr2rcipher_mgmt *mgmt, td_u32 id);
|
||
|
td_void tsc_hal_tx_set_ctrl(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, enum tsc_buf_type buf_type,
|
||
|
td_u32 tx_pkg_th);
|
||
|
td_void tsc_hal_tx_set_int(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_bool dsc_rd, td_bool tx_pkt);
|
||
|
td_u32 tsc_hal_tx_get_dsc_rd_total_int_status(const struct tsr2rcipher_mgmt *mgmt);
|
||
|
td_u32 tsc_hal_tx_get_pkt_cnt_total_int_status(const struct tsr2rcipher_mgmt *mgmt);
|
||
|
td_u32 tsc_hal_tx_get_dsc_rd_int_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id);
|
||
|
td_void tsc_hal_tx_cls_dsc_rd_int_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id);
|
||
|
td_u32 tsc_hal_tx_get_pkt_cnt_int_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id);
|
||
|
td_void tsc_hal_tx_cls_pkt_cnt_int_status(const struct tsr2rcipher_mgmt *mgmt, td_u32 id);
|
||
|
td_void tsc_hal_tx_get_dsc_rd_total_int_value(const struct tsr2rcipher_mgmt *mgmt, td_u32 *value_array);
|
||
|
td_void tsc_hal_tx_get_pkt_cnt_total_int_value(const struct tsr2rcipher_mgmt *mgmt, td_u32 *value_array);
|
||
|
|
||
|
/* TSR2RCIPHER TOP hal level functions. */
|
||
|
td_void tsc_hal_top_set_int(const struct tsr2rcipher_mgmt *mgmt, td_bool rx_int, td_bool tx_int, td_bool cipher_int);
|
||
|
td_u32 tsc_hal_top_get_rx_int_status(const struct tsr2rcipher_mgmt *mgmt);
|
||
|
td_u32 tsc_hal_top_get_rx_raw_int_status(const struct tsr2rcipher_mgmt *mgmt);
|
||
|
td_void tsc_hal_top_cls_rx_int_status(const struct tsr2rcipher_mgmt *mgmt);
|
||
|
td_u32 tsc_hal_top_get_tx_int_status(const struct tsr2rcipher_mgmt *mgmt);
|
||
|
td_u32 tsc_hal_top_get_tx_raw_int_status(const struct tsr2rcipher_mgmt *mgmt);
|
||
|
td_void tsc_hal_top_cls_tx_int_status(const struct tsr2rcipher_mgmt *mgmt);
|
||
|
td_u32 tsc_hal_top_get_cipher_int_status(const struct tsr2rcipher_mgmt *mgmt);
|
||
|
td_u32 tsc_hal_top_get_cipher_raw_int_status(const struct tsr2rcipher_mgmt *mgmt);
|
||
|
td_void tsc_hal_top_cls_cipher_int_status(const struct tsr2rcipher_mgmt *mgmt);
|
||
|
|
||
|
/* empty */
|
||
|
td_void tsc_hal_init_hw(const struct tsr2rcipher_mgmt *mgmt);
|
||
|
td_void tsc_hal_de_init_hw(const struct tsr2rcipher_mgmt *mgmt);
|
||
|
|
||
|
td_void tsc_hal_mdscset_en(const struct tsr2rcipher_mgmt *mgmt, td_u32 id, td_bool ca_en, td_bool ca_chan_scr_en);
|
||
|
|
||
|
td_void tsc_hal_en_mmu(struct tsr2rcipher_mgmt *mgmt);
|
||
|
td_void tsc_hal_dis_mmu(const struct tsr2rcipher_mgmt *mgmt);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif /* __HAL_TSR2RCIPHER_H__ */
|