U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/3] Move NXP i.MX board environments to .env files
@ 2026-06-10 13:24 Aristo Chen
  2026-06-10 13:24 ` [PATCH v1 1/3] mx7ulp_evk: Move environment variables to .env file Aristo Chen
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Aristo Chen @ 2026-06-10 13:24 UTC (permalink / raw)
  To: u-boot; +Cc: Aristo Chen

This series converts several NXP i.MX boards from the ad-hoc
CFG_EXTRA_ENV_SETTINGS macro in their config headers to the text based
environment file mechanism described in doc/usage/environment.rst. Each
board now keeps its default environment in a readable .env file instead
of a backslash continued C string in include/configs.

The conversions are meant to be functionally transparent. For every
board the generated default environment is byte for byte identical
before and after the change. This was verified by comparing the output
of scripts/get_default_envs.sh on each affected defconfig.

mx7ulp_evk and mx6ullevk are single board conversions. mx6sabresd and
mx6sabreauto share mx6sabre_common.h, so their common environment is
placed in a shared fragment at include/env/nxp/mx6sabre_common.env that
both board .env files include, with only the console setting kept per
board. The eMMC firmware update variables stay guarded by
CONFIG_SUPPORT_EMMC_BOOT inside the fragment.

The series has been boot tested on i.MX7ULP EVK, i.MX6ULL 14x14 EVK and
i.MX6Q SABRE-SD. mx6sabreauto has no hardware available here and was
verified only through the default environment comparison described
above.

Note: checkpatch reports "fdt or initrd relocation disabled" for
initrd_high=0xffffffff. This is pre-existing in each board's current
environment and is kept unchanged to keep the conversion behaviour
neutral; it is not introduced by this series.

Aristo Chen (3):
  mx7ulp_evk: Move environment variables to .env file
  mx6ullevk: Move environment variables to .env file
  mx6sabre: Move environment variables to .env files

 board/nxp/mx6sabreauto/mx6sabreauto.env |   5 +
 board/nxp/mx6sabresd/mx6sabresd.env     |   5 +
 board/nxp/mx6ullevk/mx6ullevk.env       |  69 ++++++++++++++
 board/nxp/mx7ulp_evk/mx7ulp_evk.env     |  59 ++++++++++++
 include/configs/mx6sabre_common.h       | 122 ------------------------
 include/configs/mx6sabreauto.h          |   1 -
 include/configs/mx6sabresd.h            |   1 -
 include/configs/mx6ullevk.h             |  73 --------------
 include/configs/mx7ulp_evk.h            |  63 ------------
 include/env/nxp/mx6sabre_common.env     | 114 ++++++++++++++++++++++
 10 files changed, 252 insertions(+), 260 deletions(-)
 create mode 100644 board/nxp/mx6sabreauto/mx6sabreauto.env
 create mode 100644 board/nxp/mx6sabresd/mx6sabresd.env
 create mode 100644 board/nxp/mx6ullevk/mx6ullevk.env
 create mode 100644 board/nxp/mx7ulp_evk/mx7ulp_evk.env
 create mode 100644 include/env/nxp/mx6sabre_common.env

-- 
2.43.0


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

* [PATCH v1 1/3] mx7ulp_evk: Move environment variables to .env file
  2026-06-10 13:24 [PATCH v1 0/3] Move NXP i.MX board environments to .env files Aristo Chen
@ 2026-06-10 13:24 ` Aristo Chen
  2026-06-11  4:14   ` Peng Fan
  2026-06-10 13:24 ` [PATCH v1 2/3] mx6ullevk: " Aristo Chen
  2026-06-10 13:24 ` [PATCH v1 3/3] mx6sabre: Move environment variables to .env files Aristo Chen
  2 siblings, 1 reply; 7+ messages in thread
From: Aristo Chen @ 2026-06-10 13:24 UTC (permalink / raw)
  To: u-boot
  Cc: Aristo Chen, Peng Fan, Stefano Babic, Fabio Estevam,
	NXP i.MX U-Boot Team, Tom Rini, Marek Vasut

Move the board environment from CFG_EXTRA_ENV_SETTINGS in the config
header to board/nxp/mx7ulp_evk/mx7ulp_evk.env for better
maintainability. The file is named after CONFIG_SYS_BOARD so it is
selected automatically without setting CONFIG_ENV_SOURCE_FILE.

The generated default environment is unchanged. This was verified by
comparing the output of scripts/get_default_envs.sh before and after the
change, which produced identical results.

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
---
 board/nxp/mx7ulp_evk/mx7ulp_evk.env | 59 +++++++++++++++++++++++++++
 include/configs/mx7ulp_evk.h        | 63 -----------------------------
 2 files changed, 59 insertions(+), 63 deletions(-)
 create mode 100644 board/nxp/mx7ulp_evk/mx7ulp_evk.env

diff --git a/board/nxp/mx7ulp_evk/mx7ulp_evk.env b/board/nxp/mx7ulp_evk/mx7ulp_evk.env
new file mode 100644
index 00000000000..f5a384a61de
--- /dev/null
+++ b/board/nxp/mx7ulp_evk/mx7ulp_evk.env
@@ -0,0 +1,59 @@
+/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
+
+script=boot.scr
+image=zImage
+console=ttyLP0
+initrd_high=0xffffffff
+fdt_file=imx7ulp-evk.dtb
+fdt_addr=0x63000000
+boot_fdt=try
+earlycon=lpuart32,0x402D0010
+ip_dyn=yes
+mmcdev=CONFIG_ENV_MMC_DEVICE_INDEX
+mmcpart=1
+mmcroot=/dev/mmcblk0p2 rootwait rw
+mmcautodetect=yes
+mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot}
+loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
+bootscript=echo Running bootscript from mmc ...; source
+loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
+loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
+mmcboot=echo Booting from mmc ...;
+	run mmcargs;
+	if test ${boot_fdt} = yes || test ${boot_fdt} = try; then
+		if run loadfdt; then
+			bootz ${loadaddr} - ${fdt_addr};
+		else
+			if test ${boot_fdt} = try; then
+				bootz;
+			else
+				echo WARN: Cannot load the DT;
+			fi;
+		fi;
+	else
+		bootz;
+	fi;
+netargs=setenv bootargs console=${console},${baudrate} root=/dev/nfs
+	ip=:::::eth0:dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
+netboot=echo Booting from net ...;
+	run netargs;
+	if test ${ip_dyn} = yes; then
+		setenv get_cmd dhcp;
+	else
+		setenv get_cmd tftp;
+	fi;
+	usb start;
+	${get_cmd} ${image};
+	if test ${boot_fdt} = yes || test ${boot_fdt} = try; then
+		if ${get_cmd} ${fdt_addr} ${fdt_file}; then
+			bootz ${loadaddr} - ${fdt_addr};
+		else
+			if test ${boot_fdt} = try; then
+				bootz;
+			else
+				echo WARN: Cannot load the DT;
+			fi;
+		fi;
+	else
+		bootz;
+	fi;
diff --git a/include/configs/mx7ulp_evk.h b/include/configs/mx7ulp_evk.h
index ace1eee70cf..04fe902bbb7 100644
--- a/include/configs/mx7ulp_evk.h
+++ b/include/configs/mx7ulp_evk.h
@@ -27,69 +27,6 @@
 #define PHYS_SDRAM_SIZE			SZ_1G
 #define CFG_SYS_SDRAM_BASE		PHYS_SDRAM
 
-#define CFG_EXTRA_ENV_SETTINGS \
-	"script=boot.scr\0" \
-	"image=zImage\0" \
-	"console=ttyLP0\0" \
-	"initrd_high=0xffffffff\0" \
-	"fdt_file=imx7ulp-evk.dtb\0" \
-	"fdt_addr=0x63000000\0" \
-	"boot_fdt=try\0" \
-	"earlycon=lpuart32,0x402D0010\0" \
-	"ip_dyn=yes\0" \
-	"mmcdev="__stringify(CONFIG_ENV_MMC_DEVICE_INDEX)"\0" \
-	"mmcpart=1\0" \
-	"mmcroot=/dev/mmcblk0p2 rootwait rw\0" \
-	"mmcautodetect=yes\0" \
-	"mmcargs=setenv bootargs console=${console},${baudrate} " \
-		"root=${mmcroot}\0" \
-	"loadbootscript=" \
-		"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
-	"bootscript=echo Running bootscript from mmc ...; " \
-		"source\0" \
-	"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
-	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
-	"mmcboot=echo Booting from mmc ...; " \
-		"run mmcargs; " \
-		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
-			"if run loadfdt; then " \
-				"bootz ${loadaddr} - ${fdt_addr}; " \
-			"else " \
-				"if test ${boot_fdt} = try; then " \
-					"bootz; " \
-				"else " \
-					"echo WARN: Cannot load the DT; " \
-				"fi; " \
-			"fi; " \
-		"else " \
-			"bootz; " \
-		"fi;\0" \
-	"netargs=setenv bootargs console=${console},${baudrate} " \
-		"root=/dev/nfs " \
-		"ip=:::::eth0:dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
-	"netboot=echo Booting from net ...; " \
-		"run netargs; " \
-		"if test ${ip_dyn} = yes; then " \
-			"setenv get_cmd dhcp; " \
-		"else " \
-			"setenv get_cmd tftp; " \
-		"fi; " \
-		"usb start; "\
-		"${get_cmd} ${image}; " \
-		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
-			"if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
-				"bootz ${loadaddr} - ${fdt_addr}; " \
-			"else " \
-				"if test ${boot_fdt} = try; then " \
-					"bootz; " \
-				"else " \
-					"echo WARN: Cannot load the DT; " \
-				"fi; " \
-			"fi; " \
-		"else " \
-			"bootz; " \
-		"fi;\0" \
-
 #define CFG_SYS_INIT_RAM_ADDR	IRAM_BASE_ADDR
 #define CFG_SYS_INIT_RAM_SIZE	SZ_256K
 
-- 
2.43.0


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

* [PATCH v1 2/3] mx6ullevk: Move environment variables to .env file
  2026-06-10 13:24 [PATCH v1 0/3] Move NXP i.MX board environments to .env files Aristo Chen
  2026-06-10 13:24 ` [PATCH v1 1/3] mx7ulp_evk: Move environment variables to .env file Aristo Chen
