All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/7] board: toradex: verdin-imx8mm: target refresh
@ 2021-08-20 20:52 Marcel Ziswiler
  2021-08-20 20:52 ` [PATCH v1 1/7] imx: mkimage_fit_atf: fix legacy image generation Marcel Ziswiler
                   ` (6 more replies)
  0 siblings, 7 replies; 18+ messages in thread
From: Marcel Ziswiler @ 2021-08-20 20:52 UTC (permalink / raw)
  To: u-boot
  Cc: Heiko Thiery, Stefano Babic, Fabio Estevam, Frieder Schrempf,
	Marcel Ziswiler, Heiko Schocher, Igor Opaniuk, Ilko Iliev,
	Jagan Teki, Marek Vasut, Max Krummenacher, NXP i.MX U-Boot Team,
	Peng Fan, Simon Glass, Teresa Remmet, Tom Rini

From: Marcel Ziswiler <marcel.ziswiler@toradex.com>


An assortment of fixes and improvements like a legacy image generation
fix, an Ethernet PHY configuration fix, DEK blob encapsulation
preparation, migration to using binman to pack images, SLEEP_MOCI#
enablement and dropping of V1.0 hardware support [1].

One last issue I am still trying to debug the root cause of. As already
once mentioned back here [2] it still prints the following error
message during boot:

imx_wdt watchdog@30280000:
 pinctrl_select_state_full: uclass_get_device_by_phandle_id: err=-19

Note that this series is applied on top of Peng's Makefile fix [3] as
otherwise, it may not quite generate all binman artefacts in the right
order as discussed here [4].

[1] https://developer.toradex.com/verdin-sample-phase-over
[2] https://marc.info/?l=u-boot&m=161786572422973
[3] https://marc.info/?l=u-boot&m=162908373904742
[4] https://marc.info/?l=u-boot&m=162945614207220


Marcel Ziswiler (5):
  imx: mkimage_fit_atf: fix legacy image generation
  imx8m: clean-up kconfig indentation
  verdin-imx8mm: fix ethernet
  ARM: dts: imx8mm-verdin: prepare for dek blob encapsulation
  verdin-imx8mm: switch to use binman to pack images

Max Krummenacher (2):
  verdin-imx8mm: enable sleep_moci output
  verdin-imx8mm: drop support for v1.0 hardware

 arch/arm/dts/imx8mm-verdin-u-boot.dtsi      | 129 +++++++++++++++++++-
 arch/arm/dts/imx8mm-verdin.dts              |  20 ++-
 arch/arm/mach-imx/imx8m/Kconfig             |  21 ++--
 arch/arm/mach-imx/mkimage_fit_atf.sh        |  26 ++--
 board/toradex/verdin-imx8mm/imximage.cfg    |  11 +-
 board/toradex/verdin-imx8mm/verdin-imx8mm.c |  77 +-----------
 configs/verdin-imx8mm_defconfig             |   3 +-
 doc/board/toradex/verdin-imx8mm.rst         |  54 ++++----
 8 files changed, 210 insertions(+), 131 deletions(-)

-- 
2.26.2


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH v1 1/7] imx: mkimage_fit_atf: fix legacy image generation
  2021-08-20 20:52 [PATCH v1 0/7] board: toradex: verdin-imx8mm: target refresh Marcel Ziswiler
@ 2021-08-20 20:52 ` Marcel Ziswiler
  2021-08-22 10:07   ` ZHIZHIKIN Andrey
  2021-08-20 20:52 ` [PATCH v1 2/7] imx8m: clean-up kconfig indentation Marcel Ziswiler
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 18+ messages in thread
From: Marcel Ziswiler @ 2021-08-20 20:52 UTC (permalink / raw)
  To: u-boot
  Cc: Heiko Thiery, Stefano Babic, Fabio Estevam, Frieder Schrempf,
	Marcel Ziswiler, NXP i.MX U-Boot Team, Peng Fan

From: Marcel Ziswiler <marcel.ziswiler@toradex.com>

While most boards meanwhile migrated to using binman a few like the
verdin-imx8mm are still using the legacy image generation.
Unfortunately, the legacy image generation is currently broken which is
especially bad for any kind of bisection attempts.
Anyway, this fixes it even though we will also migrate to using binman
shortly.

Fixes: commit cb9faa6f98ae
 ("tools: Use a single target-independent config to enable OpenSSL")
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
---

 arch/arm/mach-imx/mkimage_fit_atf.sh | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/arch/arm/mach-imx/mkimage_fit_atf.sh b/arch/arm/mach-imx/mkimage_fit_atf.sh
index 2a17968794c..2d6c46633c7 100755
--- a/arch/arm/mach-imx/mkimage_fit_atf.sh
+++ b/arch/arm/mach-imx/mkimage_fit_atf.sh
@@ -53,7 +53,7 @@ cat << __HEADER_EOF
 	description = "Configuration to load ATF before U-Boot";
 
 	images {
-		uboot@1 {
+		uboot_1 {
 			description = "U-Boot (64-bit)";
 			os = "u-boot";
 			data = /incbin/("$BL33");
@@ -68,7 +68,7 @@ cnt=1
 for dtname in $*
 do
 	cat << __FDT_IMAGE_EOF
-		fdt@$cnt {
+		fdt_$cnt {
 			description = "$(basename $dtname .dtb)";
 			data = /incbin/("$dtname");
 			type = "flat_dt";
@@ -79,7 +79,7 @@ cnt=$((cnt+1))
 done
 
 cat << __HEADER_EOF
-		atf@1 {
+		atf_1 {
 			description = "ARM Trusted Firmware";
 			os = "arm-trusted-firmware";
 			data = /incbin/("$BL31");
@@ -93,7 +93,7 @@ __HEADER_EOF
 
 if [ -f $BL32 ]; then
 cat << __HEADER_EOF
-		tee@1 {
+		tee_1 {
 			description = "TEE firmware";
 			data = /incbin/("$BL32");
 			type = "firmware";
@@ -108,7 +108,7 @@ fi
 cat << __CONF_HEADER_EOF
 	};
 	configurations {
-		default = "config@1";
+		default = "config_1";
 
 __CONF_HEADER_EOF
 
@@ -117,20 +117,20 @@ for dtname in $*
 do
 if [ -f $BL32 ]; then
 cat << __CONF_SECTION_EOF
-		config@$cnt {
+		config_$cnt {
 			description = "$(basename $dtname .dtb)";
-			firmware = "uboot@1";
-			loadables = "atf@1", "tee@1";
-			fdt = "fdt@$cnt";
+			firmware = "uboot_1";
+			loadables = "atf_1", "tee_1";
+			fdt = "fdt_$cnt";
 		};
 __CONF_SECTION_EOF
 else
 cat << __CONF_SECTION1_EOF
-		config@$cnt {
+		config_$cnt {
 			description = "$(basename $dtname .dtb)";
-			firmware = "uboot@1";
-			loadables = "atf@1";
-			fdt = "fdt@$cnt";
+			firmware = "uboot_1";
+			loadables = "atf_1";
+			fdt = "fdt_$cnt";
 		};
 __CONF_SECTION1_EOF
 fi
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v1 2/7] imx8m: clean-up kconfig indentation
  2021-08-20 20:52 [PATCH v1 0/7] board: toradex: verdin-imx8mm: target refresh Marcel Ziswiler
  2021-08-20 20:52 ` [PATCH v1 1/7] imx: mkimage_fit_atf: fix legacy image generation Marcel Ziswiler
@ 2021-08-20 20:52 ` Marcel Ziswiler
  2021-08-20 20:52 ` [PATCH v1 3/7] verdin-imx8mm: fix ethernet Marcel Ziswiler
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 18+ messages in thread
From: Marcel Ziswiler @ 2021-08-20 20:52 UTC (permalink / raw)
  To: u-boot
  Cc: Heiko Thiery, Stefano Babic, Fabio Estevam, Frieder Schrempf,
	Marcel Ziswiler, Heiko Schocher, Ilko Iliev, Jagan Teki,
	NXP i.MX U-Boot Team, Peng Fan, Teresa Remmet

From: Marcel Ziswiler <marcel.ziswiler@toradex.com>

Replace spurious spaces with proper tabs.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
---

 arch/arm/mach-imx/imx8m/Kconfig | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/arch/arm/mach-imx/imx8m/Kconfig b/arch/arm/mach-imx/imx8m/Kconfig
index 1d08a2977f5..a2ba30cf332 100644
--- a/arch/arm/mach-imx/imx8m/Kconfig
+++ b/arch/arm/mach-imx/imx8m/Kconfig
@@ -25,14 +25,14 @@ config SYS_SOC
 	default "imx8m"
 
 choice
-	prompt  "NXP i.MX8M board select"
+	prompt "NXP i.MX8M board select"
 	optional
 
 config TARGET_IMX8MQ_CM
-        bool "Ronetix iMX8MQ-CM SoM"
+	bool "Ronetix iMX8MQ-CM SoM"
 		select BINMAN
-        select IMX8MQ
-        select IMX8M_LPDDR4
+	select IMX8MQ
+	select IMX8M_LPDDR4
 
 config TARGET_IMX8MQ_EVK
 	bool "imx8mq_evk"
@@ -105,10 +105,10 @@ config TARGET_PICO_IMX8MQ
 	select IMX8M_LPDDR4
 
 config TARGET_VERDIN_IMX8MM
-       bool "Support Toradex Verdin iMX8M Mini module"
-       select IMX8MM
-       select SUPPORT_SPL
-       select IMX8M_LPDDR4
+	bool "Support Toradex Verdin iMX8M Mini module"
+	select IMX8MM
+	select SUPPORT_SPL
+	select IMX8M_LPDDR4
 
 config TARGET_IMX8MM_BEACON
 	bool "imx8mm Beacon Embedded devkit"
@@ -125,14 +125,14 @@ config TARGET_IMX8MN_BEACON
 config TARGET_PHYCORE_IMX8MM
 	bool "PHYTEC PHYCORE i.MX8MM"
 	select IMX8MM
