Hi Shyam, On 30/04/19 12:33, Shyam Saini wrote: > IMX6 platform has two stage boot loaders like SPL and > U-Boot proper. For each stage we need to burn the image > on to flash with respective offsets. > > This patch create a single image using binman, so that > user can get rid of burning different stage boot images. > > without this patch: > ------------------ > $ sudo dd if=SPL of=/dev/mmcblk0 bs=1k seek=1 > $ sudo dd if=u-boot-dtb.img of=/dev/mmcblk0 bs=1k seek=69 > > with this patch: > --------------- > $ sudo dd if=u-boot-imx6-with-spl.bin of=/dev/mmcblk0 bs=1k seek=1 >
I am quite confused. There is already a "u-boot-with-spl.imx" target, this works since a lot of time. Which is the reason to duplicate this feature or where is the difference ? Best regards, Stefano Babic > This would be easily extended to single image creation > for other imx6 soc boards. > > This was tested on engicam imx6qdl and imx6ul boards > > Reviewed-by: Jagan Teki <ja...@amarulasolutions.com> > Signed-off-by: Shyam Saini <shyam.sa...@amarulasolutions.com> > --- > Makefile | 10 ++++++++++ > arch/arm/dts/imx6-u-boot-binman.dtsi | 16 ++++++++++++++++ > arch/arm/dts/imx6qdl-u-boot.dtsi | 1 + > arch/arm/dts/imx6ul-u-boot.dtsi | 1 + > arch/arm/mach-imx/mx6/Kconfig | 2 ++ > doc/imx/common/imx6.txt | 5 +++++ > 6 files changed, 35 insertions(+) > create mode 100644 arch/arm/dts/imx6-u-boot-binman.dtsi > > diff --git a/Makefile b/Makefile > index f2c7bb6041..474271a1d0 100644 > --- a/Makefile > +++ b/Makefile > @@ -851,6 +851,11 @@ ifeq ($(CONFIG_ARCH_SUNXI)$(CONFIG_SPL),yy) > ALL-y += u-boot-sunxi-with-spl.bin > endif > > +# Build a combined spl + u-boot image for imx6 > +ifeq ($(filter y, $(CONFIG_MX6QDL) > $(CONFIG_MX6UL))$(CONFIG_SPL)$(CONFIG_OF_CONTROL),yyy) > +ALL-$(CONFIG_ARCH_MX6) += u-boot-imx6-with-spl.bin > +endif > + > # enable combined SPL/u-boot/dtb rules for tegra > ifeq ($(CONFIG_TEGRA)$(CONFIG_SPL),yy) > ALL-y += u-boot-tegra.bin u-boot-nodtb-tegra.bin > @@ -1364,6 +1369,11 @@ u-boot-br.bin: u-boot FORCE > endif > endif > > +ifeq ($(filter y, $(CONFIG_MX6QDL) > $(CONFIG_MX6UL))$(CONFIG_SPL)$(CONFIG_OF_CONTROL),yyy) > +u-boot-imx6-with-spl.bin: SPL u-boot-dtb.img FORCE > + @$(call if_changed,binman) > +endif > + > # x86 uses a large ROM. We fill it with 0xff, put the 16-bit stuff (including > # reset vector) at the top, Intel ME descriptor at the bottom, and U-Boot in > # the middle. This is handled by binman based on an image description in the > diff --git a/arch/arm/dts/imx6-u-boot-binman.dtsi > b/arch/arm/dts/imx6-u-boot-binman.dtsi > new file mode 100644 > index 0000000000..fa02d5f61f > --- /dev/null > +++ b/arch/arm/dts/imx6-u-boot-binman.dtsi > @@ -0,0 +1,16 @@ > +#include <config.h> > + > +/ { > + binman { > + filename = "u-boot-imx6-with-spl.bin"; > + pad-byte = <0xff>; > + > + blob { > + filename = "SPL"; > + }; > + > + u-boot-img { > + offset = <CONFIG_SPL_PAD_TO>; > + }; > + }; > +}; > diff --git a/arch/arm/dts/imx6qdl-u-boot.dtsi > b/arch/arm/dts/imx6qdl-u-boot.dtsi > index 0aa29e38b8..3dfa84dcac 100644 > --- a/arch/arm/dts/imx6qdl-u-boot.dtsi > +++ b/arch/arm/dts/imx6qdl-u-boot.dtsi > @@ -2,6 +2,7 @@ > /* > * Copyright (C) 2018 Jagan Teki <ja...@amarulasolutions.com> > */ > +#include "imx6-u-boot-binman.dtsi" > > / { > soc { > diff --git a/arch/arm/dts/imx6ul-u-boot.dtsi b/arch/arm/dts/imx6ul-u-boot.dtsi > index eb190cf8c8..4e769da0d5 100644 > --- a/arch/arm/dts/imx6ul-u-boot.dtsi > +++ b/arch/arm/dts/imx6ul-u-boot.dtsi > @@ -2,6 +2,7 @@ > /* > * Copyright (C) 2018 Jagan Teki <ja...@amarulasolutions.com> > */ > +#include "imx6-u-boot-binman.dtsi" > > / { > soc { > diff --git a/arch/arm/mach-imx/mx6/Kconfig b/arch/arm/mach-imx/mx6/Kconfig > index e782859b1e..7de1a00935 100644 > --- a/arch/arm/mach-imx/mx6/Kconfig > +++ b/arch/arm/mach-imx/mx6/Kconfig > @@ -34,6 +34,7 @@ config MX6QDL > bool > select HAS_CAAM > select MX6_SMP > + select BINMAN if SPL && OF_CONTROL > > config MX6S > bool > @@ -57,6 +58,7 @@ config MX6UL > select ROM_UNIFIED_SECTIONS > select SYSCOUNTER_TIMER > select SYS_L2CACHE_OFF > + select BINMAN if SPL && OF_CONTROL > > config MX6UL_LITESOM > bool > diff --git a/doc/imx/common/imx6.txt b/doc/imx/common/imx6.txt > index eab88353f6..5a10f94957 100644 > --- a/doc/imx/common/imx6.txt > +++ b/doc/imx/common/imx6.txt > @@ -88,3 +88,8 @@ Reading bank 4: > > Word 0x00000002: 9f027772 00000004 > > +2. Single Boot Image > +--------------------- > +Write your single imx6 uboot image as: > + > +$ sudo dd if=u-boot-imx6-with-spl.bin of=/dev/mmcblk0 bs=1k seek=1 > -- ===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de ===================================================================== _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot