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
|
||||
- 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,fde-key-size: indicates which FDE key size is used in device.
|
||||
|
||||
Example:
|
||||
qcom,qseecom@fe806000 {
|
||||
|
@ -46,6 +47,7 @@ Example:
|
|||
qcom,msm_bus,num_paths = <1>;
|
||||
qcom,no-clock-support;
|
||||
qcom,appsbl-qseecom-support;
|
||||
qcom,fde-key-size;
|
||||
qcom,msm_bus,vectors =
|
||||
<55 512 0 0>,
|
||||
<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,no-clock-support;
|
||||
qcom,appsbl-qseecom-support;
|
||||
qcom,fde-key-size;
|
||||
qcom,msm_bus,vectors =
|
||||
<55 512 0 0>,
|
||||
<55 512 3936000000 393600000>,
|
||||
|
|
|
@ -2248,6 +2248,7 @@
|
|||
qcom,support-fde;
|
||||
qcom,no-clock-support;
|
||||
qcom,appsbl-qseecom-support;
|
||||
qcom,fde-key-size;
|
||||
qcom,commonlib64-loaded-by-uefi;
|
||||
qcom,msm-bus,name = "qseecom-noc";
|
||||
qcom,msm-bus,num-cases = <4>;
|
||||
|
|
|
@ -95,6 +95,7 @@
|
|||
#define QSEECOM_STATE_NOT_READY 0
|
||||
#define QSEECOM_STATE_SUSPEND 1
|
||||
#define QSEECOM_STATE_READY 2
|
||||
#define QSEECOM_ICE_FDE_KEY_SIZE_MASK 2
|
||||
|
||||
/*
|
||||
* default ce info unit to 0 for
|
||||
|
@ -110,6 +111,15 @@ enum qseecom_clk_definitions {
|
|||
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 {
|
||||
QSEECOM_CLIENT_APP = 1,
|
||||
QSEECOM_LISTENER_SERVICE,
|
||||
|
@ -252,6 +262,7 @@ struct qseecom_control {
|
|||
bool support_bus_scaling;
|
||||
bool support_fde;
|
||||
bool support_pfe;
|
||||
bool fde_key_size;
|
||||
uint32_t cumulative_mode;
|
||||
enum qseecom_bandwidth_request_mode current_mode;
|
||||
struct timer_list bw_scale_down_timer;
|
||||
|
@ -5693,6 +5704,11 @@ static int qseecom_create_key(struct qseecom_dev_handle *data,
|
|||
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.qsee_command_id = QSEOS_GENERATE_KEY;
|
||||
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;
|
||||
|
||||
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;
|
||||
memset(ireq.key_id, 0, QSEECOM_KEY_ID_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");
|
||||
pr_debug("qseecom.commonlib64-loaded-by-uefi = 0x%x",
|
||||
qseecom.commonlib64_loaded);
|
||||
qseecom.fde_key_size =
|
||||
of_property_read_bool((&pdev->dev)->of_node,
|
||||
"qcom,fde-key-size");
|
||||
qseecom.no_clock_support =
|
||||
of_property_read_bool((&pdev->dev)->of_node,
|
||||
"qcom,no-clock-support");
|
||||
|
|
Loading…
Add table
Reference in a new issue