summaryrefslogtreecommitdiff
path: root/arch/arm/mach-k3/security.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2023-05-30 16:23:41 -0400
committerTom Rini <trini@konsulko.com>2023-05-30 16:23:41 -0400
commitcb4437e530ec1ff3deae85754010344afab8bcc5 (patch)
tree1a21c3f9a0f641516881864d177c030fc9d3ed78 /arch/arm/mach-k3/security.c
parent020520bbc1ff4a542e014f0873c13b4543aea0ea (diff)
parent159f4157b52bd158aaaf3ef764e0171d6f8ec776 (diff)
Merge branch '2023-05-30-TI-fixes-Apple-M2-support'
- Fixes for some TI K3 platforms and merge the Apple M2 support I had intended to pick up earlier.
Diffstat (limited to 'arch/arm/mach-k3/security.c')
-rw-r--r--arch/arm/mach-k3/security.c32
1 files changed, 24 insertions, 8 deletions
diff --git a/arch/arm/mach-k3/security.c b/arch/arm/mach-k3/security.c
index 6179f7373aa..02a2c12dbd6 100644
--- a/arch/arm/mach-k3/security.c
+++ b/arch/arm/mach-k3/security.c
@@ -38,19 +38,16 @@ static size_t ti_secure_cert_length(void *p_image)
return seq_length + 4;
}
-void ti_secure_image_post_process(void **p_image, size_t *p_size)
+void ti_secure_image_check_binary(void **p_image, size_t *p_size)
{
- struct ti_sci_handle *ti_sci = get_ti_sci_handle();
- struct ti_sci_proc_ops *proc_ops = &ti_sci->ops.proc_ops;
- size_t cert_length;
- u64 image_addr;
u32 image_size;
- int ret;
-
+ size_t cert_length;
image_size = *p_size;
- if (!image_size)
+ if (!image_size) {
+ debug("%s: Image size is %d\n", __func__, image_size);
return;
+ }
if (get_device_type() == K3_DEVICE_TYPE_GP) {
if (ti_secure_cert_detected(*p_image)) {
@@ -78,6 +75,25 @@ void ti_secure_image_post_process(void **p_image, size_t *p_size)
"This will fail on Security Enforcing(HS-SE) devices\n");
return;
}
+}
+
+void ti_secure_image_post_process(void **p_image, size_t *p_size)
+{
+ struct ti_sci_handle *ti_sci = get_ti_sci_handle();
+ struct ti_sci_proc_ops *proc_ops = &ti_sci->ops.proc_ops;
+ u64 image_addr;
+ u32 image_size;
+ int ret;
+
+ image_size = *p_size;
+ if (!image_size) {
+ debug("%s: Image size is %d\n", __func__, image_size);
+ return;
+ }
+
+ if (get_device_type() != K3_DEVICE_TYPE_HS_SE &&
+ get_device_type() != K3_DEVICE_TYPE_HS_FS)
+ return;
/* Clean out image so it can be seen by system firmware */
image_addr = dma_map_single(*p_image, *p_size, DMA_BIDIRECTIONAL);