
There is a common imx8mm-u-boot.dtsi that generates images for booting from MMC, but when booting FlexSPI, the image needs to be created differently. To facilitate this, the new dtsi file includes the old one, deletes the node that packages the SPL + U-Boot.itb, and replaces it with a node that packages the FlexSPI Config Block + SPL + U-Boot.itb and puts them to their proper respective locations for FlexSPI booting.
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/arch/arm/dts/imx8mm-flexspi-u-boot-dtsi b/arch/arm/dts/imx8mm-flexspi-u-boot-dtsi new file mode 100644 index 0000000000..1b889afa0c --- /dev/null +++ b/arch/arm/dts/imx8mm-flexspi-u-boot-dtsi @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: GPL-2.0+ + +#include "imx8mm-u-boot.dtsi" + +/* + * According to the TRM, the FlexSPI Configuration block exists at + * offset 0. This pushes SPL and U-Boot proper to different addresses + * To facilicate this, we'll delete the previous node and create a new + * one specific to the FlexSPI booting. + */ + + &binman { + /delete-node/ imx-boot; + + imx-fspi-boot { + filename = "flash.bin"; + pad-byte = <0x00>; + + fcfb { + filename = "arch/arm/mach-imx/imx8m/fcfb.bin"; + offset = <0x00>; + type = "blob-ext"; + }; + + spl { + filename = "spl.bin"; + offset = <0x1000>; + type = "blob-ext"; + }; + + binman_uboot: uboot { + filename = "u-boot.itb"; + offset = <0x600000>; + type = "blob-ext"; + }; + }; + };