@ 2026-06-10 13:24 ` Aristo Chen
  2026-06-11  4:15   ` Peng Fan
  2026-06-10 13:24 ` [PATCH v1 3/3] mx6sabre: Move environment variables to .env files Aristo Chen
  2 siblings, 1 reply; 7+ messages in thread
From: Aristo Chen @ 2026-06-10 13:24 UTC (permalink / raw)
  To: u-boot
  Cc: Aristo Chen, Stefano Babic, Fabio Estevam, NXP i.MX U-Boot Team,
	Peng Fan, Tom Rini, Marek Vasut

Move the board environment from CFG_EXTRA_ENV_SETTINGS in the config
header to board/nxp/mx6ullevk/mx6ullevk.env for better maintainability.
The file is named after CONFIG_SYS_BOARD so it is selected automatically
without setting CONFIG_ENV_SOURCE_FILE. Drop the now unused
linux/stringify.h include.

The generated default environment is unchanged. This was verified by
comparing the output of scripts/get_default_envs.sh before and after the
change, which produced identical results.

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
---
 board/nxp/mx6ullevk/mx6ullevk.env | 69 +++++++++++++++++++++++++++++
 include/configs/mx6ullevk.h       | 73 -------------------------------
 2 files changed, 69 insertions(+), 73 deletions(-)
 create mode 100644 board/nxp/mx6ullevk/mx6ullevk.env

diff --git a/board/nxp/mx6ullevk/mx6ullevk.env b/board/nxp/mx6ullevk/mx6ullevk.env
new file mode 100644
index 00000000000..0fce3aaaa4e
--- /dev/null
+++ b/board/nxp/mx6ullevk/mx6ullevk.env
@@ -0,0 +1,69 @@
+/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
+
+script=boot.scr
+image=zImage
+console=ttymxc0
+initrd_high=0xffffffff
+fdt_file=undefined
+fdt_addr=0x83000000
+boot_fdt=try
+ip_dyn=yes
+videomode=video=ctfb:x:480,y:272,depth:24,pclk:108695,le:8,ri:4,up:2,lo:4,hs:41,vs:10,sync:0,vmode:0
+mmcdev=CONFIG_ENV_MMC_DEVICE_INDEX
+mmcpart=1
+mmcroot=/dev/mmcblk1p2 rootwait rw
+mmcautodetect=yes
+mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot}
+loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
+bootscript=echo Running bootscript from mmc ...; source
+loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
+loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
+mmcboot=echo Booting from mmc ...;
+	run mmcargs;
+	if test ${boot_fdt} = yes || test ${boot_fdt} = try; then
+		if run loadfdt; then
+			bootz ${loadaddr} - ${fdt_addr};
+		else
+			if test ${boot_fdt} = try; then
+				bootz;
+			else
+				echo WARN: Cannot load the DT;
+			fi;
+		fi;
+	else
+		bootz;
+	fi;
+findfdt=if test $fdt_file = undefined; then
+		if test $board_name = ULZ-EVK && test $board_rev = 14X14; then
+			setenv fdt_file imx6ulz-14x14-evk.dtb;
+		fi;
+		if test $board_name = EVK && test $board_rev = 14X14; then
+			setenv fdt_file imx6ull-14x14-evk.dtb;
+		fi;
+		if test $fdt_file = undefined; then
+			echo WARNING: Could not determine dtb to use;
+		fi;
+	fi;
+netargs=setenv bootargs console=${console},${baudrate} root=/dev/nfs
+	ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
+netboot=echo Booting from net ...;
+	run netargs;
+	if test ${ip_dyn} = yes; then
+		setenv get_cmd dhcp;
+	else
+		setenv get_cmd tftp;
+	fi;
+	${get_cmd} ${image};
+	if test ${boot_fdt} = yes || test ${boot_fdt} = try; then
+		if ${get_cmd} ${fdt_addr} ${fdt_file}; then
+			bootz ${loadaddr} - ${fdt_addr};
+		else
+			if test ${boot_fdt} = try; then
+				bootz;
+			else
+				echo WARN: Cannot load the DT;
+			fi;
+		fi;
+	else
+		bootz;
+	fi;
diff --git a/include/configs/mx6ullevk.h b/include/configs/mx6ullevk.h
index 88b535e1bd0..a535163fd19 100644
--- a/include/configs/mx6ullevk.h
+++ b/include/configs/mx6ullevk.h
@@ -9,7 +9,6 @@
 
 #include <asm/arch/imx-regs.h>
 #include <linux/sizes.h>
-#include <linux/stringify.h>
 #include "mx6_common.h"
 #include <asm/mach-imx/gpio.h>
 
@@ -23,78 +22,6 @@
 #define CFG_SYS_FSL_USDHC_NUM	2
 #endif
 
-#define CFG_EXTRA_ENV_SETTINGS \
-	"script=boot.scr\0" \
-	"image=zImage\0" \
-	"console=ttymxc0\0" \
-	"initrd_high=0xffffffff\0" \
-	"fdt_file=undefined\0" \
-	"fdt_addr=0x83000000\0" \
-	"boot_fdt=try\0" \
-	"ip_dyn=yes\0" \
-	"videomode=video=ctfb:x:480,y:272,depth:24,pclk:108695,le:8,ri:4,up:2,lo:4,hs:41,vs:10,sync:0,vmode:0\0" \
-	"mmcdev="__stringify(CONFIG_ENV_MMC_DEVICE_INDEX)"\0" \
-	"mmcpart=1\0" \
-	"mmcroot=/dev/mmcblk1p2 rootwait rw\0" \
-	"mmcautodetect=yes\0" \
-	"mmcargs=setenv bootargs console=${console},${baudrate} " \
-		"root=${mmcroot}\0" \
-	"loadbootscript=" \
-		"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
-	"bootscript=echo Running bootscript from mmc ...; " \
-		"source\0" \
-	"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
-	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
-	"mmcboot=echo Booting from mmc ...; " \
-		"run mmcargs; " \
-		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
-			"if run loadfdt; then " \
-				"bootz ${loadaddr} - ${fdt_addr}; " \
-			"else " \
-				"if test ${boot_fdt} = try; then " \
-					"bootz; " \
-				"else " \
-					"echo WARN: Cannot load the DT; " \
-				"fi; " \
-			"fi; " \
-		"else " \
-			"bootz; " \
-		"fi;\0" \
-		"findfdt="\
-			"if test $fdt_file = undefined; then " \
-				"if test $board_name = ULZ-EVK && test $board_rev = 14X14; then " \
-					"setenv fdt_file imx6ulz-14x14-evk.dtb; fi; " \
-				"if test $board_name = EVK && test $board_rev = 14X14; then " \
-					"setenv fdt_file imx6ull-14x14-evk.dtb; fi; " \
-				"if test $fdt_file = undefined; then " \
-					"echo WARNING: Could not determine dtb to use; " \
-				"fi; " \
-			"fi;\0" \
-	"netargs=setenv bootargs console=${console},${baudrate} " \
-		"root=/dev/nfs " \
-	"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
-		"netboot=echo Booting from net ...; " \
-		"run netargs; " \
-		"if test ${ip_dyn} = yes; then " \
-			"setenv get_cmd dhcp; " \
-		"else " \
-			"setenv get_cmd tftp; " \
-		"fi; " \
-		"${get_cmd} ${image}; " \
-		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
-			"if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
-				"bootz ${loadaddr} - ${fdt_addr}; " \
-			"else " \
-				"if test ${boot_fdt} = try; then " \
-					"bootz; " \
-				"else " \
-					"echo WARN: Cannot load the DT; " \
-				"fi; " \
-			"fi; " \
-		"else " \
-			"bootz; " \
-		"fi;\0" \
-
 /* Miscellaneous configurable options */
 
 /* Physical Memory Map */
-- 
2.43.0


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

* [PATCH v1 3/3] mx6sabre: Move environment variables to .env files
  2026-06-10 13:24 [PATCH v1 0/3] Move NXP i.MX board environments to .env files Aristo Chen
  2026-06-10 13:24 ` [PATCH v1 1/3] mx7ulp_evk: Move environment variables to .env file Aristo Chen
  2026-06-10 13:24 ` [PATCH v1 2/3] mx6ullevk: " Aristo Chen
@ 2026-06-10 13:24 ` Aristo Chen
  2026-06-11  4:15   ` Peng Fan
  2 siblings, 1 reply; 7+ messages in thread
From: Aristo Chen @ 2026-06-10 13:24 UTC (permalink / raw)
  To: u-boot
  Cc: Aristo Chen, Fabio Estevam, Peng Fan, Stefano Babic,
	NXP i.MX U-Boot Team, Tom Rini, Marek Vasut

Move the shared environment from CFG_EXTRA_ENV_SETTINGS in
mx6sabre_common.h to a common text environment fragment in
include/env/nxp/mx6sabre_common.env. The mx6sabresd and mx6sabreauto
board environments include this fragment and add their own console
setting, which is the only board specific difference between them. The
eMMC firmware update variables remain guarded by CONFIG_SUPPORT_EMMC_BOOT
inside the fragment. The now unused CONSOLE_DEV defines and the
linux/stringify.h include are dropped.

The generated default environment is unchanged for both boards. This was
verified by comparing the output of scripts/get_default_envs.sh before
and after the change, which produced identical results.

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
---
 board/nxp/mx6sabreauto/mx6sabreauto.env |   5 +
 board/nxp/mx6sabresd/mx6sabresd.env     |   5 +
 include/configs/mx6sabre_common.h       | 122 ------------------------
 include/configs/mx6sabreauto.h          |   1 -
 include/configs/mx6sabresd.h            |   1 -
 include/env/nxp/mx6sabre_common.env     | 114 ++++++++++++++++++++++
 6 files changed, 124 insertions(+), 124 deletions(-)
 create mode 100644 board/nxp/mx6sabreauto/mx6sabreauto.env
 create mode 100644 board/nxp/mx6sabresd/mx6sabresd.env
 create mode 100644 include/env/nxp/mx6sabre_common.env

diff --git a/board/nxp/mx6sabreauto/mx6sabreauto.env b/board/nxp/mx6sabreauto/mx6sabreauto.env
new file mode 100644
index 00000000000..31a16905ef5
--- /dev/null
+++ b/board/nxp/mx6sabreauto/mx6sabreauto.env
@@ -0,0 +1,5 @@
+/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
+
+console=ttymxc3
+
+#include <env/nxp/mx6sabre_common.env>
diff --git a/board/nxp/mx6sabresd/mx6sabresd.env b/board/nxp/mx6sabresd/mx6sabresd.env
new file mode 100644
index 00000000000..3608e931665
--- /dev/null
+++ b/board/nxp/mx6sabresd/mx6sabresd.env
@@ -0,0 +1,5 @@
+/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
+
+console=ttymxc0
+
+#include <env/nxp/mx6sabre_common.env>
diff --git a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common.h
index ef2848b71f3..d3a57a10a16 100644
--- a/include/configs/mx6sabre_common.h
+++ b/include/configs/mx6sabre_common.h
@@ -8,133 +8,11 @@
 #ifndef __MX6QSABRE_COMMON_CONFIG_H
 #define __MX6QSABRE_COMMON_CONFIG_H
 
-#include <linux/stringify.h>
-
 #include "mx6_common.h"
 
 /* MMC Configs */
 #define CFG_SYS_FSL_ESDHC_ADDR      0
 
-#ifdef CONFIG_SUPPORT_EMMC_BOOT
-#define EMMC_ENV \
-	"emmcdev=2\0" \
-	"update_emmc_firmware=" \
-		"if test ${ip_dyn} = yes; then " \
-			"setenv get_cmd dhcp; " \
-		"else " \
-			"setenv get_cmd tftp; " \
-		"fi; " \
-		"if ${get_cmd} ${update_sd_firmware_filename}; then " \
-			"if mmc dev ${emmcdev} 1; then "	\
-				"setexpr fw_sz ${filesize} / 0x200; " \
-				"setexpr fw_sz ${fw_sz} + 1; "	\
-				"mmc write ${loadaddr} 0x2 ${fw_sz}; " \
-			"fi; "	\
-		"fi\0"
-#else
-#define EMMC_ENV ""
-#endif
-
-#define CFG_EXTRA_ENV_SETTINGS \
-	"script=boot.scr\0" \
-	"image=zImage\0" \
-	"fdtfile=undefined\0" \
-	"fdt_addr=0x18000000\0" \
-	"boot_fdt=try\0" \
-	"ip_dyn=yes\0" \
-	"console=" CONSOLE_DEV "\0" \
-	"dfuspi=dfu 0 sf 0:0:10000000:0\0" \
-	"dfu_alt_info_spl=spl raw 0x400\0" \
-	"dfu_alt_info_img=u-boot raw 0x10000\0" \
-	"dfu_alt_info=spl raw 0x400\0" \
-	"initrd_high=0xffffffff\0" \
-	"splashimage=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
-	"mmcdev=" __stringify(CONFIG_ENV_MMC_DEVICE_INDEX) "\0" \
-	"mmcpart=1\0" \
-	"finduuid=part uuid mmc ${mmcdev}:2 uuid\0" \
-	"update_sd_firmware=" \
-		"if test ${ip_dyn} = yes; then " \
-			"setenv get_cmd dhcp; " \
-		"else " \
-			"setenv get_cmd tftp; " \
-		"fi; " \
-		"if mmc dev ${mmcdev}; then "	\
-			"if ${get_cmd} ${update_sd_firmware_filename}; then " \
-				"setexpr fw_sz ${filesize} / 0x200; " \
-				"setexpr fw_sz ${fw_sz} + 1; "	\
-				"mmc write ${loadaddr} 0x2 ${fw_sz}; " \
-			"fi; "	\
-		"fi\0" \
-	EMMC_ENV	  \
-	"mmcargs=setenv bootargs console=${console},${baudrate} " \
-		"root=PARTUUID=${uuid} rootwait rw\0" \
-	"loadbootscript=" \
-		"load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script} || " \
-		"load mmc ${mmcdev}:${mmcpart} ${loadaddr} boot/${script};\0" \
-	"bootscript=echo Running bootscript from mmc ...; " \
-		"source\0" \
-	"loadimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image} || " \
-		"load mmc ${mmcdev}:${mmcpart} ${loadaddr} boot/${image}\0" \
-	"loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdtfile} || " \
-		"load mmc ${mmcdev}:${mmcpart} ${fdt_addr} boot/${fdtfile}\0" \
-	"mmcboot=echo Booting from mmc ...; " \
-		"run finduuid; " \
-		"run mmcargs; " \
-		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
-			"if run loadfdt; then " \
-				"bootz ${loadaddr} - ${fdt_addr}; " \
-			"else " \
-				"if test ${boot_fdt} = try; then " \
-					"bootz; " \
-				"else " \
-					"echo WARN: Cannot load the DT; " \
-				"fi; " \
-			"fi; " \
-		"else " \
-			"bootz; " \
-		"fi;\0" \
-	"netargs=setenv bootargs console=${console},${baudrate} " \
-		"root=/dev/nfs " \
-		"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
-	"netboot=echo Booting from net ...; " \
-		"run netargs; " \
-		"if test ${ip_dyn} = yes; then " \
-			"setenv get_cmd dhcp; " \
-		"else " \
-			"setenv get_cmd tftp; " \
-		"fi; " \
-		"${get_cmd} ${image}; " \
-		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
-			"if ${get_cmd} ${fdt_addr} ${fdtfile}; then " \
-				"bootz ${loadaddr} - ${fdt_addr}; " \
-			"else " \
-				"if test ${boot_fdt} = try; then " \
-					"bootz; " \
-				"else " \
-					"echo WARN: Cannot load the DT; " \
-				"fi; " \
-			"fi; " \
-		"else " \
-			"bootz; " \
-		"fi;\0" \
-		"findfdt="\
-			"if test $fdtfile = undefined; then " \
-				"if test $board_name = SABREAUTO && test $board_rev = MX6QP; then " \
-					"setenv fdtfile imx6qp-sabreauto.dtb; fi; " \
-				"if test $board_name = SABREAUTO && test $board_rev = MX6Q; then " \
-					"setenv fdtfile imx6q-sabreauto.dtb; fi; " \
-				"if test $board_name = SABREAUTO && test $board_rev = MX6DL; then " \
-					"setenv fdtfile imx6dl-sabreauto.dtb; fi; " \
-				"if test $board_name = SABRESD && test $board_rev = MX6QP; then " \
-					"setenv fdtfile imx6qp-sabresd.dtb; fi; " \
-				"if test $board_name = SABRESD && test $board_rev = MX6Q; then " \
-					"setenv fdtfile imx6q-sabresd.dtb; fi; " \
-				"if test $board_name = SABRESD && test $board_rev = MX6DL; then " \
-					"setenv fdtfile imx6dl-sabresd.dtb; fi; " \
-				"if test $fdtfile = undefined; then " \
-					"echo WARNING: Could not determine dtb to use; fi; " \
-			"fi;\0" \
-
 /* Physical Memory Map */
 #define PHYS_SDRAM                     MMDC0_ARB_BASE_ADDR
 
diff --git a/include/configs/mx6sabreauto.h b/include/configs/mx6sabreauto.h
index e491af3e927..b5602def87d 100644
--- a/include/configs/mx6sabreauto.h
+++ b/include/configs/mx6sabreauto.h
@@ -9,7 +9,6 @@
 #define __MX6SABREAUTO_CONFIG_H
 
 #define CFG_MXC_UART_BASE	UART4_BASE
-#define CONSOLE_DEV		"ttymxc3"
 
 #define CFG_SYS_I2C_PCA953X_WIDTH	{ {0x30, 8}, {0x32, 8}, {0x34, 8} }
 
diff --git a/include/configs/mx6sabresd.h b/include/configs/mx6sabresd.h
index e34947c94d0..1ea08f835dd 100644
--- a/include/configs/mx6sabresd.h
+++ b/include/configs/mx6sabresd.h
@@ -9,7 +9,6 @@
 #define __MX6SABRESD_CONFIG_H
 
 #define CFG_MXC_UART_BASE	UART1_BASE
-#define CONSOLE_DEV		"ttymxc0"
 
 #include "mx6sabre_common.h"
 
diff --git a/include/env/nxp/mx6sabre_common.env b/include/env/nxp/mx6sabre_common.env
new file mode 100644
index 00000000000..5346cd4e953
--- /dev/null
+++ b/include/env/nxp/mx6sabre_common.env
@@ -0,0 +1,114 @@
+/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
+
+script=boot.scr
+image=zImage
+fdtfile=undefined
+fdt_addr=0x18000000
+boot_fdt=try
+ip_dyn=yes
+dfuspi=dfu 0 sf 0:0:10000000:0
+dfu_alt_info_spl=spl raw 0x400
+dfu_alt_info_img=u-boot raw 0x10000
+dfu_alt_info=spl raw 0x400
+initrd_high=0xffffffff
+splashimage=CONFIG_SYS_LOAD_ADDR
+mmcdev=CONFIG_ENV_MMC_DEVICE_INDEX
+mmcpart=1
+finduuid=part uuid mmc ${mmcdev}:2 uuid
+update_sd_firmware=if test ${ip_dyn} = yes; then
+		setenv get_cmd dhcp;
+	else
+		setenv get_cmd tftp;
+	fi;
+	if mmc dev ${mmcdev}; then
+		if ${get_cmd} ${update_sd_firmware_filename}; then
+			setexpr fw_sz ${filesize} / 0x200;
+			setexpr fw_sz ${fw_sz} + 1;
+			mmc write ${loadaddr} 0x2 ${fw_sz};
+		fi;
+	fi
+#ifdef CONFIG_SUPPORT_EMMC_BOOT
+emmcdev=2
+update_emmc_firmware=if test ${ip_dyn} = yes; then
+		setenv get_cmd dhcp;
+	else
+		setenv get_cmd tftp;
+	fi;
+	if ${get_cmd} ${update_sd_firmware_filename}; then
+		if mmc dev ${emmcdev} 1; then
+			setexpr fw_sz ${filesize} / 0x200;
+			setexpr fw_sz ${fw_sz} + 1;
+			mmc write ${loadaddr} 0x2 ${fw_sz};
+		fi;
+	fi
+#endif
+mmcargs=setenv bootargs console=${console},${baudrate} root=PARTUUID=${uuid} rootwait rw
+loadbootscript=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script} ||
+	load mmc ${mmcdev}:${mmcpart} ${loadaddr} boot/${script};
+bootscript=echo Running bootscript from mmc ...; source
+loadimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image} ||
+	load mmc ${mmcdev}:${mmcpart} ${loadaddr} boot/${image}
+loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdtfile} ||
+	load mmc ${mmcdev}:${mmcpart} ${fdt_addr} boot/${fdtfile}
+mmcboot=echo Booting from mmc ...;
+	run finduuid;
+	run mmcargs;
+	if test ${boot_fdt} = yes || test ${boot_fdt} = try; then
+		if run loadfdt; then
+			bootz ${loadaddr} - ${fdt_addr};
+		else
+			if test ${boot_fdt} = try; then
+				bootz;
+			else
+				echo WARN: Cannot load the DT;
+			fi;
+		fi;
+	else
+		bootz;
+	fi;
+netargs=setenv bootargs console=${console},${baudrate} root=/dev/nfs
+	ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
+netboot=echo Booting from net ...;
+	run netargs;
+	if test ${ip_dyn} = yes; then
+		setenv get_cmd dhcp;
+	else
+		setenv get_cmd tftp;
+	fi;
+	${get_cmd} ${image};
+	if test ${boot_fdt} = yes || test ${boot_fdt} = try; then
+		if ${get_cmd} ${fdt_addr} ${fdtfile}; then
+			bootz ${loadaddr} - ${fdt_addr};
+		else
+			if test ${boot_fdt} = try; then
+				bootz;
+			else
+				echo WARN: Cannot load the DT;
+			fi;
+		fi;
+	else
+		bootz;
+	fi;
+findfdt=if test $fdtfile = undefined; then
+		if test $board_name = SABREAUTO && test $board_rev = MX6QP; then
+			setenv fdtfile imx6qp-sabreauto.dtb;
+		fi;
+		if test $board_name = SABREAUTO && test $board_rev = MX6Q; then
+			setenv fdtfile imx6q-sabreauto.dtb;
+		fi;
+		if test $board_name = SABREAUTO && test $board_rev = MX6DL; then
+			setenv fdtfile imx6dl-sabreauto.dtb;
+		fi;
+		if test $board_name = SABRESD && test $board_rev = MX6QP; then
+			setenv fdtfile imx6qp-sabresd.dtb;
+		fi;
+		if test $board_name = SABRESD && test $board_rev = MX6Q; then
+			setenv fdtfile imx6q-sabresd.dtb;
+		fi;
+		if test $board_name = SABRESD && test $board_rev = MX6DL; then
+			setenv fdtfile imx6dl-sabresd.dtb;
+		fi;
+		if test $fdtfile = undefined; then
+			echo WARNING: Could not determine dtb to use;
+		fi;
+	fi;
-- 
2.43.0


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

* Re: [PATCH v1 1/3] mx7ulp_evk: Move environment variables to .env file
  2026-06-10 13:24 ` [PATCH v1 1/3] mx7ulp_evk: Move environment variables to .env file Aristo Chen