-        select SUPPORT_SPL
+	select SUPPORT_SPL
 	select IMX8M_LPDDR4
 
 config TARGET_PHYCORE_IMX8MP
 	bool "PHYTEC PHYCORE i.MX8MP"
 	select BINMAN
 	select IMX8MP
-        select SUPPORT_SPL
+	select SUPPORT_SPL
 	select IMX8M_LPDDR4
 
 config TARGET_IMX8MM_CL_IOT_GATE
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v1 3/7] verdin-imx8mm: fix ethernet
  2021-08-20 20:52 [PATCH v1 0/7] board: toradex: verdin-imx8mm: target refresh Marcel Ziswiler
  2021-08-20 20:52 ` [PATCH v1 1/7] imx: mkimage_fit_atf: fix legacy image generation Marcel Ziswiler
  2021-08-20 20:52 ` [PATCH v1 2/7] imx8m: clean-up kconfig indentation Marcel Ziswiler
@ 2021-08-20 20:52 ` Marcel Ziswiler
  2021-08-20 20:52 ` [PATCH v1 4/7] ARM: dts: imx8mm-verdin: prepare for dek blob encapsulation Marcel Ziswiler
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 18+ messages in thread
From: Marcel Ziswiler @ 2021-08-20 20:52 UTC (permalink / raw)
  To: u-boot
  Cc: Heiko Thiery, Stefano Babic, Fabio Estevam, Frieder Schrempf,
	Marcel Ziswiler, Igor Opaniuk, Max Krummenacher,
	NXP i.MX U-Boot Team, Simon Glass

From: Marcel Ziswiler <marcel.ziswiler@toradex.com>

Turns out Microship (formerly Micrel) meanwhile integrated proper
support for the DLL setup on their KSZ9131. Unfortunately, this
conflicts with our previous board code doing that.
Fix this by getting rid of our board code and just relying on the
generic implementation relying on rgmii-id being used as phy-mode.

Fixes: commit c6df0e2ffdc4
       ("net: phy: micrel: add support for DLL setup on ksz9131")
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
---

 arch/arm/dts/imx8mm-verdin.dts              |  2 +-
 board/toradex/verdin-imx8mm/verdin-imx8mm.c | 64 ---------------------
 2 files changed, 1 insertion(+), 65 deletions(-)

diff --git a/arch/arm/dts/imx8mm-verdin.dts b/arch/arm/dts/imx8mm-verdin.dts
index fb0756d6e19..ac2a4b69d3c 100644
--- a/arch/arm/dts/imx8mm-verdin.dts
+++ b/arch/arm/dts/imx8mm-verdin.dts
@@ -160,7 +160,7 @@
 &fec1 {
 	fsl,magic-packet;
 	phy-handle = <&ethphy0>;
-	phy-mode = "rgmii";
+	phy-mode = "rgmii-id";
 	phy-supply = <&reg_ethphy>;
 	pinctrl-names = "default", "sleep";
 	pinctrl-0 = <&pinctrl_fec1>;
diff --git a/board/toradex/verdin-imx8mm/verdin-imx8mm.c b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
index 76f4a1e209a..1644f4b3081 100644
--- a/board/toradex/verdin-imx8mm/verdin-imx8mm.c
+++ b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
@@ -36,70 +36,6 @@ static int setup_fec(void)
 
 	return 0;
 }
-
-int board_phy_config(struct phy_device *phydev)
-{
-	int tmp;
-
-	switch (ksz9xx1_phy_get_id(phydev) & MII_KSZ9x31_SILICON_REV_MASK) {
-	case PHY_ID_KSZ9031:
-		/*
-		 * The PHY adds 1.2ns for the RXC and 0ns for TXC clock by
-		 * default. The MAC and the layout don't add a skew between
-		 * clock and data.
-		 * Add 0.3ns for the RXC path and 0.96 + 0.42 ns (1.38 ns) for
-		 * the TXC path to get the required clock skews.
-		 */
-		/* control data pad skew - devaddr = 0x02, register = 0x04 */
-		ksz9031_phy_extended_write(phydev, 0x02,
-					   MII_KSZ9031_EXT_RGMII_CTRL_SIG_SKEW,
-					   MII_KSZ9031_MOD_DATA_NO_POST_INC,
-					   0x0070);
-		/* rx data pad skew - devaddr = 0x02, register = 0x05 */
-		ksz9031_phy_extended_write(phydev, 0x02,
-					   MII_KSZ9031_EXT_RGMII_RX_DATA_SKEW,
-					   MII_KSZ9031_MOD_DATA_NO_POST_INC,
-					   0x7777);
-		/* tx data pad skew - devaddr = 0x02, register = 0x06 */
-		ksz9031_phy_extended_write(phydev, 0x02,
-					   MII_KSZ9031_EXT_RGMII_TX_DATA_SKEW,
-					   MII_KSZ9031_MOD_DATA_NO_POST_INC,
-					   0x0000);
-		/* gtx and rx clock pad skew - devaddr = 0x02,register = 0x08 */
-		ksz9031_phy_extended_write(phydev, 0x02,
-					   MII_KSZ9031_EXT_RGMII_CLOCK_SKEW,
-					   MII_KSZ9031_MOD_DATA_NO_POST_INC,
-					   0x03f4);
-		break;
-	case PHY_ID_KSZ9131:
-	default:
-		/* read rxc dll control - devaddr = 0x2, register = 0x4c */
-		tmp = ksz9031_phy_extended_read(phydev, 0x02,
-					MII_KSZ9131_EXT_RGMII_2NS_SKEW_RXDLL,
-					MII_KSZ9031_MOD_DATA_NO_POST_INC);
-		/* disable rxdll bypass (enable 2ns skew delay on RXC) */
-		tmp &= ~MII_KSZ9131_RXTXDLL_BYPASS;
-		/* rxc data pad skew 2ns - devaddr = 0x02, register = 0x4c */
-		tmp = ksz9031_phy_extended_write(phydev, 0x02,
-					MII_KSZ9131_EXT_RGMII_2NS_SKEW_RXDLL,
-					MII_KSZ9031_MOD_DATA_NO_POST_INC, tmp);
-		/* read txc dll control - devaddr = 0x02, register = 0x4d */
-		tmp = ksz9031_phy_extended_read(phydev, 0x02,
-					MII_KSZ9131_EXT_RGMII_2NS_SKEW_TXDLL,
-					MII_KSZ9031_MOD_DATA_NO_POST_INC);
-		/* disable txdll bypass (enable 2ns skew delay on TXC) */
-		tmp &= ~MII_KSZ9131_RXTXDLL_BYPASS;
-		/* rxc data pad skew 2ns - devaddr = 0x02, register = 0x4d */
-		tmp = ksz9031_phy_extended_write(phydev, 0x02,
-					MII_KSZ9131_EXT_RGMII_2NS_SKEW_TXDLL,
-					MII_KSZ9031_MOD_DATA_NO_POST_INC, tmp);
-		break;
-	}
-
-	if (phydev->drv->config)
-		phydev->drv->config(phydev);
-	return 0;
-}
 #endif
 
 int board_init(void)
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v1 4/7] ARM: dts: imx8mm-verdin: prepare for dek blob encapsulation
  2021-08-20 20:52 [PATCH v1 0/7] board: toradex: verdin-imx8mm: target refresh Marcel Ziswiler
                   ` (2 preceding siblings ...)
  2021-08-20 20:52 ` [PATCH v1 3/7] verdin-imx8mm: fix ethernet Marcel Ziswiler
@ 2021-08-20 20:52 ` Marcel Ziswiler
  2021-08-20 20:52 ` [PATCH v1 5/7] verdin-imx8mm: switch to use binman to pack images Marcel Ziswiler
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 18+ messages in thread
From: Marcel Ziswiler @ 2021-08-20 20:52 UTC (permalink / raw)
  To: u-boot
  Cc: Heiko Thiery, Stefano Babic, Fabio Estevam, Frieder Schrempf,
	Marcel Ziswiler, NXP i.MX U-Boot Team, Simon Glass, Tom Rini

From: Marcel Ziswiler <marcel.ziswiler@toradex.com>

Prepare for DEK blob encapsulation support through "dek_blob" command.
On ARMv8, u-boot runs in non-secure, thus cannot encapsulate a DEK blob
for encrypted boot.
The DEK blob is encapsulated by OP-TEE through a trusted application
call. U-boot sends and receives the DEK and the DEK blob binaries
through OP-TEE dynamic shared memory.

To enable the DEK blob encapsulation, add to the defconfig:
CONFIG_SECURE_BOOT=y
CONFIG_FAT_WRITE=y
CONFIG_CMD_DEKBLOB=y

Taken from NXP's commit 56d2050f4028 ("imx8m: Add DEK blob encapsulation
for imx8m").

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
---

 arch/arm/dts/imx8mm-verdin-u-boot.dtsi | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm/dts/imx8mm-verdin-u-boot.dtsi b/arch/arm/dts/imx8mm-verdin-u-boot.dtsi
