-142736, Sync spacc driver code. -2303c6, add suspend to ram featrue. -d3bff8, support pdm mic using AEC. -203610, support new spinand flash:HYF1GQ4UDACAE. Change-Id: Iec21bccaee43c4a71213b42b88f41a45527fd8a5
74 lines
2.0 KiB
C
74 lines
2.0 KiB
C
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
#ifndef _CVITEK_SPACC_H_
|
|
#define _CVITEK_SPACC_H_
|
|
|
|
typedef enum SPACC_ALGO {
|
|
SPACC_ALGO_AES,
|
|
SPACC_ALGO_DES,
|
|
SPACC_ALGO_TDES,
|
|
SPACC_ALGO_SM4,
|
|
SPACC_ALGO_SHA1,
|
|
SPACC_ALGO_SHA256,
|
|
SPACC_ALGO_BASE64,
|
|
} SPACC_ALGO_E;
|
|
|
|
typedef enum SPACC_ALGO_MODE {
|
|
SPACC_ALGO_MODE_ECB,
|
|
SPACC_ALGO_MODE_CBC, //cv180x Not Supported
|
|
SPACC_ALGO_MODE_CTR, //cv180x Not Supported
|
|
SPACC_ALGO_MODE_OFB, //cv180x Not Supported
|
|
} SPACC_ALGO_MODE_E;
|
|
|
|
typedef enum SPACC_KEY_SIZE {
|
|
SPACC_KEY_SIZE_64BITS,
|
|
SPACC_KEY_SIZE_128BITS,
|
|
SPACC_KEY_SIZE_192BITS,
|
|
SPACC_KEY_SIZE_256BITS,
|
|
} SPACC_KEY_SIZE_E;
|
|
|
|
typedef enum SPACC_ACTION {
|
|
SPACC_ACTION_ENCRYPTION,
|
|
SPACC_ACTION_DECRYPT,
|
|
} SPACC_ACTION_E;
|
|
|
|
typedef struct spacc_base64_action {
|
|
SPACC_ACTION_E action;
|
|
} spacc_base64_action_s;
|
|
|
|
typedef struct spacc_aes_config {
|
|
// data config
|
|
void *src; //src phy address
|
|
size_t len;
|
|
|
|
// spacc config
|
|
unsigned char key[32];
|
|
unsigned char iv[16];
|
|
SPACC_ALGO_MODE_E mode;
|
|
SPACC_KEY_SIZE_E size;
|
|
SPACC_ACTION_E action;
|
|
} spacc_aes_config_s;
|
|
|
|
typedef struct spacc_des_config {
|
|
unsigned char key[24];
|
|
unsigned char iv[16];
|
|
SPACC_ALGO_MODE_E mode;
|
|
SPACC_ACTION_E action;
|
|
} spacc_des_config_s;
|
|
|
|
typedef spacc_aes_config_s spacc_sm4_config_s;
|
|
typedef spacc_des_config_s spacc_tdes_config_s;
|
|
|
|
#define IOCTL_SPACC_BASE 'S'
|
|
#define IOCTL_SPACC_CREATE_MEMPOOL _IOW(IOCTL_SPACC_BASE, 1, unsigned int)
|
|
#define IOCTL_SPACC_GET_MEMPOOL_SIZE _IOR(IOCTL_SPACC_BASE, 2, unsigned int)
|
|
|
|
#define IOCTL_SPACC_SHA256_ACTION _IO(IOCTL_SPACC_BASE, 5)
|
|
#define IOCTL_SPACC_SHA1_ACTION _IO(IOCTL_SPACC_BASE, 6)
|
|
#define IOCTL_SPACC_BASE64_ACTION _IOW(IOCTL_SPACC_BASE, 7, spacc_base64_action_s)
|
|
#define IOCTL_SPACC_AES_ACTION _IOW(IOCTL_SPACC_BASE, 8, spacc_aes_config_s)
|
|
#define IOCTL_SPACC_SM4_ACTION _IOW(IOCTL_SPACC_BASE, 9, spacc_sm4_config_s)
|
|
#define IOCTL_SPACC_DES_ACTION _IOW(IOCTL_SPACC_BASE, 10, spacc_des_config_s)
|
|
#define IOCTL_SPACC_TDES_ACTION _IOW(IOCTL_SPACC_BASE, 11, spacc_tdes_config_s)
|
|
|
|
#endif // _CVITEK_SPACC_H_
|