Skip to contentSkip to conversation

Improve default environment for easy use

PATCH Superseded Otavio Salvador 3 participants 15 messages Dec 28, 2012 – Jan 7, 2013

v2 of 6 Superseded Latest is v6 →

lore
Share & tools
lore
#0 lore raw

v2 cover Improve default environment for easy use

This patchset improves the default environment of machines currently supported in OpenEmbedded and Yocto to make it compatible with mainline and Freescale BSP Linux kernel.

A new patch has been add to change the format in mx6qsabrelite in environment setting and already merged patches removed from this new pull request.

Changes in v2:
- New patch
- reformat environment change to fit in 80 cols
- Allow use of dynamic/static ip
- Allow force use, or not, of fdt
- Change 'auto' to 'try'

Otavio Salvador (6):
mx6qsabrelite: Use tabs to environment setting
mx28evk: We shouldn't hardcode a rootfs filesystem type
mx28evk: Add support to dynamically choose between ftd use or not
mx53loco: Add support to dynamically choose between ftd use or not
mx6qsabrelite: Add support to dynamically choose between ftd use or
not
mx6qsabre{auto,sd}: Add support to dynamically choose between ftd use
or not

 include/configs/mx28evk.h          |   46 ++++++++++++++---
 include/configs/mx53loco.h         |   38 +++++++++++++-
 include/configs/mx6qsabre_common.h |   39 ++++++++++++--
 include/configs/mx6qsabreauto.h    |    1 +
 include/configs/mx6qsabrelite.h    |  100 ++++++++++++++++++++++++------------
 include/configs/mx6qsabresd.h      |    1 +
 6 files changed, 180 insertions(+), 45 deletions(-)
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH v2 1/6 mx6qsabrelite: Use tabs to environment setting

This rework the environment to use tabs for environment setting as done in other boards.

---
Changes in v2:
- New patch

 include/configs/mx6qsabrelite.h |   66 +++++++++++++++++++--------------------
 1 file changed, 33 insertions(+), 33 deletions(-)
include/configs/mx6qsabrelite.h +33 -33
index 0f6bbb4..ee86f9b 100644
@@ -152,43 +152,43 @@
 #define CONFIG_SYS_TEXT_BASE	       0x17800000
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
-       "script=boot.scr\0" \
-       "uimage=uImage\0" \
+	"script=boot.scr\0" \
+	"uimage=uImage\0" \
 	"console=ttymxc1\0" \
-	"fdt_high=0xffffffff\0"	  \
+	"fdt_high=0xffffffff\0" \
 	"initrd_high=0xffffffff\0" \
-       "mmcdev=0\0" \
-       "mmcpart=2\0" \
-       "mmcroot=/dev/mmcblk0p3 rootwait rw\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" \
-       "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
-       "mmcboot=echo Booting from mmc ...; " \
-	       "run mmcargs; " \
-	       "bootm\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; " \
-	       "dhcp ${uimage}; bootm\0" \
+	"mmcdev=0\0" \
+	"mmcpart=2\0" \
+	"mmcroot=/dev/mmcblk0p3 rootwait rw\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" \
+	"loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
+	"mmcboot=echo Booting from mmc ...; " \
+		"run mmcargs; " \
+		"bootm\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; " \
+		"dhcp ${uimage}; bootm\0"
 
 #define CONFIG_BOOTCOMMAND \
-       "mmc dev ${mmcdev};" \
-       "mmc dev ${mmcdev}; if mmc rescan; then " \
-	       "if run loadbootscript; then " \
-		       "run bootscript; " \
-	       "else " \
-		       "if run loaduimage; then " \
-			       "run mmcboot; " \
-		       "else run netboot; " \
-		       "fi; " \
-	       "fi; " \
-       "else run netboot; fi"
+	   "mmc dev ${mmcdev};" \
+	   "mmc dev ${mmcdev}; if mmc rescan; then " \
+		   "if run loadbootscript; then " \
+			   "run bootscript; " \
+		   "else " \
+			   "if run loaduimage; then " \
+				   "run mmcboot; " \
+			   "else run netboot; " \
+			   "fi; " \
+		   "fi; " \
+	   "else run netboot; fi"
 
 #define CONFIG_ARP_TIMEOUT     200UL
 
Signature · 1 line
1.7.10.4
#2 lore raw

PATCH v2 2/6 mx28evk: We shouldn't hardcode a rootfs filesystem type

In reply to Otavio Salvador

For a generic environment, we shouldn't have a fixed rootfs filesystem so we drop it from env.

