[PATCH 2/2] tee: optee: allow selection of ti-smc as a calling method

From: Andrew F. Davis
Date: Mon Sep 18 2017 - 16:50:21 EST


On TI platforms OP-TEE must be called using a modified SMC call,
allow the selection of this though DT.

Signed-off-by: Andrew F. Davis <afd@xxxxxx>
---
Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt | 2 ++
drivers/tee/optee/core.c | 2 ++
2 files changed, 4 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt b/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt
index d38834c67dff..a3275ecdf186 100644
--- a/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt
+++ b/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt
@@ -20,6 +20,8 @@ the reference implementation maintained by Linaro.
"hvc" : HVC #0, with the register assignments specified
in drivers/tee/optee/optee_smc.h

+ "ti-smc" : Similar to "smc" with TI specific register
+ adjustments


Example:
diff --git a/drivers/tee/optee/core.c b/drivers/tee/optee/core.c
index 7952357df9c8..dfa9de590d98 100644
--- a/drivers/tee/optee/core.c
+++ b/drivers/tee/optee/core.c
@@ -441,6 +441,8 @@ static optee_invoke_fn *get_invoke_func(struct device_node *np)
return optee_smccc_hvc;
else if (!strcmp("smc", method))
return optee_smccc_smc;
+ else if (!strcmp("ti-smc", method))
+ return arm_ti_smccc_smc;

pr_warn("invalid \"method\" property: %s\n", method);
return ERR_PTR(-EINVAL);
--
2.14.1