summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2020-06-22 10:51:14 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2020-07-14 20:20:18 +0200
commitd46b337511c808565709a62c62df1379b7f10e81 (patch)
tree35fc3338feb8dc00571d000792d675478d84856f /arch/arm/mach-imx
parent498c197f469c81071e2652f97e0d501b0c629c4d (diff)
downloadbarebox-d46b337511c808565709a62c62df1379b7f10e81.tar.gz
barebox-d46b337511c808565709a62c62df1379b7f10e81.tar.xz
mci: imx-esdhc-pbl: Add imx8mp_esdhc_load_image() for i.MX8MP
The image format of the i.MX8MP is different from i.MX8M, so add its own image loading function for it. Older i.MX SoCs had a IVT Offset (the offset from the start of the image to the actual data) of 1KiB. This was done to leave space for the partition table at the beginning of the device. To support GPT SoCs starting with i.MX8M an additional gap of 32KiB was added, so that the actual image started at offset 33KiB. Now starting with i.MX8MP the now superfluous 1KiB offset was removed do that the actual image now starts at 32KiB. Unfortunately the 1KiB offset is woven into the offsets of the IVT whereas the 32KiB are not, which means that we really have to handle both offsets individually instead of just handling the sum of the offsets. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r--arch/arm/mach-imx/include/mach/xload.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/include/mach/xload.h b/arch/arm/mach-imx/include/mach/xload.h
index dca05aa5d4..05022e9d09 100644
--- a/arch/arm/mach-imx/include/mach/xload.h
+++ b/arch/arm/mach-imx/include/mach/xload.h
@@ -6,6 +6,7 @@ int imx6_spi_load_image(int instance, unsigned int flash_offset, void *buf, int
int imx6_spi_start_image(int instance);
int imx6_esdhc_start_image(int instance);
int imx8m_esdhc_load_image(int instance, bool start);
+int imx8mp_esdhc_load_image(int instance, bool start);
int imx_image_size(void);
int piggydata_size(void);