---
Changes in v2:
- reformat environment change to fit in 80 cols

 include/configs/mx28evk.h |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)
include/configs/mx28evk.h +3 -5
index 8b89b25..ac9522f 100644
@@ -292,11 +292,9 @@
 	"console_mainline=ttyAMA0\0" \
 	"mmcdev=0\0" \
 	"mmcpart=2\0" \
-	"mmcroot=/dev/mmcblk0p3 rw\0" \
-	"mmcrootfstype=ext3 rootwait\0"	\
-	"mmcargs=setenv bootargs console=${console_mainline},${baudrate} " \
-		"root=${mmcroot} " \
-		"rootfstype=${mmcrootfstype}\0"	\
+	"mmcroot=/dev/mmcblk0p3 rw rootwait\0" \
+	"mmcargs=setenv bootargs console=${console_mainline},${baudrate} "
+		"root=${mmcroot}\0" \
 	"loadbootscript="  \
 		"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
 	"bootscript=echo Running bootscript from mmc ...; "	\
Signature · 1 line
1.7.10.4
#3 lore raw

PATCH v2 2/6 mx28evk: We shouldn't hardcode a rootfs filesystem type

Quoted 5 lines · Otavio Salvador

For a generic environment, we shouldn't have a fixed rootfs filesystem so we drop it from env.

---

Hi Otavio,

Quoted 16 lines

Changes in v2:
- reformat environment change to fit in 80 cols

 include/configs/mx28evk.h |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)
include/configs/mx28evk.h +0 -1
index 8b89b25..ac9522f 100644
@@ -292,11 +292,9 @@
 	"console_mainline=ttyAMA0\0" \
 	"mmcdev=0\0" \
 	"mmcpart=2\0" \
-	"mmcroot=/dev/mmcblk0p3 rw\0" \

include/configs/mx28evk.h line 300

Quoted 10 lines
include/configs/mx28evk.h +3 -4
-	"mmcrootfstype=ext3 rootwait\0"	\
-	"mmcargs=setenv bootargs console=${console_mainline},${baudrate} " \
-		"root=${mmcroot} " \
-		"rootfstype=${mmcrootfstype}\0"	\
+	"mmcroot=/dev/mmcblk0p3 rw rootwait\0" \
+	"mmcargs=setenv bootargs console=${console_mainline},${baudrate} "
+		"root=${mmcroot}\0" \
 	"loadbootscript="  \
 		"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
 	"bootscript=echo Running bootscript from mmc ...; "	\

I still get errors running checkpatch, for example:

WARNING: line over 80 characters
#554: FILE: include/configs/mx53loco.h:162:
+ "if run ${get_cmd} ${ftd_addr} ${ftd_file}; then " \

WARNING: line over 80 characters
#560: FILE: include/configs/mx53loco.h:168:
+ "echo ERROR: Cannot load the DT, aborting...; " \

WARNING: line over 80 characters
#617: FILE: include/configs/mx6qsabrelite.h:177:
+ "if fatload mmc ${mmcdev}:${mmcpart} ${ftd_addr} ${ftd_file}; then " \

Can you fix it and resubmit, please ? I will then apply the patchset.

Thanks,
Stefano Babic

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
#4 lore raw

PATCH v2 2/6 mx28evk: We shouldn't hardcode a rootfs filesystem type

Quoted 46 lines · Stefano Babic
Quoted 5 lines · Otavio Salvador

For a generic environment, we shouldn't have a fixed rootfs filesystem so we drop it from env.

---

Hi Otavio,

Quoted 16 lines

Changes in v2:
- reformat environment change to fit in 80 cols

 include/configs/mx28evk.h |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)
include/configs/mx28evk.h +0 -1
index 8b89b25..ac9522f 100644
@@ -292,11 +292,9 @@
      "console_mainline=ttyAMA0\0" \
      "mmcdev=0\0" \
      "mmcpart=2\0" \
-     "mmcroot=/dev/mmcblk0p3 rw\0" \

include/configs/mx28evk.h line 300

Quoted 10 lines
include/configs/mx28evk.h +3 -4
-     "mmcrootfstype=ext3 rootwait\0" \
-     "mmcargs=setenv bootargs console=${console_mainline},${baudrate} " \
-             "root=${mmcroot} " \
-             "rootfstype=${mmcrootfstype}\0" \
+     "mmcroot=/dev/mmcblk0p3 rw rootwait\0" \
+     "mmcargs=setenv bootargs console=${console_mainline},${baudrate} "
+             "root=${mmcroot}\0" \
      "loadbootscript="  \
              "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
      "bootscript=echo Running bootscript from mmc ...; "     \