index 67c31c49b6c..a97626fa0c1 100644
--- a/arch/arm/dts/imx8mm-verdin-u-boot.dtsi
+++ b/arch/arm/dts/imx8mm-verdin-u-boot.dtsi
@@ -6,6 +6,13 @@
 #include "imx8mm-u-boot.dtsi"
 
 / {
+	firmware {
+		optee {
+			compatible = "linaro,optee-tz";
+			method = "smc";
+		};
+	};
+
 	wdt-reboot {
 		compatible = "wdt-reboot";
 		wdt = <&wdog1>;
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v1 5/7] verdin-imx8mm: switch to use binman to pack images
  2021-08-20 20:52 [PATCH v1 0/7] board: toradex: verdin-imx8mm: target refresh Marcel Ziswiler
                   ` (3 preceding siblings ...)
  2021-08-20 20:52 ` [PATCH v1 4/7] ARM: dts: imx8mm-verdin: prepare for dek blob encapsulation Marcel Ziswiler
@ 2021-08-20 20:52 ` Marcel Ziswiler
  2021-08-23  6:37   ` Heiko Thiery
  2021-08-20 20:52 ` [PATCH v1 6/7] verdin-imx8mm: enable sleep_moci output Marcel Ziswiler
  2021-08-20 20:52 ` [PATCH v1 7/7] verdin-imx8mm: drop support for v1.0 hardware Marcel Ziswiler
  6 siblings, 1 reply; 18+ messages in thread
From: Marcel Ziswiler @ 2021-08-20 20:52 UTC (permalink / raw)
  To: u-boot
  Cc: Heiko Thiery, Stefano Babic, Fabio Estevam, Frieder Schrempf,
	Marcel Ziswiler, Heiko Schocher, Igor Opaniuk, Ilko Iliev,
	Jagan Teki, Marek Vasut, Max Krummenacher, NXP i.MX U-Boot Team,
	Peng Fan, Simon Glass, Teresa Remmet

From: Marcel Ziswiler <marcel.ziswiler@toradex.com>

Use binman to pack images.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
---

 arch/arm/dts/imx8mm-verdin-u-boot.dtsi   | 122 ++++++++++++++++++++++-
 arch/arm/mach-imx/imx8m/Kconfig          |   1 +
 board/toradex/verdin-imx8mm/imximage.cfg |  11 +-
 configs/verdin-imx8mm_defconfig          |   2 +-
 doc/board/toradex/verdin-imx8mm.rst      |  54 +++++-----
 5 files changed, 155 insertions(+), 35 deletions(-)

diff --git a/arch/arm/dts/imx8mm-verdin-u-boot.dtsi b/arch/arm/dts/imx8mm-verdin-u-boot.dtsi
index a97626fa0c1..ba4c8d0436c 100644
--- a/arch/arm/dts/imx8mm-verdin-u-boot.dtsi
+++ b/arch/arm/dts/imx8mm-verdin-u-boot.dtsi
@@ -1,11 +1,15 @@
 // SPDX-License-Identifier: GPL-2.0+ OR MIT
 /*
- * Copyright 2020 Toradex
+ * Copyright 2021 Toradex
  */
 
 #include "imx8mm-u-boot.dtsi"
 
 / {
+	binman: binman {
+		multiple-images;
+	};
+
 	firmware {
 		optee {
 			compatible = "linaro,optee-tz";
@@ -91,3 +95,119 @@
 &wdog1 {
 	u-boot,dm-spl;
 };
+
+&binman {
+	 u-boot-spl-ddr {
+		align = <4>;
+		align-size = <4>;
+		filename = "u-boot-spl-ddr.bin";
+		pad-byte = <0xff>;
+
+		u-boot-spl {
+			align-end = <4>;
+		};
+
+		blob_1: blob-ext@1 {
+			filename = "lpddr4_pmu_train_1d_imem.bin";
+			size = <0x8000>;
+		};
+
+		blob_2: blob-ext@2 {
+			filename = "lpddr4_pmu_train_1d_dmem.bin";
+			size = <0x4000>;
+		};
+
+		blob_3: blob-ext@3 {
+			filename = "lpddr4_pmu_train_2d_imem.bin";
+			size = <0x8000>;
+		};
+
+		blob_4: blob-ext@4 {
+			filename = "lpddr4_pmu_train_2d_dmem.bin";
+			size = <0x4000>;
+		};
+	};
+
+	spl {
+		mkimage {
+			args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000";
+
+			blob {
+				filename = "u-boot-spl-ddr.bin";
+			};
+		};
+	};
+
+	itb {
+		filename = "u-boot.itb";
+
+		fit {
+			description = "Configuration to load ATF before U-Boot";
+			fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
+			#address-cells = <1>;
+
+			images {
+				uboot {
+					arch = "arm64";
+					compression = "none";
+					description = "U-Boot (64-bit)";
+					load = <CONFIG_SYS_TEXT_BASE>;
+					type = "standalone";
+
+					uboot_blob: blob-ext {
+						filename = "u-boot-nodtb.bin";
+					};
+				};
+
+				atf {
+					arch = "arm64";
+					compression = "none";
+					description = "ARM Trusted Firmware";
+					entry = <0x920000>;
+					load = <0x920000>;
+					type = "firmware";
+
+					atf_blob: blob-ext {
+						filename = "bl31.bin";
+					};
+				};
+
+				fdt {
+					compression = "none";
+					description = "NAME";
+					type = "flat_dt";
+
+					uboot_fdt_blob: blob-ext {
+						filename = "u-boot.dtb";
+					};
+				};
+			};
+
+			configurations {
+				default = "conf";
+
+				conf {
+					description = "NAME";
+					fdt = "fdt";
+					firmware = "uboot";
+					loadables = "atf";
+				};
+			};
+		};
+	};
+
+	imx-boot {
+		filename = "flash.bin";
+		pad-byte = <0x00>;
+
+		spl: blob-ext@1 {
+			filename = "spl.bin";
+			offset = <0x0>;
+		};
+
+		uboot: blob-ext@2 {
+			filename = "u-boot.itb";
+			offset = <0x5fc00>;
+		};
+	};
+};
diff --git a/arch/arm/mach-imx/imx8m/Kconfig b/arch/arm/mach-imx/imx8m/Kconfig
index a2ba30cf332..3eccc6b4d4f 100644
--- a/arch/arm/mach-imx/imx8m/Kconfig
+++ b/arch/arm/mach-imx/imx8m/Kconfig
@@ -106,6 +106,7 @@ config TARGET_PICO_IMX8MQ
 
 config TARGET_VERDIN_IMX8MM
 	bool "Support Toradex Verdin iMX8M Mini module"
+	select BINMAN
 	select IMX8MM
 	select SUPPORT_SPL
 	select IMX8M_LPDDR4
diff --git a/board/toradex/verdin-imx8mm/imximage.cfg b/board/toradex/verdin-imx8mm/imximage.cfg
index b8b25ff4201..9bd60e39fb5 100644
--- a/board/toradex/verdin-imx8mm/imximage.cfg
+++ b/board/toradex/verdin-imx8mm/imximage.cfg
@@ -1,16 +1,9 @@
 /* SPDX-License-Identifier: GPL-2.0+ */
 /*
- * Copyright 2020 Toradex
+ * Copyright 2021 Toradex
  */
 
 #define __ASSEMBLY__
 
-FIT
 BOOT_FROM	emmc_fastboot
-LOADER		spl/u-boot-spl-ddr.bin	0x7E1000
-SECOND_LOADER	u-boot.itb		0x40200000 0x60000
-
-DDR_FW lpddr4_pmu_train_1d_imem.bin
-DDR_FW lpddr4_pmu_train_1d_dmem.bin
-DDR_FW lpddr4_pmu_train_2d_imem.bin
-DDR_FW lpddr4_pmu_train_2d_dmem.bin
+LOADER		mkimage.spl.mkimage	0x7E1000
diff --git a/configs/verdin-imx8mm_defconfig b/configs/verdin-imx8mm_defconfig
index 624f1b99096..b323ceb19af 100644
--- a/configs/verdin-imx8mm_defconfig
+++ b/configs/verdin-imx8mm_defconfig
@@ -24,7 +24,7 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 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_OF_SYSTEM_SETUP=y
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/verdin-imx8mm/imximage.cfg"
 # CONFIG_USE_BOOTCOMMAND is not set
diff --git a/doc/board/toradex/verdin-imx8mm.rst b/doc/board/toradex/verdin-imx8mm.rst
index b9f7dc39c96..538ac30dc12 100644
--- a/doc/board/toradex/verdin-imx8mm.rst
+++ b/doc/board/toradex/verdin-imx8mm.rst
@@ -34,10 +34,10 @@ Get the DDR Firmware
 .. code-block:: bash
 
     $ cd ..
-    $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.4.1.bin
-    $ chmod +x firmware-imx-8.4.1.bin
-    $ ./firmware-imx-8.4.1.bin
-    $ cp firmware-imx-8.4.1/firmware/ddr/synopsys/lpddr4*.bin ./
+    $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.10.1.bin
+    $ chmod +x firmware-imx-8.10.1.bin
+    $ ./firmware-imx-8.10.1.bin
+    $ cp firmware-imx-8.10.1/firmware/ddr/synopsys/lpddr4*.bin ./
 
 Build U-Boot
 ------------
@@ -46,7 +46,7 @@ Build U-Boot
     $ export CROSS_COMPILE=aarch64-linux-gnu-
     $ export ATF_LOAD_ADDR=0x920000
     $ make verdin-imx8mm_defconfig
-    $ make flash.bin
+    $ make
 
 Flash to eMMC
 -------------
@@ -77,22 +77,28 @@ Boot sequence is:
 Output:
 
 .. code-block:: bash
-
-    U-Boot SPL 2020.01-00187-gd411d164e5 (Jan 26 2020 - 04:47:26 +0100)
-    Normal Boot
-    Trying to boot from MMC1
-
-    U-Boot 2020.01-00187-gd411d164e5 (Jan 26 2020 - 04:47:26 +0100)
-
-    CPU:   Freescale i.MX8MMQ rev1.0 at 0 MHz
-    Reset cause: POR
-    DRAM:  2 GiB
-    MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
-    Loading Environment from MMC... OK
-    In:    serial
-    Out:   serial
-    Err:   serial
-    Model: Toradex Verdin iMX8M Mini Quad 2GB Wi-Fi / BT IT V1.0A, Serial:
-    Net:   eth0: ethernet@30be0000
-    Hit any key to stop autoboot:  0
-    Verdin iMX8MM #
+U-Boot SPL 2021.10-rc2-00021-gfb148bbd529 (Aug 20 2021 - 22:11:20 +0200)
+Normal Boot
+WDT:   Started with servicing (60s timeout)
+Trying to boot from MMC1
+NOTICE:  BL31: v2.2(release):rel_imx_5.4.70_2.3.2_rc1-5-g835a8f67b
+NOTICE:  BL31: Built : 18:02:12, Aug 16 2021
+
+
+U-Boot 2021.10-rc2-00021-gfb148bbd529 (Aug 20 2021 - 22:11:20 +0200)
+
+imx_wdt watchdog@30280000: pinctrl_select_state_full: uclass_get_device_by_phandle_id: err=-19
+CPU:   Freescale i.MX8MMQ rev1.0 at 1200 MHz
+Reset cause: POR
+DRAM:  2 GiB
+WDT:   Started with servicing (60s timeout)
+MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
+Loading Environment from MMC... OK
+In:    serial
+Out:   serial
+Err:   serial
+Model: Toradex Verdin iMX8M Mini Quad 2GB Wi-Fi / BT IT V1.1A, Serial# 06760554
+Carrier: Toradex Dahlia V1.1A, Serial# 10763237
+Net:   eth0: ethernet@30be0000
+Hit any key to stop autoboot:  0
+Verdin iMX8MM #
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v1 6/7] verdin-imx8mm: enable sleep_moci output
  2021-08-20 20:52 [PATCH v1 0/7] board: toradex: verdin-imx8mm: target refresh Marcel Ziswiler
                   ` (4 preceding siblings ...)
  2021-08-20 20:52 ` [PATCH v1 5/7] verdin-imx8mm: switch to use binman to pack images Marcel Ziswiler
@ 2021-08-20 20:52 ` Marcel Ziswiler
  2021-08-20 20:52 ` [PATCH v1 7/7] verdin-imx8mm: drop support for v1.0 hardware Marcel Ziswiler
  6 siblings, 0 replies; 18+ messages in thread
From: Marcel Ziswiler @ 2021-08-20 20:52 UTC (permalink / raw)
  To: u-boot
  Cc: Heiko Thiery, Stefano Babic, Fabio Estevam, Frieder Schrempf,
	Max Krummenacher, Marcel Ziswiler, Igor Opaniuk, Marek Vasut,
	NXP i.MX U-Boot Team, Simon Glass

From: Max Krummenacher <max.krummenacher@toradex.com>

This powers some peripherals on the carrier board e.g. the USB hub.

Related-to: ELB-3206
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
---

 arch/arm/dts/imx8mm-verdin.dts  | 18 ++++++++++++++++++
 configs/verdin-imx8mm_defconfig |  1 +
 2 files changed, 19 insertions(+)

diff --git a/arch/arm/dts/imx8mm-verdin.dts b/arch/arm/dts/imx8mm-verdin.dts
index ac2a4b69d3c..a2331627d72 100644
--- a/arch/arm/dts/imx8mm-verdin.dts
+++ b/arch/arm/dts/imx8mm-verdin.dts
@@ -196,6 +196,18 @@
 	};
 };
 
+&gpio5 {
+	ctrl_sleep_moci {
+		gpio-hog;
+		/* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
+		gpios = <1 GPIO_ACTIVE_HIGH>;
+		line-name = "CTRL_SLEEP_MOCI#";
+		output-high;
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_ctrl_sleep_moci>;
+	};
+};
+
 /* On-module I2C */
 &i2c1 {
 	clock-frequency = <400000>;
@@ -548,6 +560,12 @@
 		>;
 	};
 
+	pinctrl_ctrl_sleep_moci: ctrlsleepmocigrp {
+		fsl,pins = <
+			MX8MM_IOMUXC_SAI3_TXD_GPIO5_IO1		0x1c4		/* SODIMM 256 */
+		>;
+	};
+
 	pinctrl_dsi_bkl_en: dsi_bkl_en {
 		fsl,pins = <
 			MX8MM_IOMUXC_NAND_CE2_B_GPIO3_IO3	0x1c4		/* SODIMM 21 */
diff --git a/configs/verdin-imx8mm_defconfig b/configs/verdin-imx8mm_defconfig
index b323ceb19af..ad9c00a3cc4 100644
--- a/configs/verdin-imx8mm_defconfig
+++ b/configs/verdin-imx8mm_defconfig
@@ -71,6 +71,7 @@ CONFIG_SPL_CLK_COMPOSITE_CCF=y
 CONFIG_CLK_COMPOSITE_CCF=y
 CONFIG_SPL_CLK_IMX8MM=y
 CONFIG_CLK_IMX8MM=y
+CONFIG_GPIO_HOG=y
 CONFIG_MXC_GPIO=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_MXC=y
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v1 7/7] verdin-imx8mm: drop support for v1.0 hardware
  2021-08-20 20:52 [PATCH v1 0/7] board: toradex: verdin-imx8mm: target refresh Marcel Ziswiler
                   ` (5 preceding siblings ...)
  2021-08-20 20:52 ` [PATCH v1 6/7] verdin-imx8mm: enable sleep_moci output Marcel Ziswiler
@ 2021-08-20 20:52 ` Marcel Ziswiler
  6 siblings, 0 replies; 18+ messages in thread
From: Marcel Ziswiler @ 2021-08-20 20:52 UTC (permalink / raw)
  To: u-boot
  Cc: Heiko Thiery, Stefano Babic, Fabio Estevam, Frieder Schrempf,
	Max Krummenacher, Marcel Ziswiler, Igor Opaniuk, Simon Glass

From: Max Krummenacher <max.krummenacher@toradex.com>

We drop support for Verdin iMX8M Mini V1.0B.

Related-to: ELB-3551
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>

---

 board/toradex/verdin-imx8mm/verdin-imx8mm.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/board/toradex/verdin-imx8mm/verdin-imx8mm.c b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
index 1644f4b3081..2d8b37ce26d 100644
--- a/board/toradex/verdin-imx8mm/verdin-imx8mm.c
+++ b/board/toradex/verdin-imx8mm/verdin-imx8mm.c
@@ -9,6 +9,7 @@
 #include <asm/arch/sys_proto.h>
 #include <asm/global_data.h>
 #include <asm/io.h>
+#include <hang.h>
 #include <i2c.h>
 #include <miiphy.h>
 #include <netdev.h>
@@ -87,17 +88,13 @@ static void select_dt_from_module_version(void)
 
 	switch (get_pcb_revision()) {
 	case PCB_VERSION_1_0:
-		printf("Detected a V1.0 module\n");
-		if (is_wifi)
-			strncpy(&variant[0], "wifi", sizeof(variant));
-		else
-			strncpy(&variant[0], "nonwifi", sizeof(variant));
-		break;
+		printf("Detected a V1.0 module which is no longer supported in this BSP version\n");
+		hang();
 	default:
 		if (is_wifi)
-			strncpy(&variant[0], "wifi-v1.1", sizeof(variant));
+			strlcpy(&variant[0], "wifi", sizeof(variant));
 		else
-			strncpy(&variant[0], "nonwifi-v1.1", sizeof(variant));
+			strlcpy(&variant[0], "nonwifi", sizeof(variant));
 		break;
 	}
 
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* RE: [PATCH v1 1/7] imx: mkimage_fit_atf: fix legacy image generation
  2021-08-20 20:52 ` [PATCH v1 1/7] imx: mkimage_fit_atf: fix legacy image generation Marcel Ziswiler
@ 2021-08-22 10:07   ` ZHIZHIKIN Andrey
  2021-08-23  6:56     ` Marcel Ziswiler
  0 siblings, 1 reply; 18+ messages in thread
From: ZHIZHIKIN Andrey @ 2021-08-22 10:07 UTC (permalink / raw)
  To: Marcel Ziswiler, u-boot
  Cc: Heiko Thiery, Stefano Babic, Fabio Estevam, Frieder Schrempf,
	Marcel Ziswiler, NXP i.MX U-Boot Team, Peng Fan

Hello Marcel,

> -----Original Message-----
> From: U-Boot <u-boot-bounces@lists.denx.de> On Behalf Of Marcel Ziswiler
> Sent: Friday, August 20, 2021 10:52 PM
> To: u-boot@lists.denx.de
> Cc: Heiko Thiery <heiko.thiery@gmail.com>; Stefano Babic <sbabic@denx.de>;
> Fabio Estevam <festevam@gmail.com>; Frieder Schrempf
> <frieder.schrempf@kontron.de>; Marcel Ziswiler
> <marcel.ziswiler@toradex.com>; NXP i.MX U-Boot Team <uboot-
> imx@nxp.com>; Peng Fan <peng.fan@nxp.com>
> Subject: [PATCH v1 1/7] imx: mkimage_fit_atf: fix legacy image generation
> 
> 
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> 
> While most boards meanwhile migrated to using binman a few like the verdin-
> imx8mm are still using the legacy image generation.
> Unfortunately, the legacy image generation is currently broken which is especially
> bad for any kind of bisection attempts.
> Anyway, this fixes it even though we will also migrate to using binman shortly.

This change has been already proposed in [1], but the discussion went into the direction of monolithic "flash.bin" rather than a migration to use binman.

I guess if this change is really needed due to the fact that the migration of some boards is really difficult - the original patch can be taken.

However, I've commented out in that thread that there is a warning regarding the usage of scripts and migration notice, so maybe it does make sense to spend extra effort to migrate away from this script at all?

> 
> Fixes: commit cb9faa6f98ae
>  ("tools: Use a single target-independent config to enable OpenSSL")
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> ---
> 
>  arch/arm/mach-imx/mkimage_fit_atf.sh | 26 +++++++++++++-------------
>  1 file changed, 13 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/arm/mach-imx/mkimage_fit_atf.sh b/arch/arm/mach-
> imx/mkimage_fit_atf.sh
> index 2a17968794c..2d6c46633c7 100755
> --- a/arch/arm/mach-imx/mkimage_fit_atf.sh
> +++ b/arch/arm/mach-imx/mkimage_fit_atf.sh
> @@ -53,7 +53,7 @@ cat << __HEADER_EOF
>         description = "Configuration to load ATF before U-Boot";
> 
>         images {
> -               uboot@1 {
> +               uboot_1 {
>                         description = "U-Boot (64-bit)";
>                         os = "u-boot";
>                         data = /incbin/("$BL33"); @@ -68,7 +68,7 @@ cnt=1  for dtname in $*
> do
>         cat << __FDT_IMAGE_EOF
> -               fdt@$cnt {
> +               fdt_$cnt {
>                         description = "$(basename $dtname .dtb)";
>                         data = /incbin/("$dtname");
>                         type = "flat_dt"; @@ -79,7 +79,7 @@ cnt=$((cnt+1))  done
> 
>  cat << __HEADER_EOF
> -               atf@1 {
> +               atf_1 {
>                         description = "ARM Trusted Firmware";
>                         os = "arm-trusted-firmware";
>                         data = /incbin/("$BL31"); @@ -93,7 +93,7 @@ __HEADER_EOF
> 
>  if [ -f $BL32 ]; then
>  cat << __HEADER_EOF
> -               tee@1 {
> +               tee_1 {
>                         description = "TEE firmware";
>                         data = /incbin/("$BL32");
>                         type = "firmware"; @@ -108,7 +108,7 @@ fi  cat <<
> __CONF_HEADER_EOF
>         };
>         configurations {
> -               default = "config@1";
> +               default = "config_1";
> 
>  __CONF_HEADER_EOF
> 
> @@ -117,20 +117,20 @@ for dtname in $*
>  do
>  if [ -f $BL32 ]; then
>  cat << __CONF_SECTION_EOF
> -               config@$cnt {
> +               config_$cnt {
>                         description = "$(basename $dtname .dtb)";
> -                       firmware = "uboot@1";
> -                       loadables = "atf@1", "tee@1";
> -                       fdt = "fdt@$cnt";
> +                       firmware = "uboot_1";
> +                       loadables = "atf_1", "tee_1";
> +                       fdt = "fdt_$cnt";
>                 };
>  __CONF_SECTION_EOF
>  else
>  cat << __CONF_SECTION1_EOF
> -               config@$cnt {
> +               config_$cnt {
>                         description = "$(basename $dtname .dtb)";
> -                       firmware = "uboot@1";
> -                       loadables = "atf@1";
> -                       fdt = "fdt@$cnt";
> +                       firmware = "uboot_1";
> +                       loadables = "atf_1";
> +                       fdt = "fdt_$cnt";
>                 };
>  __CONF_SECTION1_EOF
>  fi
> --
> 2.26.2

Link: [1]: https://lore.kernel.org/u-boot/20210505120053.9466-1-oliver.graute@kococonnector.com/

Regards,
Andrey


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v1 5/7] verdin-imx8mm: switch to use binman to pack images
  2021-08-20 20:52 ` [PATCH v1 5/7] verdin-imx8mm: switch to use binman to pack images Marcel Ziswiler
@ 2021-08-23  6:37   ` Heiko Thiery
  2021-08-23  7:00     ` Marcel Ziswiler
  2021-08-23 10:02     ` Marcel Ziswiler
  0 siblings, 2 replies; 18+ messages in thread
From: Heiko Thiery @ 2021-08-23  6:37 UTC (permalink / raw)
  To: Marcel Ziswiler
  Cc: u-boot, Stefano Babic, Fabio Estevam, Frieder Schrempf,
	Marcel Ziswiler, Heiko Schocher, Igor Opaniuk, Ilko Iliev,
	Jagan Teki, Marek Vasut, Max Krummenacher, NXP i.MX U-Boot Team,
	Peng Fan, Simon Glass, Teresa Remmet

Hi Marcel,

Am Fr., 20. Aug. 2021 um 22:52 Uhr schrieb Marcel Ziswiler
<marcel@ziswiler.com>:
>
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> Use binman to pack images.
>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> ---
>
>  arch/arm/dts/imx8mm-verdin-u-boot.dtsi   | 122 ++++++++++++++++++++++-
>  arch/arm/mach-imx/imx8m/Kconfig          |   1 +
>  board/toradex/verdin-imx8mm/imximage.cfg |  11 +-
>  configs/verdin-imx8mm_defconfig          |   2 +-
>  doc/board/toradex/verdin-imx8mm.rst      |  54 +++++-----
>  5 files changed, 155 insertions(+), 35 deletions(-)
>
> diff --git a/arch/arm/dts/imx8mm-verdin-u-boot.dtsi b/arch/arm/dts/imx8mm-verdin-u-boot.dtsi
> index a97626fa0c1..ba4c8d0436c 100644
> --- a/arch/arm/dts/imx8mm-verdin-u-boot.dtsi
> +++ b/arch/arm/dts/imx8mm-verdin-u-boot.dtsi
> @@ -1,11 +1,15 @@
>  // SPDX-License-Identifier: GPL-2.0+ OR MIT
>  /*
> - * Copyright 2020 Toradex
> + * Copyright 2021 Toradex
>   */
>
>  #include "imx8mm-u-boot.dtsi"
>
>  / {
> +       binman: binman {
> +               multiple-images;
> +       };
> +
>         firmware {
>                 optee {
>                         compatible = "linaro,optee-tz";
> @@ -91,3 +95,119 @@
>  &wdog1 {
>         u-boot,dm-spl;
>  };
> +
> +&binman {
> +        u-boot-spl-ddr {
> +               align = <4>;
> +               align-size = <4>;
> +               filename = "u-boot-spl-ddr.bin";
> +               pad-byte = <0xff>;
> +
> +               u-boot-spl {
> +                       align-end = <4>;
> +               };
> +
> +               blob_1: blob-ext@1 {
> +                       filename = "lpddr4_pmu_train_1d_imem.bin";
> +                       size = <0x8000>;
> +               };
> +
> +               blob_2: blob-ext@2 {
> +                       filename = "lpddr4_pmu_train_1d_dmem.bin";
> +                       size = <0x4000>;
> +               };
> +
> +               blob_3: blob-ext@3 {
> +                       filename = "lpddr4_pmu_train_2d_imem.bin";
> +                       size = <0x8000>;
> +               };
> +
> +               blob_4: blob-ext@4 {
> +                       filename = "lpddr4_pmu_train_2d_dmem.bin";
> +                       size = <0x4000>;
> +               };
> +       };
> +
> +       spl {

Maybe you can add a "filename = spl.bin" property here. So it is more
clear that this is the output file. This should be the one you refer
to in your "board/toradex/verdin-imx8mm/imximage.cfg".

> +               mkimage {
> +                       args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000";
> +
> +                       blob {
> +                               filename = "u-boot-spl-ddr.bin";
> +                       };
> +               };
> +       };
> +
> +       itb {
> +               filename = "u-boot.itb";
> +
> +               fit {
> +                       description = "Configuration to load ATF before U-Boot";
> +                       fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
> +                       #address-cells = <1>;
> +
> +                       images {
> +                               uboot {
> +                                       arch = "arm64";
> +                                       compression = "none";
> +                                       description = "U-Boot (64-bit)";
> +                                       load = <CONFIG_SYS_TEXT_BASE>;
> +                                       type = "standalone";
> +
> +                                       uboot_blob: blob-ext {
> +                                               filename = "u-boot-nodtb.bin";
> +                                       };
> +                               };
> +
> +                               atf {
> +                                       arch = "arm64";
> +                                       compression = "none";
> +                                       description = "ARM Trusted Firmware";
> +                                       entry = <0x920000>;
> +                                       load = <0x920000>;
> +                                       type = "firmware";
> +
> +                                       atf_blob: blob-ext {
> +                                               filename = "bl31.bin";
> +                                       };
> +                               };
> +
> +                               fdt {
> +                                       compression = "none";
> +                                       description = "NAME";
> +                                       type = "flat_dt";
> +
> +                                       uboot_fdt_blob: blob-ext {
> +                                               filename = "u-boot.dtb";
> +                                       };
> +                               };
> +                       };
> +
> +                       configurations {
> +                               default = "conf";
> +
> +                               conf {
> +                                       description = "NAME";
> +                                       fdt = "fdt";
> +                                       firmware = "uboot";
> +                                       loadables = "atf";
> +                               };
> +                       };
> +               };
> +       };
> +
> +       imx-boot {
> +               filename = "flash.bin";
> +               pad-byte = <0x00>;
> +
> +               spl: blob-ext@1 {
> +                       filename = "spl.bin";
> +                       offset = <0x0>;
> +               };
> +
> +               uboot: blob-ext@2 {
> +                       filename = "u-boot.itb";
> +                       offset = <0x5fc00>;
> +               };
> +       };
> +};
> diff --git a/arch/arm/mach-imx/imx8m/Kconfig b/arch/arm/mach-imx/imx8m/Kconfig
> index a2ba30cf332..3eccc6b4d4f 100644
> --- a/arch/arm/mach-imx/imx8m/Kconfig
> +++ b/arch/arm/mach-imx/imx8m/Kconfig
> @@ -106,6 +106,7 @@ config TARGET_PICO_IMX8MQ
>
>  config TARGET_VERDIN_IMX8MM
>         bool "Support Toradex Verdin iMX8M Mini module"
> +       select BINMAN
>         select IMX8MM
>         select SUPPORT_SPL
>         select IMX8M_LPDDR4
> diff --git a/board/toradex/verdin-imx8mm/imximage.cfg b/board/toradex/verdin-imx8mm/imximage.cfg
> index b8b25ff4201..9bd60e39fb5 100644
> --- a/board/toradex/verdin-imx8mm/imximage.cfg
> +++ b/board/toradex/verdin-imx8mm/imximage.cfg
> @@ -1,16 +1,9 @@
>  /* SPDX-License-Identifier: GPL-2.0+ */
>  /*
> - * Copyright 2020 Toradex
> + * Copyright 2021 Toradex
>   */
>
>  #define __ASSEMBLY__
>
> -FIT
>  BOOT_FROM      emmc_fastboot
> -LOADER         spl/u-boot-spl-ddr.bin  0x7E1000
> -SECOND_LOADER  u-boot.itb              0x40200000 0x60000
> -
> -DDR_FW lpddr4_pmu_train_1d_imem.bin
> -DDR_FW lpddr4_pmu_train_1d_dmem.bin
> -DDR_FW lpddr4_pmu_train_2d_imem.bin
> -DDR_FW lpddr4_pmu_train_2d_dmem.bin
> +LOADER         mkimage.spl.mkimage     0x7E1000

I think you should use "spl.bin" here and not the
"mkimage.spl.mkimage". As far as I understand the mkimage files are
only binman temporary files.

-- 
Heiko

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v1 1/7] imx: mkimage_fit_atf: fix legacy image generation
  2021-08-22 10:07   ` ZHIZHIKIN Andrey
@ 2021-08-23  6:56     ` Marcel Ziswiler
  2021-08-23  7:50       ` ZHIZHIKIN Andrey
  0 siblings, 1 reply; 18+ messages in thread
From: Marcel Ziswiler @ 2021-08-23  6:56 UTC (permalink / raw)
  To: u-boot, andrey.zhizhikin
  Cc: festevam, peng.fan, uboot-imx, sbabic, frieder.schrempf, heiko.thiery

Hi Andrey

Long time no see (;-p).

On Sun, 2021-08-22 at 10:07 +0000, ZHIZHIKIN Andrey wrote:
> Hello Marcel,
> 
> > -----Original Message-----
> > From: U-Boot <u-boot-bounces@lists.denx.de> On Behalf Of Marcel Ziswiler
> > Sent: Friday, August 20, 2021 10:52 PM
> > To: u-boot@lists.denx.de
> > Cc: Heiko Thiery <heiko.thiery@gmail.com>; Stefano Babic <sbabic@denx.de>;
> > Fabio Estevam <festevam@gmail.com>; Frieder Schrempf
> > <frieder.schrempf@kontron.de>; Marcel Ziswiler
> > <marcel.ziswiler@toradex.com>; NXP i.MX U-Boot Team <uboot-
> > imx@nxp.com>; Peng Fan <peng.fan@nxp.com>
> > Subject: [PATCH v1 1/7] imx: mkimage_fit_atf: fix legacy image generation
> > 
> > 
> > From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> > 
> > While most boards meanwhile migrated to using binman a few like the verdin-
> > imx8mm are still using the legacy image generation.
> > Unfortunately, the legacy image generation is currently broken which is especially
> > bad for any kind of bisection attempts.
> > Anyway, this fixes it even though we will also migrate to using binman shortly.
> 
> This change has been already proposed in [1],

Well, what I do not get is how one can move forward and leave all kinds of stuff just broken. Fact is, that the
legacy image creation has been and still is plain simply broken!

> but the discussion went into the direction of monolithic "flash.bin" rather than a migration to use binman.

Well, those two do actually not rule each other out. Remember, later in this patch set I am migrating to using
binman which I instruct to generate a monolithic "flash.bin" again.

> I guess if this change is really needed due to the fact that the migration of some boards is really difficult
> - the original patch can be taken.

What I found extremely problematic is, as mentioned initially, stuff is currently broken which makes e.g.
bisecting other issues extremely cumbersome. But in theory, as I propose now to migrate anyway, we could just
not care and leave it broken for anybody else. I just feel this is not really too nice of a gesture!

> However, I've commented out in that thread that there is a warning regarding the usage of scripts and
> migration notice, so maybe it does make sense to spend extra effort to migrate away from this script at all?

Yes, of course, it is the goal to migrate. I just don't get how in IT new stuff gets introduced all the time
with leaving past things broken. Just a little bit annoying...

> > Fixes: commit cb9faa6f98ae
> >  ("tools: Use a single target-independent config to enable OpenSSL")
> ...
> 
> Link: [1]: https://lore.kernel.org/u-boot/20210505120053.9466-1-oliver.graute@kococonnector.com/
> 
> Regards,
> Andrey

Cheers

Marcel

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v1 5/7] verdin-imx8mm: switch to use binman to pack images
  2021-08-23  6:37   ` Heiko Thiery
@ 2021-08-23  7:00     ` Marcel Ziswiler
  2021-08-23 10:02     ` Marcel Ziswiler
  1 sibling, 0 replies; 18+ messages in thread
From: Marcel Ziswiler @ 2021-08-23  7:00 UTC (permalink / raw)
  To: heiko.thiery
  Cc: sjg, Max Krummenacher, uboot-imx, hs, festevam, peng.fan, sbabic,
	jagan, iliev, marex, igor.opaniuk, u-boot, t.remmet,
	frieder.schrempf

Hi Heiko

On Mon, 2021-08-23 at 08:37 +0200, Heiko Thiery wrote:
> Hi Marcel,
> 
> Am Fr., 20. Aug. 2021 um 22:52 Uhr schrieb Marcel Ziswiler
> <marcel@ziswiler.com>:
> > 
> > From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> > 
> > Use binman to pack images.
> > 
> > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> > ---
> > 
> >  arch/arm/dts/imx8mm-verdin-u-boot.dtsi   | 122 ++++++++++++++++++++++-
> >  arch/arm/mach-imx/imx8m/Kconfig          |   1 +
> >  board/toradex/verdin-imx8mm/imximage.cfg |  11 +-
> >  configs/verdin-imx8mm_defconfig          |   2 +-
> >  doc/board/toradex/verdin-imx8mm.rst      |  54 +++++-----
> >  5 files changed, 155 insertions(+), 35 deletions(-)
> > 
> > diff --git a/arch/arm/dts/imx8mm-verdin-u-boot.dtsi b/arch/arm/dts/imx8mm-verdin-u-boot.dtsi
> > index a97626fa0c1..ba4c8d0436c 100644
> > --- a/arch/arm/dts/imx8mm-verdin-u-boot.dtsi
> > +++ b/arch/arm/dts/imx8mm-verdin-u-boot.dtsi
> > @@ -1,11 +1,15 @@
> >  // SPDX-License-Identifier: GPL-2.0+ OR MIT
> >  /*
> > - * Copyright 2020 Toradex
> > + * Copyright 2021 Toradex
> >   */
> > 
> >  #include "imx8mm-u-boot.dtsi"
> > 
> >  / {
> > +       binman: binman {
> > +               multiple-images;
> > +       };
> > +
> >         firmware {
> >                 optee {
> >                         compatible = "linaro,optee-tz";
> > @@ -91,3 +95,119 @@
> >  &wdog1 {
> >         u-boot,dm-spl;
> >  };
> > +
> > +&binman {
> > +        u-boot-spl-ddr {
> > +               align = <4>;
> > +               align-size = <4>;
> > +               filename = "u-boot-spl-ddr.bin";
> > +               pad-byte = <0xff>;
> > +
> > +               u-boot-spl {
> > +                       align-end = <4>;
> > +               };
> > +
> > +               blob_1: blob-ext@1 {
> > +                       filename = "lpddr4_pmu_train_1d_imem.bin";
> > +                       size = <0x8000>;
> > +               };
> > +
> > +               blob_2: blob-ext@2 {
> > +                       filename = "lpddr4_pmu_train_1d_dmem.bin";
> > +                       size = <0x4000>;
> > +               };
> > +
> > +               blob_3: blob-ext@3 {
> > +                       filename = "lpddr4_pmu_train_2d_imem.bin";
> > +                       size = <0x8000>;
> > +               };
> > +
> > +               blob_4: blob-ext@4 {
> > +                       filename = "lpddr4_pmu_train_2d_dmem.bin";
> > +                       size = <0x4000>;
> > +               };
> > +       };
> > +
> > +       spl {
> 
> Maybe you can add a "filename = spl.bin" property here. So it is more
> clear that this is the output file. This should be the one you refer
> to in your "board/toradex/verdin-imx8mm/imximage.cfg".

Yeah, I had this but then decided against it again as others also seem to just rely on binman's default naming
scheme. But I agree it will make it kinda more clear. So let me add it again.

> > +               mkimage {
> > +                       args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000";
> > +
> > +                       blob {
> > +                               filename = "u-boot-spl-ddr.bin";
> > +                       };
> > +               };
> > +       };
> > +
> > +       itb {
> > +               filename = "u-boot.itb";
> > +
> > +               fit {
> > +                       description = "Configuration to load ATF before U-Boot";
> > +                       fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
> > +                       #address-cells = <1>;
> > +
> > +                       images {
> > +                               uboot {
> > +                                       arch = "arm64";
> > +                                       compression = "none";
> > +                                       description = "U-Boot (64-bit)";
> > +                                       load = <CONFIG_SYS_TEXT_BASE>;
> > +                                       type = "standalone";
> > +
> > +                                       uboot_blob: blob-ext {
> > +                                               filename = "u-boot-nodtb.bin";
> > +                                       };
> > +                               };
> > +
> > +                               atf {
> > +                                       arch = "arm64";
> > +                                       compression = "none";
> > +                                       description = "ARM Trusted Firmware";
> > +                                       entry = <0x920000>;
> > +                                       load = <0x920000>;
> > +                                       type = "firmware";
> > +
> > +                                       atf_blob: blob-ext {
> > +                                               filename = "bl31.bin";
> > +                                       };
> > +                               };
> > +
> > +                               fdt {
> > +                                       compression = "none";
> > +                                       description = "NAME";
> > +                                       type = "flat_dt";
> > +
> > +                                       uboot_fdt_blob: blob-ext {
> > +                                               filename = "u-boot.dtb";
> > +                                       };
> > +                               };
> > +                       };
> > +
> > +                       configurations {
> > +                               default = "conf";
> > +
> > +                               conf {
> > +                                       description = "NAME";
> > +                                       fdt = "fdt";
> > +                                       firmware = "uboot";
> > +                                       loadables = "atf";
> > +                               };
> > +                       };
> > +               };
> > +       };
> > +
> > +       imx-boot {
> > +               filename = "flash.bin";
> > +               pad-byte = <0x00>;
> > +
> > +               spl: blob-ext@1 {
> > +                       filename = "spl.bin";
> > +                       offset = <0x0>;
> > +               };
> > +
> > +               uboot: blob-ext@2 {
> > +                       filename = "u-boot.itb";
> > +                       offset = <0x5fc00>;
> > +               };
> > +       };
> > +};
> > diff --git a/arch/arm/mach-imx/imx8m/Kconfig b/arch/arm/mach-imx/imx8m/Kconfig
> > index a2ba30cf332..3eccc6b4d4f 100644
> > --- a/arch/arm/mach-imx/imx8m/Kconfig
> > +++ b/arch/arm/mach-imx/imx8m/Kconfig
> > @@ -106,6 +106,7 @@ config TARGET_PICO_IMX8MQ
> > 
> >  config TARGET_VERDIN_IMX8MM
> >         bool "Support Toradex Verdin iMX8M Mini module"
> > +       select BINMAN
> >         select IMX8MM
> >         select SUPPORT_SPL
> >         select IMX8M_LPDDR4
> > diff --git a/board/toradex/verdin-imx8mm/imximage.cfg b/board/toradex/verdin-imx8mm/imximage.cfg
> > index b8b25ff4201..9bd60e39fb5 100644
> > --- a/board/toradex/verdin-imx8mm/imximage.cfg
> > +++ b/board/toradex/verdin-imx8mm/imximage.cfg
> > @@ -1,16 +1,9 @@
> >  /* SPDX-License-Identifier: GPL-2.0+ */
> >  /*
> > - * Copyright 2020 Toradex
> > + * Copyright 2021 Toradex
> >   */
> > 
> >  #define __ASSEMBLY__
> > 
> > -FIT
> >  BOOT_FROM      emmc_fastboot
> > -LOADER         spl/u-boot-spl-ddr.bin  0x7E1000
> > -SECOND_LOADER  u-boot.itb              0x40200000 0x60000
> > -
> > -DDR_FW lpddr4_pmu_train_1d_imem.bin
> > -DDR_FW lpddr4_pmu_train_1d_dmem.bin
> > -DDR_FW lpddr4_pmu_train_2d_imem.bin
> > -DDR_FW lpddr4_pmu_train_2d_dmem.bin
> > +LOADER         mkimage.spl.mkimage     0x7E1000
> 
> I think you should use "spl.bin" here and not the
> "mkimage.spl.mkimage". As far as I understand the mkimage files are
> only binman temporary files.

Oh, OK. I just did what everybody else did. But your suggestion kinda makes sense. Let me try this. Thanks!

Cheers

Marcel

^ permalink raw reply	[flat|nested] 18+ messages in thread

* RE: [PATCH v1 1/7] imx: mkimage_fit_atf: fix legacy image generation
  2021-08-23  6:56     ` Marcel Ziswiler
@ 2021-08-23  7:50       ` ZHIZHIKIN Andrey
  2021-08-23 10:59         ` Fabio Estevam
  0 siblings, 1 reply; 18+ messages in thread
From: ZHIZHIKIN Andrey @ 2021-08-23  7:50 UTC (permalink / raw)
  To: Marcel Ziswiler, u-boot
  Cc: festevam, peng.fan, uboot-imx, sbabic, frieder.schrempf,
	heiko.thiery, Oliver Graute

Hello Marcel!

> -----Original Message-----
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> Sent: Monday, August 23, 2021 8:57 AM
> To: u-boot@lists.denx.de; ZHIZHIKIN Andrey <andrey.zhizhikin@leica-
> geosystems.com>
> Cc: festevam@gmail.com; peng.fan@nxp.com; uboot-imx@nxp.com;
> sbabic@denx.de; frieder.schrempf@kontron.de; heiko.thiery@gmail.com
> Subject: Re: [PATCH v1 1/7] imx: mkimage_fit_atf: fix legacy image generation
> 
> 
> Hi Andrey
> 
> Long time no see (;-p).

Indeed! :D

> 
> On Sun, 2021-08-22 at 10:07 +0000, ZHIZHIKIN Andrey wrote:
> > Hello Marcel,
> >
> > > -----Original Message-----
> > > From: U-Boot <u-boot-bounces@lists.denx.de> On Behalf Of Marcel
> > > Ziswiler
> > > Sent: Friday, August 20, 2021 10:52 PM
> > > To: u-boot@lists.denx.de
> > > Cc: Heiko Thiery <heiko.thiery@gmail.com>; Stefano Babic
> > > <sbabic@denx.de>; Fabio Estevam <festevam@gmail.com>; Frieder
> > > Schrempf <frieder.schrempf@kontron.de>; Marcel Ziswiler
> > > <marcel.ziswiler@toradex.com>; NXP i.MX U-Boot Team <uboot-
> > > imx@nxp.com>; Peng Fan <peng.fan@nxp.com>
> > > Subject: [PATCH v1 1/7] imx: mkimage_fit_atf: fix legacy image
> > > generation
> > >
> > >
> > > From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> > >
> > > While most boards meanwhile migrated to using binman a few like the
> > > verdin- imx8mm are still using the legacy image generation.
> > > Unfortunately, the legacy image generation is currently broken which
> > > is especially bad for any kind of bisection attempts.
> > > Anyway, this fixes it even though we will also migrate to using binman shortly.
> >
> > This change has been already proposed in [1],
> 
> Well, what I do not get is how one can move forward and leave all kinds of stuff
> just broken. Fact is, that the legacy image creation has been and still is plain
> simply broken!
> 
> > but the discussion went into the direction of monolithic "flash.bin" rather than a
> migration to use binman.
> 
> Well, those two do actually not rule each other out. Remember, later in this patch
> set I am migrating to using binman which I instruct to generate a monolithic
> "flash.bin" again.
> 
> > I guess if this change is really needed due to the fact that the
> > migration of some boards is really difficult
> > - the original patch can be taken.
> 
> What I found extremely problematic is, as mentioned initially, stuff is currently
> broken which makes e.g.
> bisecting other issues extremely cumbersome. But in theory, as I propose now to
> migrate anyway, we could just not care and leave it broken for anybody else. I
> just feel this is not really too nice of a gesture!

Totally agree, keeping the broken implementation is not a nice thing as people unaware of this might base their work on it and wonder why it does not build on the first place...

Actually, I wanted to propose to remove this script from the tree and let derivatives that rely on it to fail to being forcibly converted to binman. But I was humble enough to do it through...

There are still those boards that use FIT generator script:
configs/cgtqmx8_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/imx8mm-icore-mx8mm-ctouch2_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/imx8mm-icore-mx8mm-edimm2.2_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/imx8mm_beacon_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/imx8mm_venice_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/imx8mn_beacon_2g_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/imx8mn_beacon_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/imx8mq_evk_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/imx8mq_phanbell_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/imx8qm_rom7720_a1_4G_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/phycore-imx8mm_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/pico-imx8mq_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/verdin-imx8mm_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"

Verdin gets converted with your other patch, while for all the others I'm not sure what the status is.

There is however one board which has been introduced quite recent (Cc'ing Oliver here) and didn't went for binman implementation from the start. This is a clear indication that people are still relying on old FIT generator, even though there is a clear warning about that it is not suppose to be used.

I guess at this stage, I'd rather leave this question for maintainers to decide - enforce the conversion to binman via deleting the FIT generator script, or fix the generator script with the patch from Oliver and let board maintainers to either use it or migrate.

> 
> > However, I've commented out in that thread that there is a warning
> > regarding the usage of scripts and migration notice, so maybe it does make
> sense to spend extra effort to migrate away from this script at all?
> 
> Yes, of course, it is the goal to migrate. I just don't get how in IT new stuff gets
> introduced all the time with leaving past things broken. Just a little bit annoying...
> 
> > > Fixes: commit cb9faa6f98ae
> > >  ("tools: Use a single target-independent config to enable OpenSSL")
> > ...
> >
> 
> Cheers
> 
> Marcel

Cheers,
Andrey

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v1 5/7] verdin-imx8mm: switch to use binman to pack images
  2021-08-23  6:37   ` Heiko Thiery
  2021-08-23  7:00     ` Marcel Ziswiler
@ 2021-08-23 10:02     ` Marcel Ziswiler
  2021-08-23 10:43       ` Heiko Thiery
  1 sibling, 1 reply; 18+ messages in thread
From: Marcel Ziswiler @ 2021-08-23 10:02 UTC (permalink / raw)
  To: heiko.thiery
  Cc: sjg, Max Krummenacher, uboot-imx, hs, festevam, peng.fan, sbabic,
	jagan, iliev, marex, igor.opaniuk, u-boot, t.remmet,
	frieder.schrempf

Hi Heiko

On Mon, 2021-08-23 at 08:37 +0200, Heiko Thiery wrote:

> ...
> > diff --git a/board/toradex/verdin-imx8mm/imximage.cfg b/board/toradex/verdin-imx8mm/imximage.cfg
> > index b8b25ff4201..9bd60e39fb5 100644
> > --- a/board/toradex/verdin-imx8mm/imximage.cfg
> > +++ b/board/toradex/verdin-imx8mm/imximage.cfg
> > @@ -1,16 +1,9 @@
> >  /* SPDX-License-Identifier: GPL-2.0+ */
> >  /*
> > - * Copyright 2020 Toradex
> > + * Copyright 2021 Toradex
> >   */
> > 
> >  #define __ASSEMBLY__
> > 
> > -FIT
> >  BOOT_FROM      emmc_fastboot
> > -LOADER         spl/u-boot-spl-ddr.bin  0x7E1000
> > -SECOND_LOADER  u-boot.itb              0x40200000 0x60000
> > -
> > -DDR_FW lpddr4_pmu_train_1d_imem.bin
> > -DDR_FW lpddr4_pmu_train_1d_dmem.bin
> > -DDR_FW lpddr4_pmu_train_2d_imem.bin
> > -DDR_FW lpddr4_pmu_train_2d_dmem.bin
> > +LOADER         mkimage.spl.mkimage     0x7E1000
> 
> I think you should use "spl.bin" here and not the
> "mkimage.spl.mkimage". As far as I understand the mkimage files are
> only binman temporary files.

Unfortunately, that does not seem to work:

binman: Error 1 running 'mkimage -d ./mkimage.spl.mkimage -n spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000
./mkimage-out.spl.mkimage': spl.bin: Can't open: No such file or directory

Thinking about it, I guess, it is a chicken/egg problem. As it is that step of binman which actually creates
spl.bin from this mkimage.spl.mkimage intermediate artifact, not?

Cheers

Marcel

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v1 5/7] verdin-imx8mm: switch to use binman to pack images
  2021-08-23 10:02     ` Marcel Ziswiler
@ 2021-08-23 10:43       ` Heiko Thiery
  0 siblings, 0 replies; 18+ messages in thread
From: Heiko Thiery @ 2021-08-23 10:43 UTC (permalink / raw)
  To: Marcel Ziswiler
  Cc: sjg, Max Krummenacher, uboot-imx, hs, festevam, peng.fan, sbabic,
	jagan, iliev, marex, igor.opaniuk, u-boot, t.remmet,
	frieder.schrempf

 Hi Marcel,

Am Mo., 23. Aug. 2021 um 12:02 Uhr schrieb Marcel Ziswiler
<marcel.ziswiler@toradex.com>:
>
> Hi Heiko
>
> On Mon, 2021-08-23 at 08:37 +0200, Heiko Thiery wrote:
>
> > ...
> > > diff --git a/board/toradex/verdin-imx8mm/imximage.cfg b/board/toradex/verdin-imx8mm/imximage.cfg
> > > index b8b25ff4201..9bd60e39fb5 100644
> > > --- a/board/toradex/verdin-imx8mm/imximage.cfg
> > > +++ b/board/toradex/verdin-imx8mm/imximage.cfg
> > > @@ -1,16 +1,9 @@
> > >  /* SPDX-License-Identifier: GPL-2.0+ */
> > >  /*
> > > - * Copyright 2020 Toradex
> > > + * Copyright 2021 Toradex
> > >   */
> > >
> > >  #define __ASSEMBLY__
> > >
> > > -FIT
> > >  BOOT_FROM      emmc_fastboot
> > > -LOADER         spl/u-boot-spl-ddr.bin  0x7E1000
> > > -SECOND_LOADER  u-boot.itb              0x40200000 0x60000
> > > -
> > > -DDR_FW lpddr4_pmu_train_1d_imem.bin
> > > -DDR_FW lpddr4_pmu_train_1d_dmem.bin
> > > -DDR_FW lpddr4_pmu_train_2d_imem.bin
> > > -DDR_FW lpddr4_pmu_train_2d_dmem.bin
> > > +LOADER         mkimage.spl.mkimage     0x7E1000
> >
> > I think you should use "spl.bin" here and not the
> > "mkimage.spl.mkimage". As far as I understand the mkimage files are
> > only binman temporary files.
>
> Unfortunately, that does not seem to work:
>
> binman: Error 1 running 'mkimage -d ./mkimage.spl.mkimage -n spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000
> ./mkimage-out.spl.mkimage': spl.bin: Can't open: No such file or directory
>
> Thinking about it, I guess, it is a chicken/egg problem. As it is that step of binman which actually creates
> spl.bin from this mkimage.spl.mkimage intermediate artifact, not?

Sorry for the confusion. It was my fault to say spl.bin is required in
the imximage.cfg. The right file should be "u-boot-spl-ddr.bin". This
is the input for the mkimage. Isn't it?

-- 
Heiko

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v1 1/7] imx: mkimage_fit_atf: fix legacy image generation
  2021-08-23  7:50       ` ZHIZHIKIN Andrey
@ 2021-08-23 10:59         ` Fabio Estevam
  2021-08-23 15:53           ` ZHIZHIKIN Andrey
  0 siblings, 1 reply; 18+ messages in thread
From: Fabio Estevam @ 2021-08-23 10:59 UTC (permalink / raw)
  To: ZHIZHIKIN Andrey
  Cc: Marcel Ziswiler, u-boot, peng.fan, uboot-imx, sbabic,
	frieder.schrempf, heiko.thiery, Oliver Graute

 Hi Andrey,

On Mon, Aug 23, 2021 at 4:50 AM ZHIZHIKIN Andrey
<andrey.zhizhikin@leica-geosystems.com> wrote:

> There are still those boards that use FIT generator script:
> configs/cgtqmx8_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/imx8mm-icore-mx8mm-ctouch2_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/imx8mm-icore-mx8mm-edimm2.2_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/imx8mm_beacon_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/imx8mm_venice_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/imx8mn_beacon_2g_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/imx8mn_beacon_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/imx8mq_evk_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/imx8mq_phanbell_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/imx8qm_rom7720_a1_4G_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/phycore-imx8mm_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/pico-imx8mq_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/verdin-imx8mm_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
>
> Verdin gets converted with your other patch, while for all the others I'm not sure what the status is.
>

Peng sent a patch series converting imx8mq_evk, pico-imx8mq and
imx8mq_phanbell to  binman:
https://www.mail-archive.com/u-boot@lists.denx.de/msg414962.html

Regards,

Fabio Estevam

^ permalink raw reply	[flat|nested] 18+ messages in thread

* RE: [PATCH v1 1/7] imx: mkimage_fit_atf: fix legacy image generation
  2021-08-23 10:59         ` Fabio Estevam
@ 2021-08-23 15:53           ` ZHIZHIKIN Andrey
  2021-08-23 17:27             ` Fabio Estevam
  0 siblings, 1 reply; 18+ messages in thread
From: ZHIZHIKIN Andrey @ 2021-08-23 15:53 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: Marcel Ziswiler, u-boot, peng.fan, uboot-imx, sbabic,
	frieder.schrempf, heiko.thiery, Oliver Graute

Hello Fabio,

> -----Original Message-----
> From: Fabio Estevam <festevam@gmail.com>
> Sent: Monday, August 23, 2021 1:00 PM
> To: ZHIZHIKIN Andrey <andrey.zhizhikin@leica-geosystems.com>
> Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com>; u-boot@lists.denx.de;
> peng.fan@nxp.com; uboot-imx@nxp.com; sbabic@denx.de;
> frieder.schrempf@kontron.de; heiko.thiery@gmail.com; Oliver Graute
> <oliver.graute@kococonnector.com>
> Subject: Re: [PATCH v1 1/7] imx: mkimage_fit_atf: fix legacy image generation
> 
> 
>  Hi Andrey,
> 
> >
> > Verdin gets converted with your other patch, while for all the others I'm not
> sure what the status is.
> >
> 
> Peng sent a patch series converting imx8mq_evk, pico-imx8mq and
> imx8mq_phanbell to  binman:
> https://www.mail-archive.com/u-boot@lists.denx.de/msg414962.html
> 

Thanks for pointing it out!

I guess the short list of affected candidates when mkimage_fit_atf.sh FIT generator gets deleted then would be:

configs/cgtqmx8_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/imx8mm-icore-mx8mm-ctouch2_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/imx8mm-icore-mx8mm-edimm2.2_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/imx8mm_beacon_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/imx8mm_venice_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/imx8mn_beacon_2g_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/imx8mn_beacon_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/imx8qm_rom7720_a1_4G_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
configs/phycore-imx8mm_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"

Should I send out an RFC to have the FIT generator script removed for 'mach-imx'?

This would trigger the build failures for those derivatives, but since it is broken anyway - this would need to be solved by maintainers migrating them to binman.

> Regards,
> 
> Fabio Estevam

Regards,
Andrey

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v1 1/7] imx: mkimage_fit_atf: fix legacy image generation
  2021-08-23 15:53           ` ZHIZHIKIN Andrey
@ 2021-08-23 17:27             ` Fabio Estevam
  0 siblings, 0 replies; 18+ messages in thread
From: Fabio Estevam @ 2021-08-23 17:27 UTC (permalink / raw)
  To: ZHIZHIKIN Andrey
  Cc: Marcel Ziswiler, u-boot, peng.fan, uboot-imx, sbabic,
	frieder.schrempf, heiko.thiery, Oliver Graute

Hi Andrey,

On Mon, Aug 23, 2021 at 12:53 PM ZHIZHIKIN Andrey
<andrey.zhizhikin@leica-geosystems.com> wrote:

> Thanks for pointing it out!
>
> I guess the short list of affected candidates when mkimage_fit_atf.sh FIT generator gets deleted then would be:
>
> configs/cgtqmx8_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/imx8mm-icore-mx8mm-ctouch2_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/imx8mm-icore-mx8mm-edimm2.2_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/imx8mm_beacon_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/imx8mm_venice_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/imx8mn_beacon_2g_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/imx8mn_beacon_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/imx8qm_rom7720_a1_4G_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> configs/phycore-imx8mm_defconfig:CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
>
> Should I send out an RFC to have the FIT generator script removed for 'mach-imx'?
>
> This would trigger the build failures for those derivatives, but since it is broken anyway - this would need to be solved by maintainers migrating them to binman.

Yes, please send an RFC for that.

Thanks

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2021-08-23 17:27 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-20 20:52 [PATCH v1 0/7] board: toradex: verdin-imx8mm: target refresh Marcel Ziswiler
2021-08-20 20:52 ` [PATCH v1 1/7] imx: mkimage_fit_atf: fix legacy image generation Marcel Ziswiler
2021-08-22 10:07   ` ZHIZHIKIN Andrey
2021-08-23  6:56     ` Marcel Ziswiler
2021-08-23  7:50       ` ZHIZHIKIN Andrey
2021-08-23 10:59         ` Fabio Estevam
2021-08-23 15:53           ` ZHIZHIKIN Andrey
2021-08-23 17:27             ` Fabio Estevam
2021-08-20 20:52 ` [PATCH v1 2/7] imx8m: clean-up kconfig indentation Marcel Ziswiler
2021-08-20 20:52 ` [PATCH v1 3/7] verdin-imx8mm: fix ethernet Marcel Ziswiler
2021-08-20 20:52 ` [PATCH v1 4/7] ARM: dts: imx8mm-verdin: prepare for dek blob encapsulation Marcel Ziswiler
2021-08-20 20:52 ` [PATCH v1 5/7] verdin-imx8mm: switch to use binman to pack images Marcel Ziswiler
2021-08-23  6:37   ` Heiko Thiery
2021-08-23  7:00     ` Marcel Ziswiler
2021-08-23 10:02     ` Marcel Ziswiler
2021-08-23 10:43       ` Heiko Thiery
2021-08-20 20:52 ` [PATCH v1 6/7] verdin-imx8mm: enable sleep_moci output Marcel Ziswiler
2021-08-20 20:52 ` [PATCH v1 7/7] verdin-imx8mm: drop support for v1.0 hardware Marcel Ziswiler

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.