@ 2026-06-11  4:14   ` Peng Fan
  0 siblings, 0 replies; 7+ messages in thread
From: Peng Fan @ 2026-06-11  4:14 UTC (permalink / raw)
  To: Aristo Chen
  Cc: u-boot, Peng Fan, Stefano Babic, Fabio Estevam,
	NXP i.MX U-Boot Team, Tom Rini, Marek Vasut

On Wed, Jun 10, 2026 at 01:24:22PM +0000, Aristo Chen wrote:
>Move the board environment from CFG_EXTRA_ENV_SETTINGS in the config
>header to board/nxp/mx7ulp_evk/mx7ulp_evk.env for better
>maintainability. The file is named after CONFIG_SYS_BOARD so it is
>selected automatically without setting CONFIG_ENV_SOURCE_FILE.
>
>The generated default environment is unchanged. This was verified by
>comparing the output of scripts/get_default_envs.sh before and after the
>change, which produced identical results.
>
>Signed-off-by: Aristo Chen <aristo.chen@canonical.com>

Reviewed-by: Peng Fan <peng.fan@nxp.com>

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

* Re: [PATCH v1 2/3] mx6ullevk: Move environment variables to .env file
  2026-06-10 13:24 ` [PATCH v1 2/3] mx6ullevk: " Aristo Chen