I still get errors running checkpatch, for example:

WARNING: line over 80 characters
#554: FILE: include/configs/mx53loco.h:162:
+ "if run ${get_cmd} ${ftd_addr} ${ftd_file}; then " \

WARNING: line over 80 characters
#560: FILE: include/configs/mx53loco.h:168:
+ "echo ERROR: Cannot load the DT, aborting...; " \

Quoted 5 lines

WARNING: line over 80 characters
#617: FILE: include/configs/mx6qsabrelite.h:177:
+ "if fatload mmc ${mmcdev}:${mmcpart} ${ftd_addr} ${ftd_file}; then " \

Can you fix it and resubmit, please ? I will then apply the patchset.

It does seem too ugly to keep splitting those lines.

The problem here is the use of tags to indent the string.

I'd like to ask if we can relax this rule for the environments as it will make it confusing to read when looking at the code for no profit (in my point of view).

Regards,

--
Otavio Salvador O.S. Systems
E-mail: otavio at ossystems.com.br http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br

#5 lore raw

PATCH v2 2/6 mx28evk: We shouldn't hardcode a rootfs filesystem type

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Quoted 48 lines · Otavio Salvador
Quoted 38 lines · Stefano Babic
Quoted 4 lines · Otavio Salvador

For a generic environment, we shouldn't have a fixed rootfs filesystem so we drop it from env.

Hi Otavio,

Quoted 6 lines

Changes in v2: - reformat environment change to fit in 80 cols

include/configs/mx28evk.h | 8 +++----- 1 file changed, 3
insertions(+), 5 deletions(-)

(quoted diff) +0 -0
Quoted 13 lines

b/include/configs/mx28evk.h index 8b89b25..ac9522f 100644 --- a/include/configs/mx28evk.h +++ b/include/configs/mx28evk.h @@ -292,11 +292,9 @@ "console_mainline=ttyAMA0\0" \ "mmcdev=0\0" \
"mmcpart=2\0" \ - "mmcroot=/dev/mmcblk0p3 rw\0" \ -
"mmcrootfstype=ext3 rootwait\0" \ - "mmcargs=setenv
bootargs console=${console_mainline},${baudrate} " \ - "root=${mmcroot} " \ - "rootfstype=${mmcrootfstype}\0" \ +
"mmcroot=/dev/mmcblk0p3 rw rootwait\0" \ + "mmcargs=setenv
bootargs console=${console_mainline},${baudrate} " + "root=${mmcroot}\0" \ "loadbootscript=" \ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
"bootscript=echo Running bootscript from mmc ...; " \

I still get errors running checkpatch, for example:

WARNING: line over 80 characters #554: FILE:
include/configs/mx53loco.h:162: + "if run
${get_cmd} ${ftd_addr} ${ftd_file}; then " \

WARNING: line over 80 characters #560: FILE:
include/configs/mx53loco.h:168: + "echo ERROR: Cannot load the DT, aborting...; " \

Quoted 7 lines

WARNING: line over 80 characters #617: FILE:
include/configs/mx6qsabrelite.h:177: + "if
fatload mmc ${mmcdev}:${mmcpart} ${ftd_addr} ${ftd_file}; then " \

Can you fix it and resubmit, please ? I will then apply the patchset.

Quoted 7 lines

It does seem too ugly to keep splitting those lines.

The problem here is the use of tags to indent the string.

I'd like to ask if we can relax this rule for the environments as it will make it confusing to read when looking at the code for no profit (in my point of view).

Replied in 5/6, where the issues are popping up from.

- --
Tom
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/

