+/* SPDX-License-Identifier: GPL-2.0+ */
/*
* (C) Copyright 2009
* Stefano Babic, DENX Software Engineering, sbabic@denx.de.
- *
- * SPDX-License-Identifier: GPL-2.0+
*/
#ifndef _IMXIMAGE_H_
#define APP_CODE_BARKER 0xB1
#define DCD_BARKER 0xB17219E9
+/* Specify the offset of the IVT in the IMX header as expected by BootROM */
+#define BOOTROM_IVT_HDR_OFFSET 0xC00
+
/*
* NOTE: This file must be kept in sync with arch/arm/include/asm/\
* mach-imx/imximage.cfg because tools/imximage.c can not
#define FLASH_OFFSET_NOR 0x1000
#define FLASH_OFFSET_SATA FLASH_OFFSET_STANDARD
#define FLASH_OFFSET_QSPI 0x1000
+#define FLASH_OFFSET_FLEXSPI 0x1000
/* Initial Load Region Size */
#define FLASH_LOADSIZE_UNDEFINED 0xFFFFFFFF
/* Command tags and parameters */
#define IVT_HEADER_TAG 0xD1
#define IVT_VERSION 0x40
+#define IVT_VERSION_V3 0x41
#define DCD_HEADER_TAG 0xD2
#define DCD_VERSION 0x40
#define DCD_WRITE_DATA_COMMAND_TAG 0xCC
CMD_CHECK_BITS_CLR,
CMD_CSF,
CMD_PLUGIN,
+ /* Following on i.MX8MQ/MM */
+ CMD_FIT,
+ CMD_SIGNED_HDMI,
+ CMD_LOADER,
+ CMD_SECOND_LOADER,
+ CMD_DDR_FW,
+ CMD_ROM_VERSION,
};
enum imximage_fld_types {
enum imximage_version {
IMXIMAGE_VER_INVALID = -1,
IMXIMAGE_V1 = 1,
- IMXIMAGE_V2
+ IMXIMAGE_V2,
+ IMXIMAGE_V3
};
typedef struct {
} flash_header_v1_t;
typedef struct {
- uint32_t length; /* Length of data to be read from flash */
+ uint32_t length; /* Length of data to be read from flash */
} flash_cfg_parms_t;
typedef struct {
} data;
} imx_header_v2_t;
+typedef struct {
+ flash_header_v2_t fhdr;
+ boot_data_t boot_data;
+ uint32_t padding[5];
+} imx_header_v3_t;
+
/* The header must be aligned to 4k on MX53 for NAND boot */
struct imx_header {
union {