CE 配置
16 Dec 2024
Read time: 2 minute(s)
内核配置
使能 CE 相关的内核驱动:
-
在 SDK 根目录下,执行下列命令,进入 kernel 的功能配置界面:
make kernel-menuconfig
或使用简写命令
make km
-
在内核的配置界面中,配置下列选项:
Cryptographic API ---> <*> User-space interface for asymmetric key cipher algorithms [*] Hardware crypto devices ---> [*] Support for artinchip cryptographic accelerator <*> Artinchip's crypto engine driver
此处特别选择了 User-space interface for asymmetric key cipher algorithms 是因为默认的 Linux 内核仅对用户空间开放了下列四种类型的算法。算法类型 内核开放接口 说明 SKCIPHER 是 对称密钥类算法,如 AES、DES 等 AEAD 是 关联数据的认证加密类算法,如 GCM-AES,CCM-AES 等 HASH 是 消息摘要类算法,如 MD5,SHA-256 等 RNG 是 随机数类算法 AKCIPHER 否 非对称密钥类算法,如 RSA 内核中 非对称密钥类算法 默认并没有对用户空间开放。ArtInChip 对内核打了补丁,使得内核支持用户空间程序 使用内核所提供的非对称密钥算法,在配置内核时使能上述配置即可。
DTS 配置
crypto: crypto-engine@10020000 {
compatible = "artinchip,aic-crypto-v1.0";
reg = <0x0 0x10020000 0x0 0x1000>;
interrupts-extended = <&plic0 33 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cmu CLK_CE>;
resets = <&rst RESET_CE>;
status = "okay";
};