iQIcBAEBAgAGBQJQ6taPAAoJENk4IS6UOR1WA9YP/1LOjmBk/kM3BM5PTW6nQd5m lr5qrSgL7FE1RdurP2v3d+4TGddMnamyiJeHyoImVFnZVIKUiorjDiWppLzca0GS kR3z4Xj+r7MoGvXe6oQfNBdmbrKfc2uUd8Nw4UDlvEiMWYQRHZ+kKyED98dT1BvD /UZfXhzbzSQWqrkyWyQkNkU853n3Wg2lHC2C58o7MpCqOJ1RhvFJxdvIOSVFOJkG RshbQFdlDFfgJYkNT1Aa9lAEk6Rb4xHT6V+d2Ezcyhj6VmjmMzwimDwCUaXlr98x bPLSX80e8g6/f2ZDtc/f/VslgGpdE87WTSLFxOAk7TcBTTI1ukeCcqYKMr/OHtzs zDWdHkO3ZxB55mgsZRL3jxRrVMeyM6xfWaQjtorOOIdCpqLBr+f3U6QZm8UvB6+J kQqgoHk+kldqulMygqIGPLijKF4AMYgcB0HUH8aKPYtde/WlXPhijwAKSQSqIPho emaF0c0ArSiGqh4ELKkZFNgtbmqmOZK8UwlnNRrCBYtBd4iXYrojRw1nGoCWjiko EP59M738cp6rEmT6I7+H5yt3ik8FcECNYnmMfTLkoF9RF47BPrV+qZM2bSJVe3y4 zJHd2LWXcoJyAEmgLKcqZ9UjOnV2/U/1k9Rxri6O6K5U2OGlC8TeLaIiwcv+3xzk BvNbtMlZhcVIxbyfxVdo
=yO3w
-----END PGP SIGNATURE-----

#6 lore raw

PATCH v2 3/6 mx28evk: Add support to dynamically choose between ftd use or not

In reply to Otavio Salvador

---
Changes in v2:
- Allow use of dynamic/static ip
- Allow force use, or not, of fdt
- Change 'auto' to 'try'

 include/configs/mx28evk.h |   38 ++++++++++++++++++++++++++++++++++++--
 1 file changed, 36 insertions(+), 2 deletions(-)
include/configs/mx28evk.h +36 -2
index ac9522f..f2254b7 100644
@@ -290,6 +290,10 @@
 	"uimage=uImage\0" \
 	"console_fsl=ttyAM0\0" \
 	"console_mainline=ttyAMA0\0" \
+	"ftd_file=imx28-evk.dtb\0" \
+	"ftd_addr=0x41000000\0" \
+	"boot_fdt=try\0" \
+	"ip_dyn=yes\0" \
 	"mmcdev=0\0" \
 	"mmcpart=2\0" \
 	"mmcroot=/dev/mmcblk0p3 rw rootwait\0" \
@@ -302,13 +306,43 @@
 	"loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
 	"mmcboot=echo Booting from mmc ...; " \
 		"run mmcargs; "	\
-		"bootm\0" \
+		"if test ${boot_fdt} = yes; then " \
+			"if fatload mmc ${mmcdev}:${mmcpart} ${ftd_addr} ${ftd_file}; then " \
+				"bootm ${loadaddr} - ${ftd_addr}; " \
+			"else " \
+				"if test ${boot_fdt} = try; then " \
+					"bootm; " \
+				"else " \
+					"echo ERROR: Cannot load the DT, aborting...; " \
+				"fi;\0" \
+			"fi;\0" \
+		"else " \
+			"bootm; " \
+		"fi;\0" \
 	"netargs=setenv bootargs console=${console_mainline},${baudrate} " \
 		"root=/dev/nfs " \
 		"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
 	"netboot=echo Booting from net ...; " \
 		"run netargs; "	\
-		"dhcp ${uimage}; bootm\0"
+		"if test ${ip_dyn} = yes; then " \
+			"setenv get_cmd dhcp; " \
+		"else " \
+			"setenv get_cmd tftp; " \
+		"fi;\0" \
+		"run ${get_cmd} ${uimage}; " \
+		"if test ${boot_fdt} = no; then " \
+			"if run ${get_cmd} ${ftd_addr} ${ftd_file}; then "	\
+				"bootm ${loadaddr} - ${ftd_addr}; " \
+			"else " \
+				"if test ${boot_fdt} = try; then " \
+					"bootm; " \
+				"else " \
+					"echo ERROR: Cannot load the DT, aborting...; " \
+				"fi;\0" \
+			"fi;\0" \
+		"else " \
+			"bootm; " \
+		"fi;\0"
 
 #define CONFIG_BOOTCOMMAND \
 	"mmc dev ${mmcdev}; if mmc rescan; then " \
Signature · 1 line
1.7.10.4
#7 lore raw

PATCH v2 4/6 mx53loco: Add support to dynamically choose between ftd use or not

In reply to Otavio Salvador

---
Changes in v2:
- Allow use of dynamic/static ip
- Allow force use, or not, of fdt
- Change 'auto' to 'try'

 include/configs/mx53loco.h |   38 ++++++++++++++++++++++++++++++++++++--
 1 file changed, 36 insertions(+), 2 deletions(-)
include/configs/mx53loco.h +36 -2
index 996396b..4b80781 100644
@@ -119,6 +119,10 @@
 #define CONFIG_EXTRA_ENV_SETTINGS \
 	"script=boot.scr\0" \
 	"uimage=uImage\0" \