@ 2026-06-11  4:15   ` Peng Fan
  0 siblings, 0 replies; 7+ messages in thread
From: Peng Fan @ 2026-06-11  4:15 UTC (permalink / raw)
  To: Aristo Chen
  Cc: u-boot, Stefano Babic, Fabio Estevam, NXP i.MX U-Boot Team,
	Peng Fan, Tom Rini, Marek Vasut

On Wed, Jun 10, 2026 at 01:24:23PM +0000, Aristo Chen wrote:
>Move the board environment from CFG_EXTRA_ENV_SETTINGS in the config
>header to board/nxp/mx6ullevk/mx6ullevk.env for better maintainability.
>The file is named after CONFIG_SYS_BOARD so it is selected automatically
>without setting CONFIG_ENV_SOURCE_FILE. Drop the now unused
>linux/stringify.h include.
>
>The generated default environment is unchanged. This was verified by
>comparing the output of scripts/get_default_envs.sh before and after the
>change, which produced identical results.
>
>Signed-off-by: Aristo Chen <aristo.chen@canonical.com>

Reviewed-by: Peng Fan <peng.fan@nxp.com>

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

* Re: [PATCH v1 3/3] mx6sabre: Move environment variables to .env files
  2026-06-10 13:24 ` [PATCH v1 3/3] mx6sabre: Move environment variables to .env files Aristo Chen
