Edit online

接口设计

5 Nov 2024
Read time: 1 minute(s)
1. aic_spienc_alg_init
函数原型int aic_spienc_alg_init(struct crypto_skcipher *tfm)
功能说明对称密钥算法的初始化函数
参数定义struct crypto_skcipher *tfm 算法实例指针
返回值0: 成功

其他: 失败

注意事项-
2. aic_spienc_probe
函数原型int aic_spienc_probe(struct platform_device *pdev)
功能说明驱动的初始化函数
参数定义struct platform_device *pdev 设备指针
返回值0: 成功

其他: 失败

注意事项-
3. aic_spienc_attach_bus
函数原型int aic_spienc_attach_bus(struct aic_spienc_drvdata *drvdata, u32 bus)
功能说明将 SPI ENC 连接到指定的 SPI 控制器
参数定义struct aic_spienc_drvdata *drvdata 设备驱动数据指针 busSPI 控制器 ID
返回值0: 成功

其他: 失败

注意事项-
4. aic_spienc_encrypt
函数原型int aic_spienc_encrypt(struct skcipher_request *req)
功能说明配置 SPI_ENC 启动数据加密
参数定义struct skcipher_request *req 加密请求指针
返回值0: 成功

其他: 失败

注意事项-
5. aic_spienc_decrypt
函数原型int aic_spienc_decrypt(struct skcipher_request *req)
功能说明配置 SPI_ENC 启动数据解密
参数定义struct skcipher_request *req 解密请求指针
返回值0: 成功

其他: 失败

注意事项-

Driver 层接口设计

6. drv_spienc_set_cfg
函数原型void drv_spienc_set_cfg(u32 spi_bus, u32 addr, u32 cpos, u32 clen)
功能说明配置加密数据信息
参数定义
  • spi_bus - 选择需要配置的 QSPI 设备
  • addr - 本次传输数据的起始地址
  • cpos - 本次传输密文数据的开始位置
  • clen - 本次传输密文的数据长度
返回值
注意事项-
7. drv_spienc_start
函数原型void drv_spienc_start(void)
功能说明启动 SPI_ENC
参数定义
返回值
注意事项-
8. drv_spienc_stop
函数原型void drv_spienc_stop(void)
功能说明停止 SPI_ENC
参数定义
返回值
注意事项-
9. drv_spienc_check_empty
函数原型int drv_spienc_check_empty(void)
功能说明检查本次读取数据是否全为空
参数定义
返回值0,本次传输数据不全为空。1,本次传输数据全为空
注意事项-

HAL 层接口设计

HAL 层的函数接口声明存放在 hal_spienc.h 中,主要接口有:
int hal_spienc_init(void);
void hal_spienc_set_cfg(u32 spi_bus, u32 addr, u32 cpos, u32 clen);
void hal_spienc_start(void);
void hal_spienc_stop(void);
int hal_spienc_check_empty(void);