+	"ftd_file=imx53-qsb.dtb\0" \
+	"ftd_addr=0x71000000\0" \
+	"boot_fdt=try\0" \
+	"ip_dyn=yes\0" \
 	"mmcdev=0\0" \
 	"mmcpart=2\0" \
 	"mmcroot=/dev/mmcblk0p3 rw rootwait\0" \
@@ -130,13 +134,43 @@
 	"loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
 	"mmcboot=echo Booting from mmc ...; " \
 		"run mmcargs; " \
-		"bootm\0" \
+		"if test ${boot_fdt} = yes; then " \
+			"if fatload mmc ${mmcdev}:${mmcpart} ${ftd_addr} ${ftd_file}; then " \
+				"bootm ${loadaddr} - ${ftd_addr}; " \
+			"else " \
+				"if test ${boot_fdt} = try; then " \
+					"bootm; " \
+				"else " \
+					"echo ERROR: Cannot load the DT, aborting...; " \
+				"fi;\0" \
+			"fi;\0" \
+		"else " \
+			"bootm; " \
+		"fi;\0" \
 	"netargs=setenv bootargs console=ttymxc0,${baudrate} " \
 		"root=/dev/nfs " \
 		"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
 	"netboot=echo Booting from net ...; " \
 		"run netargs; " \
-		"dhcp ${uimage}; bootm\0" \
+		"if test ${ip_dyn} = yes; then " \
+			"setenv get_cmd dhcp; " \
+		"else " \
+			"setenv get_cmd tftp; " \
+		"fi;\0" \
+		"run ${get_cmd} ${uimage}; " \
+		"if test ${boot_fdt} = no; then " \
+			"if run ${get_cmd} ${ftd_addr} ${ftd_file}; then "	\
+				"bootm ${loadaddr} - ${ftd_addr}; " \
+			"else " \
+				"if test ${boot_fdt} = try; then " \
+					"bootm; " \
+				"else " \
+					"echo ERROR: Cannot load the DT, aborting...; " \
+				"fi;\0" \
+			"fi;\0" \
+		"else " \
+			"bootm; " \
+		"fi;\0"
 
 #define CONFIG_BOOTCOMMAND \
 	"mmc dev ${mmcdev}; if mmc rescan; then " \
Signature · 1 line
1.7.10.4
#8 lore raw

PATCH v2 5/6 mx6qsabrelite: Add support to dynamically choose between ftd use or not

In reply to Otavio Salvador

---
Changes in v2:
- Allow use of dynamic/static ip
- Allow force use, or not, of fdt
- Change 'auto' to 'try'

 include/configs/mx6qsabrelite.h |   38 ++++++++++++++++++++++++++++++++++++--
 1 file changed, 36 insertions(+), 2 deletions(-)
include/configs/mx6qsabrelite.h +36 -2
index ee86f9b..7ca12d9 100644
@@ -157,6 +157,10 @@
 	"console=ttymxc1\0" \
 	"fdt_high=0xffffffff\0" \
 	"initrd_high=0xffffffff\0" \
+	"ftd_file=imx6q-sabrelite.dtb\0" \
+	"ftd_addr=0x11000000\0" \
+	"boot_fdt=try\0" \
+	"ip_dyn=yes\0" \
 	"mmcdev=0\0" \
 	"mmcpart=2\0" \
 	"mmcroot=/dev/mmcblk0p3 rootwait rw\0" \
@@ -169,13 +173,43 @@
 	"loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
 	"mmcboot=echo Booting from mmc ...; " \
 		"run mmcargs; " \
-		"bootm\0" \
+		"if test ${boot_fdt} = yes; then " \
+			"if fatload mmc ${mmcdev}:${mmcpart} ${ftd_addr} ${ftd_file}; then " \
+				"bootm ${loadaddr} - ${ftd_addr}; " \
+			"else " \
+				"if test ${boot_fdt} = try; then " \
+					"bootm; " \
+				"else " \
+					"echo ERROR: Cannot load the DT, aborting...; " \
+				"fi;\0" \
+			"fi;\0" \
+		"else " \
+			"bootm; " \
+		"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; " \
-		"dhcp ${uimage}; bootm\0"
+		"if test ${ip_dyn} = yes; then " \
+			"setenv get_cmd dhcp; " \
+		"else " \
+			"setenv get_cmd tftp; " \
+		"fi;\0" \
+		"run ${get_cmd} ${uimage}; " \
+		"if test ${boot_fdt} = no; then " \
+			"if run ${get_cmd} ${ftd_addr} ${ftd_file}; then "	\
+				"bootm ${loadaddr} - ${ftd_addr}; " \
+			"else " \
+				"if test ${boot_fdt} = try; then " \
+					"bootm; " \
+				"else " \
+					"echo ERROR: Cannot load the DT, aborting...; " \
+				"fi;\0" \
+			"fi;\0" \
+		"else " \
+			"bootm; " \
+		"fi;\0"
 
 #define CONFIG_BOOTCOMMAND \
 	   "mmc dev ${mmcdev};" \
