summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/include/mach
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2018-08-29 22:01:16 -0700
committerSascha Hauer <s.hauer@pengutronix.de>2018-09-04 08:33:51 +0200
commit7ebaeb49148bb3dbe6d297f488fa564f5c4c6302 (patch)
treedfa01724d86fa04f5967a64f0c39d127033cd223 /arch/arm/mach-imx/include/mach
parenta886460d6171032b2a50d440cfc314a100cf20ee (diff)
downloadbarebox-7ebaeb49148bb3dbe6d297f488fa564f5c4c6302.tar.gz
barebox-7ebaeb49148bb3dbe6d297f488fa564f5c4c6302.tar.xz
scripts: imx: Add support for signed HDMI firmware
Boot header on i.MX8MQ SoC allows embedding signed HDMI firmware images that are used by mask ROM code during the very early stages of boot. Since providing that firmware appear to be necessary to enable SoC's HDMI/DP functionality extend imx-image tool to support this feature. To do that add code implementing "signed_hdmi_firmware" keyword, which allows users to specify a path to a binary blob containing all of the necessary headers and footers as well firmware data and code sections (this is how such images are provieded by NXP) Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-imx/include/mach')
-rw-r--r--arch/arm/mach-imx/include/mach/imx-header.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/include/mach/imx-header.h b/arch/arm/mach-imx/include/mach/imx-header.h
index c9b2a58819..d9c0933213 100644
--- a/arch/arm/mach-imx/include/mach/imx-header.h
+++ b/arch/arm/mach-imx/include/mach/imx-header.h
@@ -47,6 +47,14 @@ struct imx_dcd_rec_v1 {
#define PARAMETER_FLAG_MASK (1 << 3)
#define PARAMETER_FLAG_SET (1 << 4)
+#define PLUGIN_HDMI_IMAGE 0x0002
+
+/*
+ * As per Table 6-22 "eMMC/SD BOOT layout", in Normal Boot layout HDMI
+ * firmware image starts at LBA# 64 and ends at LBA# 271
+ */
+#define PLUGIN_HDMI_SIZE ((271 - 64 + 1) * 512)
+
struct imx_ivt_header {
uint8_t tag;
uint16_t length;
@@ -94,6 +102,7 @@ struct config_data {
int (*nop)(const struct config_data *data);
int csf_space;
char *csf;
+ char *signed_hdmi_firmware_file;
};
#define MAX_RECORDS_DCD_V2 1024