All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oliver Graute <oliver.graute@kococonnector.com>
To: Oliver Graute <oliver.graute@kococonnector.com>,
	Stefano Babic <sbabic@denx.de>,
	Fabio Estevam <festevam@gmail.com>,
	"NXP i.MX U-Boot Team" <uboot-imx@nxp.com>
Cc: aford173@gmail.com, peng.fan@nxp.com,
	marcel.ziswiler@toradex.com, tharvey@gateworks.com,
	andrey.zhizhikin@leica-geosystems.com, u-boot@lists.denx.de
Subject: [RFC] imx: imx8qm-rom7720: switch to binman
Date: Wed, 12 Jan 2022 10:13:24 +0100	[thread overview]
Message-ID: <20220112091325.12341-1-oliver.graute@kococonnector.com> (raw)
In-Reply-To: <20220110103033.29958-1-oliver.graute@kococonnector.com>

Switch to use binman to pack images

Signed-off-by: Oliver Graute <oliver.graute@kococonnector.com>
---

A flash.bin is now generated by binman but its now bigger then with
mkimage_fit_atf.sh 800K vs. 1.1M and is currently NOT booting.
So something is still messed up.

 arch/arm/dts/imx8qm-rom7720-a1.dts            |   1 +
 arch/arm/dts/imx8qm-u-boot.dtsi               | 136 ++++++++++++++++++
 arch/arm/mach-imx/imx8/Kconfig                |   1 +
 .../advantech/imx8qm_rom7720_a1/imximage.cfg  |  16 +--
 configs/imx8qm_rom7720_a1_4G_defconfig        |   2 +-
 doc/board/advantech/imx8qm-rom7720-a1.rst     |   3 +-
 6 files changed, 142 insertions(+), 17 deletions(-)
 create mode 100644 arch/arm/dts/imx8qm-u-boot.dtsi

diff --git a/arch/arm/dts/imx8qm-rom7720-a1.dts b/arch/arm/dts/imx8qm-rom7720-a1.dts
index d1f2fff869..332d441c6d 100644
--- a/arch/arm/dts/imx8qm-rom7720-a1.dts
+++ b/arch/arm/dts/imx8qm-rom7720-a1.dts
@@ -10,6 +10,7 @@
 /memreserve/ 0x80000000 0x00020000;
 
 #include "fsl-imx8qm.dtsi"
