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.
80 lines
2.9 KiB
80 lines
2.9 KiB
/*
|
|
* Copyright (c) Hisilicon Technologies Co., Ltd. 2014-2021. All rights reserved.
|
|
* Description: ci drv func decl.
|
|
* Author: Hisilicon
|
|
* Create: 2014-08-02
|
|
*/
|
|
|
|
#ifndef __DRV_CI_H__
|
|
#define __DRV_CI_H__
|
|
#include "td_type.h"
|
|
#include "soc_errno.h"
|
|
#include "drv_ioctl_ci.h"
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
#endif
|
|
|
|
#undef LOG_MODULE_ID
|
|
#define LOG_MODULE_ID SOC_ID_CI
|
|
#define LOG_D_FUNCTRACE 0
|
|
#define LOG_D_UNFTRACE 0
|
|
#define MAX_CIS_SIZE 512
|
|
|
|
/* CI driver configure structure */
|
|
typedef struct ext_ci_pccd_debuginfo {
|
|
ext_ci_pccd_status status;
|
|
ext_ci_pccd_ready ready;
|
|
td_bool by_pass;
|
|
td_u16 buffer_size;
|
|
td_bool is_ciplus;
|
|
ext_ci_attr attr;
|
|
td_u32 io_cnt;
|
|
} ci_pccd_debuginfo, *ci_pccd_debuginfo_ptr;
|
|
|
|
td_void drv_ci_init_mutex(td_void);
|
|
td_void drv_ci_de_init_mutex(td_void);
|
|
td_s32 drv_ci_init(td_void);
|
|
td_void drv_ci_de_init(td_void);
|
|
td_s32 drv_ci_open(ext_ci_port port);
|
|
td_s32 drv_ci_close(ext_ci_port port);
|
|
td_s32 drv_ci_standby(ext_ci_port port);
|
|
td_s32 drv_ci_resume(ext_ci_port port);
|
|
|
|
td_s32 drv_ci_pccd_open(ext_ci_port port, ext_ci_pccd card);
|
|
td_void drv_ci_pccd_close(ext_ci_port port, ext_ci_pccd card);
|
|
|
|
td_s32 drv_ci_pccd_ctrl_power(ext_ci_port port, ext_ci_pccd card, ext_ci_pccd_ctrl_power ctrl_power);
|
|
td_s32 drv_ci_pccd_reset(ext_ci_port port, ext_ci_pccd card);
|
|
td_s32 drv_ci_pccd_is_ready(ext_ci_port port, ext_ci_pccd card, ext_ci_pccd_ready* ready);
|
|
td_s32 drv_ci_pccd_detect(ext_ci_port port, ext_ci_pccd card, ext_ci_pccd_status* status);
|
|
td_s32 drv_ci_pccd_get_status(ext_ci_port port, ext_ci_pccd card, td_u8 *value);
|
|
td_s32 drv_ci_pccd_io_read(ext_ci_port port, ext_ci_pccd card, td_u8 *buffer, td_u32 buffer_len, td_u32 *read_len);
|
|
td_s32 drv_ci_pccd_io_write(ext_ci_port port, ext_ci_pccd card,
|
|
const td_u8 *buffer, td_u32 write_len, td_u32 *write_ok_len);
|
|
|
|
td_s32 drv_ci_pccd_check_cis(ext_ci_port port, ext_ci_pccd card);
|
|
td_s32 drv_ci_pccd_write_cor(ext_ci_port port, ext_ci_pccd card);
|
|
td_s32 drv_ci_pccd_io_reset(ext_ci_port port, ext_ci_pccd card);
|
|
td_s32 drv_ci_pccd_neg_buffer_size(ext_ci_port port, ext_ci_pccd card, td_u16 *buffer_size);
|
|
|
|
td_s32 drv_ci_pccd_ts_ctrl(ext_ci_port port, ext_ci_pccd card, ext_ci_pccd_tsctrl cmd,
|
|
const ext_ci_pccd_tsctrl_param *param);
|
|
td_s32 drv_ci_pccd_get_debug_info(ext_ci_port port, ext_ci_pccd card, ci_pccd_debuginfo_ptr debug_info);
|
|
td_s32 drv_ci_pccd_dbg_io_print_ctrl(ext_ci_port port, ext_ci_pccd card, td_bool print);
|
|
td_s32 drv_ci_pccd_write_cor_ex(ext_ci_port port, ext_ci_pccd card, td_u16 addr, td_u8 u8_data);
|
|
td_s32 drv_ci_pccd_get_cis(ext_ci_port port, ext_ci_pccd card, td_u8 *cis, td_u32 cis_len, td_u32 *ci_len);
|
|
|
|
td_s32 drv_ci_set_attr(ext_ci_port port, ext_ci_attr ci_attr);
|
|
td_s32 drv_ci_get_attr(ext_ci_port port, ext_ci_attr *ci_attr);
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|