Signature · 1 line
1.7.10.4
#9 lore raw

PATCH v2 5/6 mx6qsabrelite: Add support to dynamically choose between ftd use or not

Quoted 6 lines · Otavio Salvador

---
Changes in v2:
- Allow use of dynamic/static ip
- Allow force use, or not, of fdt
- Change 'auto' to 'try'

[snip]

include/configs/mx6qsabrelite.h line 177

Quoted 7 lines
include/configs/mx6qsabrelite.h +2 -1
@@ -169,13 +173,43 @@
 	"loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
 	"mmcboot=echo Booting from mmc ...; " \
 		"run mmcargs; " \
-		"bootm\0" \
+		"if test ${boot_fdt} = yes; then " \
+			"if fatload mmc ${mmcdev}:${mmcpart} ${ftd_addr} ${ftd_file}; then " \

How about adding loadfdtfile after 'loaduimage' above?

include/configs/mx6qsabrelite.h line 183

Quoted 6 lines
include/configs/mx6qsabrelite.h +6 -0
+				"bootm ${loadaddr} - ${ftd_addr}; " \
+			"else " \
+				"if test ${boot_fdt} = try; then " \
+					"bootm; " \
+				"else " \
+					"echo ERROR: Cannot load the DT, aborting...; " \

Strings must not be broken, so this is fine. But, you aren't really aborting. If you had a loop of "try mmcboot. Fail? Try netboot" it would continue. So the error message should perhaps just be about cannot load DT from mmc?

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130107/3bbd8184/attachment.pgp>
#10 lore raw

PATCH v2 5/6 mx6qsabrelite: Add support to dynamically choose between ftd use or not

Quoted 9 lines · Tom Rini
Quoted 6 lines · Otavio Salvador

---
Changes in v2:
- Allow use of dynamic/static ip
- Allow force use, or not, of fdt
- Change 'auto' to 'try'

[snip]

Quoted 9 lines

include/configs/mx6qsabrelite.h line 177

Quoted 7 lines
include/configs/mx6qsabrelite.h +2 -1
@@ -169,13 +173,43 @@
      "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
      "mmcboot=echo Booting from mmc ...; " \
              "run mmcargs; " \
-             "bootm\0" \
+             "if test ${boot_fdt} = yes; then " \
+                     "if fatload mmc ${mmcdev}:${mmcpart} ${ftd_addr} ${ftd_file}; then " \

How about adding loadfdtfile after 'loaduimage' above?

The command for netboot is different so we'd need to have two vars for it. I think it will be confusing ...

Quoted 11 lines

include/configs/mx6qsabrelite.h line 183

Quoted 6 lines
include/configs/mx6qsabrelite.h +6 -0
+                             "bootm ${loadaddr} - ${ftd_addr}; " \
+                     "else " \
+                             "if test ${boot_fdt} = try; then " \
+                                     "bootm; " \
+                             "else " \
+                                     "echo ERROR: Cannot load the DT, aborting...; " \

Strings must not be broken, so this is fine. But, you aren't really aborting. If you had a loop of "try mmcboot. Fail? Try netboot" it would continue. So the error message should perhaps just be about cannot load DT from mmc?

I don't have a strong opinion about this. I'd prefer to abort here so user really knows it failed. In case user wish it to not be fatal it can use the 'try' in boot_fdt.

How I could abort here?

--
Otavio Salvador O.S. Systems
E-mail: otavio at ossystems.com.br http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br

#11 lore raw

PATCH v2 5/6 mx6qsabrelite: Add support to dynamically choose between ftd use or not

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Quoted 16 lines · Otavio Salvador
Quoted 6 lines · Tom Rini
Quoted 3 lines · Otavio Salvador

Changes in v2: - Allow use of dynamic/static ip - Allow force use, or not, of fdt - Change 'auto' to 'try'

[snip]

