diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2020-06-22 10:51:14 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2020-07-14 20:20:18 +0200 |
commit | d46b337511c808565709a62c62df1379b7f10e81 (patch) | |
tree | 35fc3338feb8dc00571d000792d675478d84856f /arch/arm/mach-imx | |
parent | 498c197f469c81071e2652f97e0d501b0c629c4d (diff) | |
download | barebox-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.h | 1 |
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); |