kt: s6 kl/kt bringup [1/1]

PD#SWPL-169992

Problem:
s6 kt/kl kernel bringup
need multi2 algo type

Solution:
s6 kt/kl kernel bringup
add multi2 algo type

Verify:
s6

Change-Id: I0622e86c05194784934f08aa0dd5d38b1239857e
Signed-off-by: Doosan Baek <doosan.baek@amlogic.com>
This commit is contained in:
Doosan Baek
2024-05-16 17:27:48 +08:00
committed by Luan Yuan
parent 646178e138
commit 107fe326b2
4 changed files with 13 additions and 7 deletions
+4 -4
View File
@@ -1867,18 +1867,18 @@
compatible = "amlogic,aml_mkl";
reg = <0x0 0xfe440200 0x0 0xf0>;
kl_type = <1>;
kl_vid_type = <1>;
kl_offset = <0x80 0x88 0x8c 0x90>;
status = "disabled";
status = "okay";
};
aml_kt {
compatible = "amlogic,aml_kt";
reg = <0x0 0xfe440500 0x0 0xa0>;
kt_offset = <0x80 0x88 0x8c 0x90 0x94 0x98 0x9c>;
kt_cap = <0x260f 0x6bf 0 64 0 32>;
s17_cfg_offset = <0x2408>;
kt_cap = <0x2F85 0x6bf 0 64 0 32>;
kt_reserved = <0>;
status = "disabled";
status = "okay";
};
chosen {
+5
View File
@@ -75,6 +75,7 @@ enum KT_ALGO_CAPABILITY {
KT_CAP_ND = 0x100,
KT_CAP_CSA3 = 0x200,
KT_CAP_CSA2 = 0x400,
KT_CAP_MULTI2 = 0x800,
KT_CAP_HMAC = 0x2000,
};
@@ -473,6 +474,10 @@ int aml_kt_config(struct aml_kt_dev *dev, struct amlkt_cfg_param key_cfg)
if (!(dev->algo_cap & KT_CAP_CSA2))
goto error_algo;
break;
case AML_KT_ALGO_MULTI2:
if (!(dev->algo_cap & KT_CAP_MULTI2))
goto error_algo;
break;
case AML_KT_ALGO_HMAC:
if (!(dev->algo_cap & KT_CAP_HMAC))
goto error_algo;
+3 -3
View File
@@ -261,7 +261,7 @@ static int aml_mkl_etsi_run(struct file *filp, struct amlkl_params *param)
(pu->uid > AML_KT_USER_TSE && pu->uid < KL_USERID_MASK) ||
pu->algo & ~KL_KEYALGO_MASK ||
(pu->algo > AML_KT_ALGO_DES && pu->algo < AML_KT_ALGO_NDL) ||
(pu->algo > AML_KT_ALGO_CSA2 && pu->algo < AML_KT_ALGO_HMAC) ||
(pu->algo > AML_KT_ALGO_MULTI2 && pu->algo < AML_KT_ALGO_HMAC) ||
(pu->algo > AML_KT_ALGO_HMAC && pu->algo < KL_KEYALGO_MASK) ||
pu->crypto & ~KL_FLAG_MASK ||
param->levels < AML_KL_LEVEL_3 || param->levels > AML_KL_LEVEL_6 ||
@@ -490,7 +490,7 @@ static int aml_mkl_run(struct file *filp, struct amlkl_params *param)
(pu->uid > AML_KT_USER_TSE && pu->uid < KL_USERID_MASK) ||
pu->algo & ~KL_KEYALGO_MASK ||
(pu->algo > AML_KT_ALGO_DES && pu->algo < AML_KT_ALGO_NDL) ||
(pu->algo > AML_KT_ALGO_CSA2 && pu->algo < AML_KT_ALGO_HMAC) ||
(pu->algo > AML_KT_ALGO_MULTI2 && pu->algo < AML_KT_ALGO_HMAC) ||
(pu->algo > AML_KT_ALGO_HMAC && pu->algo < KL_KEYALGO_MASK) ||
pu->crypto & ~KL_FLAG_MASK || param->kl_algo > AML_KL_ALGO_AES) {
KL_LOGE("Error: param data has bad parameter\n");
@@ -576,7 +576,7 @@ static int aml_mkl_msr_run(struct file *filp, struct amlkl_params *param)
(pu->uid > AML_KT_USER_TSE && pu->uid < KL_USERID_MASK) ||
pu->algo & ~KL_KEYALGO_MASK ||
(pu->algo > AML_KT_ALGO_DES && pu->algo < AML_KT_ALGO_NDL) ||
(pu->algo > AML_KT_ALGO_CSA2 && pu->algo < AML_KT_ALGO_HMAC) ||
(pu->algo > AML_KT_ALGO_MULTI2 && pu->algo < AML_KT_ALGO_HMAC) ||
(pu->algo > AML_KT_ALGO_HMAC && pu->algo < KL_KEYALGO_MASK) ||
pu->crypto & ~KL_FLAG_MASK ||
param->kl_algo > AML_KL_ALGO_AES) {
+1
View File
@@ -30,6 +30,7 @@
#define AML_KT_ALGO_ND (8)
#define AML_KT_ALGO_CSA3 (9)
#define AML_KT_ALGO_CSA2 (10)
#define AML_KT_ALGO_MULTI2 (11)
#define AML_KT_ALGO_HMAC (13)
/* key flag */