+#include "imx8qm-u-boot.dtsi"
 
 / {
 	model = "Advantech iMX8QM Qseven series";
diff --git a/arch/arm/dts/imx8qm-u-boot.dtsi b/arch/arm/dts/imx8qm-u-boot.dtsi
new file mode 100644
index 0000000000..98379516cc
--- /dev/null
+++ b/arch/arm/dts/imx8qm-u-boot.dtsi
@@ -0,0 +1,136 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright 2021 NXP
+ */
+
+/ {
+	binman: binman {
+		multiple-images;
+	};
+};
+
+&binman {
+	u-boot {
+		align-size = <4>;
+		align = <4>;
+		filename = "u-boot.bin";
+		pad-byte = <0xff>;
+
+		u-boot-spl {
+			align-end = <4>;
+		};
+	};
+
+	spl {
+		filename = "spl.bin";
+		mkimage {
+			args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 0x100000";
+
+			blob {
+				filename = "u-boot.bin";
+			};
+		};
+	};
+
+	itb {
+		filename = "u-boot.itb";
+
+		fit {
+			description = "Configuration to load ATF before U-Boot";
+			#address-cells = <1>;
+			fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
+
+			images {
+				uboot {
+					arch = "arm64";
+					compression = "none";
+					description = "U-Boot (64-bit)";
+					load = <CONFIG_SYS_TEXT_BASE>;
+					type = "standalone";
+
+					uboot_blob {
+						filename = "u-boot-nodtb.bin";
+						type = "blob-ext";
+					};
+				};
+
+				atf {
+					arch = "arm64";
+					compression = "none";
+					description = "ARM Trusted Firmware";
+					entry = <0x00910000>;
+					load =  <0x00091000>;
+					type = "firmware";
+
+					atf_blob {
+						filename = "bl31.bin";
+						type = "blob-ext";
+					};
+				};
+
+				scfw {
+					arch = "arm64";
+					compression = "none";
+					description = "System Controler Firmware";
+					type = "firmware";
+
+					scfw_blob {
+						filename = "mx8qm-val-scfw-tcm.bin";
+						type = "blob-ext";
+					};
+				};
+
+				seco {
+					arch = "arm64";
+					compression = "none";
+					description = "Seco Firmware";
+					type = "firmware";
+
+					seco_blob {
+						filename = "mx8qm-ahab-container.img";
+						type = "blob-ext";
+					};
+				};
+
+				fdt {
+					filename = "imx8qm-rom7720-a1";
+					type = "flat_dt";
+					compression = "none";
+
+					uboot_fdt_blob {
+						filename = "u-boot.dtb";
+						type = "blob-ext";
+					};
+				};
+			};
+
+			configurations {
+				default = "conf";
+
+				conf {
+					filename = "imx8qm-rom7720-a1";
+					firmware = "uboot";
+					loadables = "atf";
+					fdt = "fdt";
+				};
+			};
+		};
+	};
+
+	imx-boot {
+		filename = "flash.bin";
+		pad-byte = <0x00>;
+
+		spl {
+			filename = "spl.bin";
+			offset = <0x0>;
+			type = "blob-ext";
+		};
+
+		binman_uboot: uboot {
+			filename = "u-boot.itb";
+			offset = <0x6e400>;
+			type = "blob-ext";
+		};
+	};
+};
diff --git a/arch/arm/mach-imx/imx8/Kconfig b/arch/arm/mach-imx/imx8/Kconfig
index b43739e5c6..b42b985cdf 100644
--- a/arch/arm/mach-imx/imx8/Kconfig
+++ b/arch/arm/mach-imx/imx8/Kconfig
@@ -81,6 +81,7 @@ config TARGET_CONGA_QMX8
 
 config TARGET_IMX8QM_ROM7720_A1
 	bool "Support i.MX8QM ROM-7720-A1"
+	select BINMAN
 	select BOARD_LATE_INIT
 	select SUPPORT_SPL
 	select IMX8QM
diff --git a/board/advantech/imx8qm_rom7720_a1/imximage.cfg b/board/advantech/imx8qm_rom7720_a1/imximage.cfg
index e324c7ca37..30556ff9d7 100644
--- a/board/advantech/imx8qm_rom7720_a1/imximage.cfg
+++ b/board/advantech/imx8qm_rom7720_a1/imximage.cfg
@@ -5,17 +5,5 @@
 
 #define __ASSEMBLY__
 
-/* Boot from SD, sector size 0x400 */
-BOOT_FROM SD 0x400
-/* SoC type IMX8QM */
-SOC_TYPE IMX8QM
-/* Append seco container image */
-APPEND mx8qm-ahab-container.img
-/* Create the 2nd container */
-CONTAINER
-/* Add scfw image with exec attribute */
-IMAGE SCU mx8qm-val-scfw-tcm.bin
-/* Add ATF image with exec attribute */
-IMAGE A35 bl31.bin 0x80000000
-/* Add U-Boot image with load attribute */
-DATA A35 u-boot-dtb.bin 0x80020000
+BOOT_FROM	sd
+LOADER		u-boot-dtb.bin	0x10000
diff --git a/configs/imx8qm_rom7720_a1_4G_defconfig b/configs/imx8qm_rom7720_a1_4G_defconfig
index fb43fa1962..26afa4f8d7 100644
--- a/configs/imx8qm_rom7720_a1_4G_defconfig
+++ b/configs/imx8qm_rom7720_a1_4G_defconfig
@@ -18,7 +18,7 @@ CONFIG_SPL=y
 CONFIG_SYS_LOAD_ADDR=0x80280000
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
-CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
+# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_BOOTDELAY=3
 CONFIG_LOG=y
 CONFIG_BOARD_EARLY_INIT_F=y
diff --git a/doc/board/advantech/imx8qm-rom7720-a1.rst b/doc/board/advantech/imx8qm-rom7720-a1.rst
index bd4be1dbeb..953cf01fde 100644
--- a/doc/board/advantech/imx8qm-rom7720-a1.rst
+++ b/doc/board/advantech/imx8qm-rom7720-a1.rst
@@ -57,8 +57,7 @@ Build U-Boot
      $ export ATF_LOAD_ADDR=0x80000000
      $ export BL33_LOAD_ADDR=0x80020000
      $ make imx8qm_rom7720_a1_4G_defconfig
-     $ make u-boot.bin
-     $ make flash.bin
+     $ make
 
 Flash the binary into the SD card
 ---------------------------------
-- 
2.17.1


  parent reply	other threads:[~2022-01-12  9:15 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-10 10:30 [RFC] imx: imx8qm-rom7720: switch to binman Oliver Graute
2022-01-10 14:29 ` ZHIZHIKIN Andrey
2022-01-10 15:32   ` Oliver Graute
2022-01-10 15:34   ` Marcel Ziswiler
2022-01-10 16:32     ` Adam Ford
2022-01-12  9:13 ` Oliver Graute [this message]
2022-01-13 14:31   ` Oliver Graute
2022-01-26  8:18   ` Oliver Graute

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220112091325.12341-1-oliver.graute@kococonnector.com \
    --to=oliver.graute@kococonnector.com \
    --cc=aford173@gmail.com \
    --cc=andrey.zhizhikin@leica-geosystems.com \
    --cc=festevam@gmail.com \
    --cc=marcel.ziswiler@toradex.com \
    --cc=peng.fan@nxp.com \
    --cc=sbabic@denx.de \
    --cc=tharvey@gateworks.com \
    --cc=u-boot@lists.denx.de \
    --cc=uboot-imx@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.