@ 2026-06-11  4:15   ` Peng Fan
  0 siblings, 0 replies; 7+ messages in thread
From: Peng Fan @ 2026-06-11  4:15 UTC (permalink / raw)
  To: Aristo Chen
  Cc: u-boot, Fabio Estevam, Peng Fan, Stefano Babic,
	NXP i.MX U-Boot Team, Tom Rini, Marek Vasut

On Wed, Jun 10, 2026 at 01:24:24PM +0000, Aristo Chen wrote:
>Move the shared environment from CFG_EXTRA_ENV_SETTINGS in
>mx6sabre_common.h to a common text environment fragment in
>include/env/nxp/mx6sabre_common.env. The mx6sabresd and mx6sabreauto
>board environments include this fragment and add their own console
>setting, which is the only board specific difference between them. The
>eMMC firmware update variables remain guarded by CONFIG_SUPPORT_EMMC_BOOT
>inside the fragment. The now unused CONSOLE_DEV defines and the
>linux/stringify.h include are dropped.
>
>The generated default environment is unchanged for both boards. This was
>verified by comparing the output of scripts/get_default_envs.sh before
>and after the change, which produced identical results.
>
>Signed-off-by: Aristo Chen <aristo.chen@canonical.com>

Reviewed-by: Peng Fan <peng.fan@nxp.com>

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

end of thread, other threads:[~2026-06-11  4:12 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-10 13:24 [PATCH v1 0/3] Move NXP i.MX board environments to .env files Aristo Chen
2026-06-10 13:24 ` [PATCH v1 1/3] mx7ulp_evk: Move environment variables to .env file Aristo Chen
2026-06-11  4:14   ` Peng Fan
2026-06-10 13:24 ` [PATCH v1 2/3] mx6ullevk: " Aristo Chen
2026-06-11  4:15   ` Peng Fan
2026-06-10 13:24 ` [PATCH v1 3/3] mx6sabre: Move environment variables to .env files Aristo Chen
2026-06-11  4:15   ` Peng Fan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox