Merge "ARM: dts: msm: specify a flag to control encryption key size on msm8998"
This commit is contained in:
commit
6319a38981
3 changed files with 29 additions and 0 deletions
|
@ -26,6 +26,7 @@ Optional properties:
|
||||||
- vdd-hba-supply : handle for fixed power regulator
|
- vdd-hba-supply : handle for fixed power regulator
|
||||||
- qcom,qsee-reentrancy-support: indicates the qsee reentrancy phase supported by the target
|
- qcom,qsee-reentrancy-support: indicates the qsee reentrancy phase supported by the target
|
||||||
- qcom,commonlib64-loaded-by-uefi: indicates commonlib64 is loaded by uefi already
|
- qcom,commonlib64-loaded-by-uefi: indicates commonlib64 is loaded by uefi already
|
||||||
|
- qcom,fde-key-size: indicates which FDE key size is used in device.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
qcom,qseecom@fe806000 {
|
qcom,qseecom@fe806000 {
|
||||||
|
@ -46,6 +47,7 @@ Example:
|
||||||
qcom,msm_bus,num_paths = <1>;
|
qcom,msm_bus,num_paths = <1>;
|
||||||
qcom,no-clock-support;
|
qcom,no-clock-support;
|
||||||
qcom,appsbl-qseecom-support;
|
qcom,appsbl-qseecom-support;
|
||||||
|
qcom,fde-key-size;
|
||||||
qcom,msm_bus,vectors =
|
qcom,msm_bus,vectors =
|
||||||
<55 512 0 0>,
|
<55 512 0 0>,
|
||||||
<55 512 3936000000 393600000>,
|
<55 512 3936000000 393600000>,
|
||||||
|
@ -72,6 +74,7 @@ Example: The following dts setup is the same as the example above.
|
||||||
qcom,msm_bus,num_paths = <1>;
|
qcom,msm_bus,num_paths = <1>;
|
||||||
qcom,no-clock-support;
|
qcom,no-clock-support;
|
||||||
qcom,appsbl-qseecom-support;
|
qcom,appsbl-qseecom-support;
|
||||||
|
qcom,fde-key-size;
|
||||||
qcom,msm_bus,vectors =
|
qcom,msm_bus,vectors =
|
||||||
<55 512 0 0>,
|
<55 512 0 0>,
|
||||||
<55 512 3936000000 393600000>,
|
<55 512 3936000000 393600000>,
|
||||||
|
|
|
@ -2248,6 +2248,7 @@
|
||||||
qcom,support-fde;
|
qcom,support-fde;
|
||||||
qcom,no-clock-support;
|
qcom,no-clock-support;
|
||||||
qcom,appsbl-qseecom-support;
|
qcom,appsbl-qseecom-support;
|
||||||
|
qcom,fde-key-size;
|
||||||
qcom,commonlib64-loaded-by-uefi;
|
qcom,commonlib64-loaded-by-uefi;
|
||||||
qcom,msm-bus,name = "qseecom-noc";
|
qcom,msm-bus,name = "qseecom-noc";
|
||||||
qcom,msm-bus,num-cases = <4>;
|
qcom,msm-bus,num-cases = <4>;
|
||||||
|
|
|
@ -95,6 +95,7 @@
|
||||||
#define QSEECOM_STATE_NOT_READY 0
|
#define QSEECOM_STATE_NOT_READY 0
|
||||||
#define QSEECOM_STATE_SUSPEND 1
|
#define QSEECOM_STATE_SUSPEND 1
|
||||||
#define QSEECOM_STATE_READY 2
|
#define QSEECOM_STATE_READY 2
|
||||||
|
#define QSEECOM_ICE_FDE_KEY_SIZE_MASK 2
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* default ce info unit to 0 for
|
* default ce info unit to 0 for
|
||||||
|
@ -110,6 +111,15 @@ enum qseecom_clk_definitions {
|
||||||
CLK_SFPB,
|
CLK_SFPB,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum qseecom_ice_key_size_type {
|
||||||
|
QSEECOM_ICE_FDE_KEY_SIZE_16_BYTE =
|
||||||
|
(0 << QSEECOM_ICE_FDE_KEY_SIZE_MASK),
|
||||||
|
QSEECOM_ICE_FDE_KEY_SIZE_32_BYTE =
|
||||||
|
(1 << QSEECOM_ICE_FDE_KEY_SIZE_MASK),
|
||||||
|
QSEE_ICE_FDE_KEY_SIZE_UNDEFINED =
|
||||||
|
(0xF << QSEECOM_ICE_FDE_KEY_SIZE_MASK),
|
||||||
|
};
|
||||||
|
|
||||||
enum qseecom_client_handle_type {
|
enum qseecom_client_handle_type {
|
||||||
QSEECOM_CLIENT_APP = 1,
|
QSEECOM_CLIENT_APP = 1,
|
||||||
QSEECOM_LISTENER_SERVICE,
|
QSEECOM_LISTENER_SERVICE,
|
||||||
|
@ -252,6 +262,7 @@ struct qseecom_control {
|
||||||
bool support_bus_scaling;
|
bool support_bus_scaling;
|
||||||
bool support_fde;
|
bool support_fde;
|
||||||
bool support_pfe;
|
bool support_pfe;
|
||||||
|
bool fde_key_size;
|
||||||
uint32_t cumulative_mode;
|
uint32_t cumulative_mode;
|
||||||
enum qseecom_bandwidth_request_mode current_mode;
|
enum qseecom_bandwidth_request_mode current_mode;
|
||||||
struct timer_list bw_scale_down_timer;
|
struct timer_list bw_scale_down_timer;
|
||||||
|
@ -5693,6 +5704,11 @@ static int qseecom_create_key(struct qseecom_dev_handle *data,
|
||||||
goto free_buf;
|
goto free_buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (qseecom.fde_key_size)
|
||||||
|
flags |= QSEECOM_ICE_FDE_KEY_SIZE_32_BYTE;
|
||||||
|
else
|
||||||
|
flags |= QSEECOM_ICE_FDE_KEY_SIZE_16_BYTE;
|
||||||
|
|
||||||
generate_key_ireq.flags = flags;
|
generate_key_ireq.flags = flags;
|
||||||
generate_key_ireq.qsee_command_id = QSEOS_GENERATE_KEY;
|
generate_key_ireq.qsee_command_id = QSEOS_GENERATE_KEY;
|
||||||
memset((void *)generate_key_ireq.key_id,
|
memset((void *)generate_key_ireq.key_id,
|
||||||
|
@ -5913,6 +5929,12 @@ static int qseecom_update_key_user_info(struct qseecom_dev_handle *data,
|
||||||
}
|
}
|
||||||
|
|
||||||
ireq.qsee_command_id = QSEOS_UPDATE_KEY_USERINFO;
|
ireq.qsee_command_id = QSEOS_UPDATE_KEY_USERINFO;
|
||||||
|
|
||||||
|
if (qseecom.fde_key_size)
|
||||||
|
flags |= QSEECOM_ICE_FDE_KEY_SIZE_32_BYTE;
|
||||||
|
else
|
||||||
|
flags |= QSEECOM_ICE_FDE_KEY_SIZE_16_BYTE;
|
||||||
|
|
||||||
ireq.flags = flags;
|
ireq.flags = flags;
|
||||||
memset(ireq.key_id, 0, QSEECOM_KEY_ID_SIZE);
|
memset(ireq.key_id, 0, QSEECOM_KEY_ID_SIZE);
|
||||||
memset((void *)ireq.current_hash32, 0, QSEECOM_HASH_SIZE);
|
memset((void *)ireq.current_hash32, 0, QSEECOM_HASH_SIZE);
|
||||||
|
@ -8346,6 +8368,9 @@ static int qseecom_probe(struct platform_device *pdev)
|
||||||
"qcom,commonlib64-loaded-by-uefi");
|
"qcom,commonlib64-loaded-by-uefi");
|
||||||
pr_debug("qseecom.commonlib64-loaded-by-uefi = 0x%x",
|
pr_debug("qseecom.commonlib64-loaded-by-uefi = 0x%x",
|
||||||
qseecom.commonlib64_loaded);
|
qseecom.commonlib64_loaded);
|
||||||
|
qseecom.fde_key_size =
|
||||||
|
of_property_read_bool((&pdev->dev)->of_node,
|
||||||
|
"qcom,fde-key-size");
|
||||||
qseecom.no_clock_support =
|
qseecom.no_clock_support =
|
||||||
of_property_read_bool((&pdev->dev)->of_node,
|
of_property_read_bool((&pdev->dev)->of_node,
|
||||||
"qcom,no-clock-support");
|
"qcom,no-clock-support");
|
||||||
|
|
Loading…
Add table
Reference in a new issue