summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/include/mach
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2018-09-11 17:23:30 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2018-09-11 17:23:30 +0200
commitbe22bb4527e3be70718dfee414e08b17c399f9fd (patch)
tree4031527cb850203102daf8bc80531d384e7452fe /arch/arm/mach-imx/include/mach
parentf00f9f52163dbb7847326e5edfa969d12f63be20 (diff)
parent6f56b955bdc6f072687f56a1c851d419512bc056 (diff)
downloadbarebox-be22bb4527e3be70718dfee414e08b17c399f9fd.tar.gz
barebox-be22bb4527e3be70718dfee414e08b17c399f9fd.tar.xz
Merge branch 'for-next/imx-hab'
Diffstat (limited to 'arch/arm/mach-imx/include/mach')
-rw-r--r--arch/arm/mach-imx/include/mach/habv4-imx6-gencsf.h13
-rw-r--r--arch/arm/mach-imx/include/mach/imx-header.h10
2 files changed, 23 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/include/mach/habv4-imx6-gencsf.h b/arch/arm/mach-imx/include/mach/habv4-imx6-gencsf.h
index 0649caa0cb..5818879609 100644
--- a/arch/arm/mach-imx/include/mach/habv4-imx6-gencsf.h
+++ b/arch/arm/mach-imx/include/mach/habv4-imx6-gencsf.h
@@ -43,3 +43,16 @@ hab [Authenticate Data]
hab Verification index = 2
hab_blocks
+
+hab_encrypt [Install Secret Key]
+hab_encrypt Verification index = 0
+hab_encrypt Target index = 0
+hab_encrypt_key
+hab_encrypt_key_length 256
+hab_encrypt_blob_address
+
+hab_encrypt [Decrypt Data]
+hab_encrypt Verification index = 0
+hab_encrypt Mac Bytes = 16
+
+hab_encrypt_blocks
diff --git a/arch/arm/mach-imx/include/mach/imx-header.h b/arch/arm/mach-imx/include/mach/imx-header.h
index d9c0933213..05f1669318 100644
--- a/arch/arm/mach-imx/include/mach/imx-header.h
+++ b/arch/arm/mach-imx/include/mach/imx-header.h
@@ -4,6 +4,14 @@
#include <linux/types.h>
#define HEADER_LEN 0x1000 /* length of the blank area + IVT + DCD */
+#define CSF_LEN 0x2000 /* length of the CSF (needed for HAB) */
+
+#define DEK_BLOB_HEADER 8 /* length of DEK blob header */
+#define DEK_BLOB_KEY 32 /* length of DEK blob AES-256 key */
+#define DEK_BLOB_MAC 16 /* length of DEK blob MAC */
+
+/* DEK blob length excluding DEK itself */
+#define DEK_BLOB_OVERHEAD (DEK_BLOB_HEADER + DEK_BLOB_KEY + DEK_BLOB_MAC)
/*
* ============================================================================
@@ -103,6 +111,8 @@ struct config_data {
int csf_space;
char *csf;
char *signed_hdmi_firmware_file;
+ int encrypt_image;
+ size_t dek_size;
};
#define MAX_RECORDS_DCD_V2 1024