Quoted 8 lines
Quoted 6 lines
(quoted diff) +0 -0
@@ -169,13 +173,43 @@ "loaduimage=fatload mmc 

${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \ "mmcboot=echo Booting from mmc ...; " \ "run mmcargs; " \ - "bootm\0" \ +
"if test ${boot_fdt} = yes; then " \ + "if
fatload mmc ${mmcdev}:${mmcpart} ${ftd_addr} ${ftd_file}; then " \

How about adding loadfdtfile after 'loaduimage' above?

Quoted 2 lines

The command for netboot is different so we'd need to have two vars for it. I think it will be confusing ...

Yes, but there's already loaduimage that's fixed to FAT from MMC. So you're being consistent.

Quoted 10 lines
Quoted 9 lines
Quoted 4 lines

+ "bootm ${loadaddr} -
${ftd_addr}; " \ + "else " \ + "if test
${boot_fdt} = try; then " \ + "bootm; " \ + "else " \ + "echo
ERROR: Cannot load the DT, aborting...; " \

Strings must not be broken, so this is fine. But, you aren't really aborting. If you had a loop of "try mmcboot. Fail? Try netboot" it would continue. So the error message should perhaps just be about cannot load DT from mmc?

Quoted 5 lines

I don't have a strong opinion about this. I'd prefer to abort here so user really knows it failed. In case user wish it to not be fatal it can use the 'try' in boot_fdt.

How I could abort here?

Without firing up a board, maybe tossing in break? Or setting a variable (abortcmd) that you could test for in other clauses to make sure it's obeyed and we break out?

- --
Tom
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/

iQIcBAEBAgAGBQJQ6tm2AAoJENk4IS6UOR1WefAQALNWepGwYYkyUkoj2YfqQQf6 D23SyuZRAEUKxi7mkFZdBEDwyIHVvM8v4HEXkxMigKq6jd++xpGWqOvygUhu7NCK i4vfPXadgyt+3BLt5BGLLQDf1GNrsTpxjPuw+AEDsdt0hgo9fWSoOegpsO2q6kIj xSspwUpzBE6Dtzh9uomRw7J/o4uvDdRv7MC4krWB70SC9y8hN0p/syV4cYvjqLTp WWawT7qKfNwkfPH5tAmPb5b2V3JVGSMkvOMPuH3QoNSfhVTSE6EdKK1v3WWa933Z ucAGtJgDlPgRhTioIp78Nsi1JXwygHByA/ZYnxre9jimJZ5lxd8m5TpqwgnpkJN0 2sUtSg3WcSSqr+ckMXOswKPfT9wx0Vgy+elP/i4LlJ3d1uoDJufLt+v0nkKYHDR0 foC0udYrjSDZiA1kmX8u4w+sVGWAlAgawkiDSA3hYY1Y+GUeVzKGxwMNSvLrzrWq ga3aAWbr26KIZaBBjHRPlkPWzo8rvLDCWEWQkSBnF+o3Zccc5tebGIhYp/eMxt+T ewUCT0pW5HuXAeRvqNPwdiGDw2qrvFcrd6rnVpSNic/0rYyJRTUa4hmWv/FZm8PQ whCijnBCBVRnBc+M7K2YJTFcRlR4oC0GnLe6K7gDGT5fhHln11AbHa0san8DkrnE bzvjfkjxGtsaNKzR7wNV
=Ew4G
-----END PGP SIGNATURE-----

#12 lore raw

PATCH v2 5/6 mx6qsabrelite: Add support to dynamically choose between ftd use or not

In reply to Otavio Salvador
Quoted 6 lines · Otavio Salvador

---
Changes in v2:
- Allow use of dynamic/static ip
- Allow force use, or not, of fdt
- Change 'auto' to 'try'

[snip]

include/configs/mx6qsabrelite.h line 201

Quoted 1 line
include/configs/mx6qsabrelite.h +1 -0
+			"if run ${get_cmd} ${ftd_addr} ${ftd_file}; then "	\

Oh, and I forgot about this line. If you use space not tab at the end here, it's under 80 wide again.

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130107/e0ade260/attachment.pgp>
#13 lore raw

PATCH v2 5/6 mx6qsabrelite: Add support to dynamically choose between ftd use or not

Quoted 8 lines · Tom Rini
Quoted 6 lines · Otavio Salvador

---
Changes in v2:
- Allow use of dynamic/static ip
- Allow force use, or not, of fdt
- Change 'auto' to 'try'

Quoted 5 lines

[snip]

Quoted 1 line

+ "if run ${get_cmd} ${ftd_addr} ${ftd_file}; then " \

Oh, and I forgot about this line. If you use space not tab at the end here, it's under 80 wide again.

Well, yes the code style is using tabs so I preferred to not mix both. I am more keen to keep it as is if it is not a requirement to get it applied.

--
Otavio Salvador O.S. Systems
E-mail: otavio at ossystems.com.br http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br

#14 lore raw

PATCH v2 6/6 mx6qsabre{auto, sd}: Add support to dynamically choose between ftd use or not

In reply to Otavio Salvador

---
Changes in v2:
- Allow use of dynamic/static ip
- Allow force use, or not, of fdt
- Change 'auto' to 'try'

 include/configs/mx6qsabre_common.h |   39 +++++++++++++++++++++++++++++++++---
 include/configs/mx6qsabreauto.h    |    1 +
 include/configs/mx6qsabresd.h      |    1 +
 3 files changed, 38 insertions(+), 3 deletions(-)
include/configs/mx6qsabre_common.h +36 -3
index 9a25480..f3a7854 100644
@@ -84,6 +84,10 @@
 #define CONFIG_EXTRA_ENV_SETTINGS \
 	"script=boot.scr\0" \
 	"uimage=uImage\0" \
+	"ftd_file=" CONFIG_DEFAULT_FTD_FILE "\0" \
+	"ftd_addr=0x11000000\0" \
+	"boot_fdt=try\0" \
+	"ip_dyn=yes\0" \
 	"console=" CONFIG_CONSOLE_DEV "\0" \
 	"fdt_high=0xffffffff\0"	  \
 	"initrd_high=0xffffffff\0" \
@@ -98,14 +102,43 @@
 		"source\0" \
 	"loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
 		"mmcboot=echo Booting from mmc ...; " \
-		"run mmcargs; " \
-		"bootm\0" \
+		"if test ${boot_fdt} = yes; then " \
+			"if fatload mmc ${mmcdev}:${mmcpart} ${ftd_addr} ${ftd_file}; then " \
+				"bootm ${loadaddr} - ${ftd_addr}; " \
+			"else " \
+				"if test ${boot_fdt} = try; then " \
+					"bootm; " \
+				"else " \
+					"echo ERROR: Cannot load the DT, aborting...; " \
+				"fi;\0" \
+			"fi;\0" \
+		"else " \
+			"bootm; " \
+		"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; " \
-		"dhcp ${uimage}; bootm\0" \
+		"if test ${ip_dyn} = yes; then " \
+			"setenv get_cmd dhcp; " \
+		"else " \
+			"setenv get_cmd tftp; " \
+		"fi;\0" \
+		"run ${get_cmd} ${uimage}; " \
+		"if test ${boot_fdt} = no; then " \
+			"if run ${get_cmd} ${ftd_addr} ${ftd_file}; then "	\
+				"bootm ${loadaddr} - ${ftd_addr}; " \
+			"else " \
+				"if test ${boot_fdt} = try; then " \
+					"bootm; " \
+				"else " \
+					"echo ERROR: Cannot load the DT, aborting...; " \
+				"fi;\0" \
+			"fi;\0" \
+		"else " \
+			"bootm; " \
+		"fi;\0"
 
 #define CONFIG_BOOTCOMMAND \
 	"mmc dev ${mmcdev};" \
include/configs/mx6qsabreauto.h +1 -0
index 760f3ce..e255c27 100644
@@ -15,6 +15,7 @@
 #define CONFIG_MACH_TYPE	3529
 #define CONFIG_MXC_UART_BASE	UART4_BASE
 #define CONFIG_CONSOLE_DEV		"ttymxc3"
+#define CONFIG_DEFAULT_FTD_FILE	"imx6q-sabreauto.dtb"
 #define CONFIG_MMCROOT			"/dev/mmcblk0p2"
 #define PHYS_SDRAM_SIZE		(2u * 1024 * 1024 * 1024)
 
include/configs/mx6qsabresd.h +1 -0
index 771d129..b30dec0 100644
@@ -21,6 +21,7 @@
 #define CONFIG_MXC_UART_BASE	UART1_BASE
 #define CONFIG_CONSOLE_DEV		"ttymxc0"
 #define CONFIG_MMCROOT			"/dev/mmcblk1p2"
+#define CONFIG_DEFAULT_FTD_FILE	"imx6q-sabresd.dtb"
 #define PHYS_SDRAM_SIZE		(1u * 1024 * 1024 * 1024)
 
 #include "mx6qsabre_common.h"
Signature · 1 line
1.7.10.4