Skip to contentSkip to conversation

m28evk: use same notation to alloc the 128kB stack

PATCH New Otavio Salvador 5 participants 25 messages May 15, 2012 – Jun 13, 2012 1 message not in the archive

lore
Share & tools
lore
#0 lore raw

PATCH 1/3 m28evk: use same notation to alloc the 128kB stack

Cc Marek Vasut <[email protected]>
Cc Stefano Babic <[email protected]>
Cc Wolfgang Denk <[email protected]>
---
 include/configs/m28evk.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
include/configs/m28evk.h +1 -1
index 68e46b7..a076aa5 100644
@@ -88,7 +88,7 @@
 #define	CONFIG_NR_DRAM_BANKS		1		/* 1 bank of DRAM */
 #define	PHYS_SDRAM_1			0x40000000	/* Base address */
 #define	PHYS_SDRAM_1_SIZE		0x20000000	/* Max 512 MB RAM */
-#define	CONFIG_STACKSIZE		0x00010000	/* 128 KB stack */
+#define	CONFIG_STACKSIZE		(128 * 1024)	/* 128 KB stack */
 #define	CONFIG_SYS_MALLOC_LEN		0x00400000	/* 4 MB for malloc */
 #define	CONFIG_SYS_GBL_DATA_SIZE	128		/* Initial data */
 #define	CONFIG_SYS_MEMTEST_START	0x40000000	/* Memtest start adr */
Signature · 1 line
1.7.10
#1 lore raw

PATCH 2/3 m28evk: drop duplicated definition of CONFIG_OF_LIBFDT

Cc Marek Vasut <[email protected]>
Cc Stefano Babic <[email protected]>
Cc Wolfgang Denk <[email protected]>
---
 include/configs/m28evk.h |    2 --
 1 file changed, 2 deletions(-)
include/configs/m28evk.h +0 -2
index a076aa5..29ea8eb 100644
@@ -43,8 +43,6 @@
 #define	CONFIG_ARCH_CPU_INIT
 #define	CONFIG_ARCH_MISC_INIT
 
-#define CONFIG_OF_LIBFDT
-
 /*
  * SPL
  */
Signature · 1 line
1.7.10
#2 lore raw

PATCH 2/3 m28evk: drop duplicated definition of CONFIG_OF_LIBFDT

Dear Otavio Salvador,

Quoted 4 lines
Cc Marek Vasut <[email protected]>
Cc Stefano Babic <[email protected]>
Cc Wolfgang Denk <[email protected]>

Please drop the other one, so this is the same as mx28evk.h and we can easily unify it. btw how did you find this?

Quoted 9 lines
---
 include/configs/m28evk.h |    2 --
 1 file changed, 2 deletions(-)
include/configs/m28evk.h +0 -0
index a076aa5..29ea8eb 100644

include/configs/m28evk.h line 48

Quoted 8 lines
include/configs/m28evk.h +0 -2
@@ -43,8 +43,6 @@
 #define	CONFIG_ARCH_CPU_INIT
 #define	CONFIG_ARCH_MISC_INIT
 
-#define CONFIG_OF_LIBFDT
-
 /*
  * SPL
  */

Best regards,
Marek Vasut

#3 lore raw

PATCH 2/3 m28evk: drop duplicated definition of CONFIG_OF_LIBFDT

Quoted 2 lines · Marek Vasut

Please drop the other one, so this is the same as mx28evk.h and we can easily unify it. btw how did you find this?

Good; will check it.

I found it when looking about common stuff in boad configs; I am still willing to try to have a common header file for both but I am first interested in move i.MX23 further.

Signature · 3 lines
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
#4 lore raw

PATCH 2/3 m28evk: drop duplicated definition of CONFIG_OF_LIBFDT

Dear Otavio Salvador,

Quoted 9 lines · Marek Vasut
Quoted 2 lines

Please drop the other one, so this is the same as mx28evk.h and we can easily unify it. btw how did you find this?

Good; will check it.

I found it when looking about common stuff in boad configs; I am still willing to try to have a common header file for both but I am first interested in move i.MX23 further.

Ok, so let's do it this way:

You submit your MX23 stuff, let's get that in. Then we can start with this consolidation. Is it OK?

Best regards,
Marek Vasut

#5 lore raw

PATCH 2/3 m28evk: drop duplicated definition of CONFIG_OF_LIBFDT

Quoted 2 lines · Marek Vasut

You submit your MX23 stuff, let's get that in. Then we can start with this consolidation. Is it OK?

This works but wouldn't be better to avoid a duplication before it? It doesn't matter for me but I'd prefer it fixed.

Signature · 3 lines
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
#6 lore raw

PATCH 2/3 m28evk: drop duplicated definition of CONFIG_OF_LIBFDT

Dear Otavio Salvador,

Quoted 6 lines · Marek Vasut
Quoted 2 lines

You submit your MX23 stuff, let's get that in. Then we can start with this consolidation. Is it OK?

This works but wouldn't be better to avoid a duplication before it? It doesn't matter for me but I'd prefer it fixed.

I'm all for applying this 2/3, the rest should be discussed more thoroughly.

Best regards,
Marek Vasut

#7 lore raw

PATCH 2/3 m28evk: drop duplicated definition of CONFIG_OF_LIBFDT

Quoted 4 lines · Marek Vasut
Quoted 2 lines

This works but wouldn't be better to avoid a duplication before it? It doesn't matter for me but I'd prefer it fixed.

I'm all for applying this 2/3, the rest should be discussed more thoroughly.

I checked mx28evk and m28evk config and both are setting CONFIG_OF_LIBFDT at same place now. It seems this patch is the way to go. Please take a look and confirm it.

Signature · 3 lines
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
#8 lore raw

PATCH 2/3 m28evk: drop duplicated definition of CONFIG_OF_LIBFDT

Dear Otavio Salvador,

Quoted 10 lines · Marek Vasut
Quoted 5 lines
Quoted 2 lines

This works but wouldn't be better to avoid a duplication before it? It doesn't matter for me but I'd prefer it fixed.

I'm all for applying this 2/3, the rest should be discussed more thoroughly.

I checked mx28evk and m28evk config and both are setting CONFIG_OF_LIBFDT at same place now. It seems this patch is the way to go. Please take a look and confirm it.

Ok good

Best regards,
Marek Vasut

#9 lore raw

PATCH 2/3 m28evk: drop duplicated definition of CONFIG_OF_LIBFDT

In reply to Otavio Salvador
Quoted 5 lines · Otavio Salvador
Cc Marek Vasut <[email protected]>
Cc Stefano Babic <[email protected]>
Cc Wolfgang Denk <[email protected]>

---

Applied to u-boot-imx, thanks.

Best regards,
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
=====================================================================
#10 lore raw

PATCH 3/3 mx28evk: extend default environment

In reply to Otavio Salvador

The environment has been based on mx53loco and m28evk but keeping the possibility to easy change the default console device as Freescale and mainline kernels differ on the device name.

Cc Marek Vasut <[email protected]>
Cc Stefano Babic <[email protected]>
Cc Wolfgang Denk <[email protected]>
Cc Fabio Estevam <[email protected]>
---
 include/configs/mx28evk.h |   83 ++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 75 insertions(+), 8 deletions(-)
include/configs/mx28evk.h +75 -8
index e98a746..6c2bf5f 100644
@@ -234,7 +234,6 @@
 #define CONFIG_SETUP_MEMORY_TAGS
 #define CONFIG_BOOTDELAY	3
 #define CONFIG_BOOTFILE	"uImage"
-#define CONFIG_BOOTCOMMAND	"run bootcmd_net"
 #define CONFIG_LOADADDR	0x42000000
 #define CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
 #define CONFIG_OF_LIBFDT
@@ -243,13 +242,81 @@
  * Extra Environments
  */
 #define CONFIG_EXTRA_ENV_SETTINGS \
-	"console_fsl=console=ttyAM0" \
-	"console_mainline=console=ttyAMA0" \
-	"netargs=setenv bootargs console=${console_mainline}" \
+	"update_nand_full_filename=u-boot.nand\0" \
+	"update_nand_firmware_filename=u-boot.sb\0"	\
+	"update_sd_firmware_filename=u-boot.sd\0" \
+	"update_nand_firmware_maxsz=0x100000\0"	\
+	"update_nand_stride=0x40\0"	/* MX28 datasheet ch. 12.12 */ \
+	"update_nand_count=0x4\0"	/* MX28 datasheet ch. 12.12 */ \
+	"update_nand_get_fcb_size="	/* Get size of FCB blocks */ \
+		"nand device 0 ; " \
+		"nand info ; " \
+		"setexpr fcb_sz ${update_nand_stride} * ${update_nand_count};" \
+		"setexpr update_nand_fcb ${fcb_sz} * ${nand_writesize}\0" \
+	"update_nand_full="		    /* Update FCB, DBBT and FW */ \
+		"if tftp ${update_nand_full_filename} ; then " \
+		"run update_nand_get_fcb_size ; " \
+		"nand scrub -y 0x0 ${filesize} ; " \
+		"nand write.raw ${loadaddr} 0x0 ${update_nand_fcb} ; " \
+		"setexpr update_off ${loadaddr} + ${update_nand_fcb} ; " \
+		"setexpr update_sz ${filesize} - ${update_nand_fcb} ; " \
+		"nand write ${update_off} ${update_nand_fcb} ${update_sz} ; " \
+		"fi\0" \
+	"update_nand_firmware="		/* Update only firmware */ \
+		"if tftp ${update_nand_firmware_filename} ; then " \
+		"run update_nand_get_fcb_size ; " \
+		"setexpr fcb_sz ${update_nand_fcb} * 2 ; " /* FCB + DBBT */ \
+		"setexpr fw_sz ${update_nand_firmware_maxsz} * 2 ; " \
+		"setexpr fw_off ${fcb_sz} + ${update_nand_firmware_maxsz};" \
+		"nand erase ${fcb_sz} ${fw_sz} ; " \
+		"nand write ${loadaddr} ${fcb_sz} ${filesize} ; " \
+		"nand write ${loadaddr} ${fw_off} ${filesize} ; " \
+		"fi\0" \
+	"update_sd_firmware="		/* Update the SD firmware partition */ \
+		"if mmc rescan ; then "	\
+		"if tftp ${update_sd_firmware_filename} ; then " \
+		"setexpr fw_sz ${filesize} / 0x200 ; "	/* SD block size */ \
+		"setexpr fw_sz ${fw_sz} + 1 ; "	\
+		"mmc write ${loadaddr} 0x800 ${fw_sz} ; " \
+		"fi ; "	\
+		"fi\0" \
+	"script=boot.scr\0"	\
+	"uimage=uImage\0" \
+	"console_fsl=ttyAM0\0" \
+	"console_mainline=ttyAMA0\0" \
+	"console=${console_mainline}\0" \
+	"mmcdev=0\0" \
+	"mmcpart=2\0" \
+	"mmcroot=/dev/mmcblk0p3 rw\0" \
+	"mmcrootfstype=ext3 rootwait\0"	\
+	"mmcargs=setenv bootargs console=${console},${baudrate} " \
+		"root=${mmcroot} " \
+		"rootfstype=${mmcrootfstype}\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=ttymxc0,${baudrate} " \
 		"root=/dev/nfs " \
-		"ip=dhcp nfsroot=${serverip}:${nfsroot}\0" \
-	"bootcmd_net=echo Booting from net ...; " \
-		"run netargs; " \
-		"dhcp ${uimage}; bootm\0" \
+		"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
+	"netboot=echo Booting from net ...; " \
+		"run netargs; "	\
+		"dhcp ${uimage}; bootm\0"
+
+#define CONFIG_BOOTCOMMAND \
+	"if mmc rescan ${mmcdev}; then " \
+		"if run loadbootscript; then " \
+			"run bootscript; " \
+		"else " \
+			"if run loaduimage; then " \
+				"run mmcboot; " \
+			"else run netboot; " \
+			"fi; " \
+		"fi; " \
+	"else run netboot; fi"
 
 #endif /* __MX28EVK_CONFIG_H__ */
Signature · 1 line
1.7.10
#11 lore raw

PATCH 3/3 mx28evk: extend default environment

Quoted 5 lines · Otavio Salvador

+ ? ? ? "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
+ ? ? ? "mmcboot=echo Booting from mmc ...; " \
+ ? ? ? ? ? ? ? "run mmcargs; " \
+ ? ? ? ? ? ? ? "bootm\0" \
+ ? ? ? "netargs=setenv bootargs console=ttymxc0,${baudrate} " \

No, ttymxc0 is wrong for mx28. You should use console=${console}.

#12 lore raw

PATCH 3/3 mx28evk: extend default environment

Quoted 10 lines · Fabio Estevam
Quoted 5 lines · Otavio Salvador

+ ? ? ? "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
+ ? ? ? "mmcboot=echo Booting from mmc ...; " \
+ ? ? ? ? ? ? ? "run mmcargs; " \
+ ? ? ? ? ? ? ? "bootm\0" \
+ ? ? ? "netargs=setenv bootargs console=ttymxc0,${baudrate} " \

No, ttymxc0 is wrong for mx28. You should use console=${console}.

My fault; when I redone it I forgot to fix it once again.

Signature · 3 lines
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
#13 lore raw

PATCH 3/3 mx28evk: extend default environment

In reply to Fabio Estevam

The environment has been based on mx53loco and m28evk but keeping the possibility to easy change the default console device as Freescale and mainline kernels differ on the device name.

Cc Marek Vasut <[email protected]>
Cc Stefano Babic <[email protected]>
Cc Wolfgang Denk <[email protected]>
Cc Fabio Estevam <[email protected]>
---
 include/configs/mx28evk.h |   83 ++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 75 insertions(+), 8 deletions(-)
include/configs/mx28evk.h +75 -8
index e98a746..889d58a 100644
@@ -234,7 +234,6 @@
 #define CONFIG_SETUP_MEMORY_TAGS
 #define CONFIG_BOOTDELAY	3
 #define CONFIG_BOOTFILE	"uImage"
-#define CONFIG_BOOTCOMMAND	"run bootcmd_net"
 #define CONFIG_LOADADDR	0x42000000
 #define CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
 #define CONFIG_OF_LIBFDT
@@ -243,13 +242,81 @@
  * Extra Environments
  */
 #define CONFIG_EXTRA_ENV_SETTINGS \
-	"console_fsl=console=ttyAM0" \
-	"console_mainline=console=ttyAMA0" \
-	"netargs=setenv bootargs console=${console_mainline}" \
+	"update_nand_full_filename=u-boot.nand\0" \
+	"update_nand_firmware_filename=u-boot.sb\0"	\
+	"update_sd_firmware_filename=u-boot.sd\0" \
+	"update_nand_firmware_maxsz=0x100000\0"	\
+	"update_nand_stride=0x40\0"	/* MX28 datasheet ch. 12.12 */ \
+	"update_nand_count=0x4\0"	/* MX28 datasheet ch. 12.12 */ \
+	"update_nand_get_fcb_size="	/* Get size of FCB blocks */ \
+		"nand device 0 ; " \
+		"nand info ; " \
+		"setexpr fcb_sz ${update_nand_stride} * ${update_nand_count};" \
+		"setexpr update_nand_fcb ${fcb_sz} * ${nand_writesize}\0" \
+	"update_nand_full="		    /* Update FCB, DBBT and FW */ \
+		"if tftp ${update_nand_full_filename} ; then " \
+		"run update_nand_get_fcb_size ; " \
+		"nand scrub -y 0x0 ${filesize} ; " \
+		"nand write.raw ${loadaddr} 0x0 ${update_nand_fcb} ; " \
+		"setexpr update_off ${loadaddr} + ${update_nand_fcb} ; " \
+		"setexpr update_sz ${filesize} - ${update_nand_fcb} ; " \
+		"nand write ${update_off} ${update_nand_fcb} ${update_sz} ; " \
+		"fi\0" \
+	"update_nand_firmware="		/* Update only firmware */ \
+		"if tftp ${update_nand_firmware_filename} ; then " \
+		"run update_nand_get_fcb_size ; " \
+		"setexpr fcb_sz ${update_nand_fcb} * 2 ; " /* FCB + DBBT */ \
+		"setexpr fw_sz ${update_nand_firmware_maxsz} * 2 ; " \
+		"setexpr fw_off ${fcb_sz} + ${update_nand_firmware_maxsz};" \
+		"nand erase ${fcb_sz} ${fw_sz} ; " \
+		"nand write ${loadaddr} ${fcb_sz} ${filesize} ; " \
+		"nand write ${loadaddr} ${fw_off} ${filesize} ; " \
+		"fi\0" \
+	"update_sd_firmware="		/* Update the SD firmware partition */ \
+		"if mmc rescan ; then "	\
+		"if tftp ${update_sd_firmware_filename} ; then " \
+		"setexpr fw_sz ${filesize} / 0x200 ; "	/* SD block size */ \
+		"setexpr fw_sz ${fw_sz} + 1 ; "	\
+		"mmc write ${loadaddr} 0x800 ${fw_sz} ; " \
+		"fi ; "	\
+		"fi\0" \
+	"script=boot.scr\0"	\
+	"uimage=uImage\0" \
+	"console_fsl=ttyAM0\0" \
+	"console_mainline=ttyAMA0\0" \
+	"console=${console_mainline}\0" \
+	"mmcdev=0\0" \
+	"mmcpart=2\0" \
+	"mmcroot=/dev/mmcblk0p3 rw\0" \
+	"mmcrootfstype=ext3 rootwait\0"	\
+	"mmcargs=setenv bootargs console=${console},${baudrate} " \
+		"root=${mmcroot} " \
+		"rootfstype=${mmcrootfstype}\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}\0" \
-	"bootcmd_net=echo Booting from net ...; " \
-		"run netargs; " \
-		"dhcp ${uimage}; bootm\0" \
+		"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
+	"netboot=echo Booting from net ...; " \
+		"run netargs; "	\
+		"dhcp ${uimage}; bootm\0"
+
+#define CONFIG_BOOTCOMMAND \
+	"if mmc rescan ${mmcdev}; then " \
+		"if run loadbootscript; then " \
+			"run bootscript; " \
+		"else " \
+			"if run loaduimage; then " \
+				"run mmcboot; " \
+			"else run netboot; " \
+			"fi; " \
+		"fi; " \
+	"else run netboot; fi"
 
 #endif /* __MX28EVK_CONFIG_H__ */
Signature · 1 line
1.7.10
#14 lore raw

PATCH 3/3 mx28evk: extend default environment

Dear Otavio Salvador,

Quoted 4 lines · In message <[email protected]> you…

The environment has been based on mx53loco and m28evk but keeping the possibility to easy change the default console device as Freescale and mainline kernels differ on the device name.

Quoted 8 lines
Cc Marek Vasut <[email protected]>
Cc Stefano Babic <[email protected]>
Cc Wolfgang Denk <[email protected]>
Cc Fabio Estevam <[email protected]>
---
 include/configs/mx28evk.h |   83 ++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 75 insertions(+), 8 deletions(-)

Starting by now, I will NAK all these patches that get posted and reposted and reposted again continuously ignoring the rules for patch submissions.

Please read
http://www.denx.de/wiki/view/U-Boot/Patches#Sending_updated_patch_versions
and stick to the documented rules.

I suggest we invalidate _all_ previously posted patcehs, you add the required changes and resubmit.

Thanks.

Best regards,

Wolfgang Denk

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-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
If in any problem you find yourself doing an immense amount of  work,
the answer can be obtained by simple inspection.
#15 lore raw

PATCH 3/3 mx28evk: extend default environment

Quoted 4 lines · Wolfgang Denk

Starting by now, I will NAK all these patches that get posted and reposted and reposted again continuously ignoring the rules for patch submissions.

I sent the last version of the patch changing only the Freescable board.

As I said, I am working on MX23 and will rebase and resend all this patches once it is OK. If possible, give access to the patchwork so I remove the patches that has been deprecated and I am the author so it doesn't bother there.

Signature · 3 lines
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
#16 lore raw

PATCH 3/3 mx28evk: extend default environment

In reply to Otavio Salvador

Dear Otavio Salvador,

Quoted 3 lines

The environment has been based on mx53loco and m28evk but keeping the possibility to easy change the default console device as Freescale and mainline kernels differ on the device name.

FSL kernel is dumb :-(

But I like this patch. On the other hand, can't this be made even more generic so everyone can use such a nice unified env?

Quoted 102 lines
Cc Marek Vasut <[email protected]>
Cc Stefano Babic <[email protected]>
Cc Wolfgang Denk <[email protected]>
Cc Fabio Estevam <[email protected]>
---
 include/configs/mx28evk.h |   83

++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 75 insertions(+), 8 deletions(-)

include/configs/mx28evk.h +67 -8
index e98a746..6c2bf5f 100644
@@ -234,7 +234,6 @@
 #define CONFIG_SETUP_MEMORY_TAGS
 #define CONFIG_BOOTDELAY	3
 #define CONFIG_BOOTFILE	"uImage"
-#define CONFIG_BOOTCOMMAND	"run bootcmd_net"
 #define CONFIG_LOADADDR	0x42000000
 #define CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
 #define CONFIG_OF_LIBFDT
@@ -243,13 +242,81 @@
  * Extra Environments
  */
 #define CONFIG_EXTRA_ENV_SETTINGS \
-	"console_fsl=console=ttyAM0" \
-	"console_mainline=console=ttyAMA0" \
-	"netargs=setenv bootargs console=${console_mainline}" \
+	"update_nand_full_filename=u-boot.nand\0" \
+	"update_nand_firmware_filename=u-boot.sb\0"	\
+	"update_sd_firmware_filename=u-boot.sd\0" \
+	"update_nand_firmware_maxsz=0x100000\0"	\
+	"update_nand_stride=0x40\0"	/* MX28 datasheet ch. 12.12 */ \
+	"update_nand_count=0x4\0"	/* MX28 datasheet ch. 12.12 */ \
+	"update_nand_get_fcb_size="	/* Get size of FCB blocks */ \
+		"nand device 0 ; " \
+		"nand info ; " \
+		"setexpr fcb_sz ${update_nand_stride} * ${update_nand_count};" \
+		"setexpr update_nand_fcb ${fcb_sz} * ${nand_writesize}\0" \
+	"update_nand_full="		    /* Update FCB, DBBT and FW */ \
+		"if tftp ${update_nand_full_filename} ; then " \
+		"run update_nand_get_fcb_size ; " \
+		"nand scrub -y 0x0 ${filesize} ; " \
+		"nand write.raw ${loadaddr} 0x0 ${update_nand_fcb} ; " \
+		"setexpr update_off ${loadaddr} + ${update_nand_fcb} ; " \
+		"setexpr update_sz ${filesize} - ${update_nand_fcb} ; " \
+		"nand write ${update_off} ${update_nand_fcb} ${update_sz} ; " \
+		"fi\0" \
+	"update_nand_firmware="		/* Update only firmware */ \
+		"if tftp ${update_nand_firmware_filename} ; then " \
+		"run update_nand_get_fcb_size ; " \
+		"setexpr fcb_sz ${update_nand_fcb} * 2 ; " /* FCB + DBBT */ \
+		"setexpr fw_sz ${update_nand_firmware_maxsz} * 2 ; " \
+		"setexpr fw_off ${fcb_sz} + ${update_nand_firmware_maxsz};" \
+		"nand erase ${fcb_sz} ${fw_sz} ; " \
+		"nand write ${loadaddr} ${fcb_sz} ${filesize} ; " \
+		"nand write ${loadaddr} ${fw_off} ${filesize} ; " \
+		"fi\0" \
+	"update_sd_firmware="		/* Update the SD firmware partition */ \
+		"if mmc rescan ; then "	\
+		"if tftp ${update_sd_firmware_filename} ; then " \
+		"setexpr fw_sz ${filesize} / 0x200 ; "	/* SD block size */ \
+		"setexpr fw_sz ${fw_sz} + 1 ; "	\
+		"mmc write ${loadaddr} 0x800 ${fw_sz} ; " \
+		"fi ; "	\
+		"fi\0" \
+	"script=boot.scr\0"	\
+	"uimage=uImage\0" \
+	"console_fsl=ttyAM0\0" \
+	"console_mainline=ttyAMA0\0" \
+	"console=${console_mainline}\0" \
+	"mmcdev=0\0" \
+	"mmcpart=2\0" \
+	"mmcroot=/dev/mmcblk0p3 rw\0" \
+	"mmcrootfstype=ext3 rootwait\0"	\
+	"mmcargs=setenv bootargs console=${console},${baudrate} " \
+		"root=${mmcroot} " \
+		"rootfstype=${mmcrootfstype}\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=ttymxc0,${baudrate} " \
 		"root=/dev/nfs " \
-		"ip=dhcp nfsroot=${serverip}:${nfsroot}\0" \
-	"bootcmd_net=echo Booting from net ...; " \
-		"run netargs; " \
-		"dhcp ${uimage}; bootm\0" \
+		"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
+	"netboot=echo Booting from net ...; " \
+		"run netargs; "	\
+		"dhcp ${uimage}; bootm\0"
+
+#define CONFIG_BOOTCOMMAND \
+	"if mmc rescan ${mmcdev}; then " \
+		"if run loadbootscript; then " \

include/configs/mx28evk.h line 322

Quoted 10 lines
include/configs/mx28evk.h +8 -0
+			"run bootscript; " \
+		"else " \
+			"if run loaduimage; then " \
+				"run mmcboot; " \
+			"else run netboot; " \
+			"fi; " \
+		"fi; " \
+	"else run netboot; fi"
 
 #endif /* __MX28EVK_CONFIG_H__ */

Best regards,
Marek Vasut

A message that is not in the archive (sent off-list or not yet received): CAP9ODKrZ5kObb8C=BWRLh0MJWsQz1H2WRe9sJHh1Tq0DcRR2Ag@mail.gmail.com

#18 lore raw

PATCH 3/3 mx28evk: extend default environment

Dear Otavio Salvador,

Quoted 7 lines · Marek Vasut
Quoted 2 lines

But I like this patch. On the other hand, can't this be made even more generic so everyone can use such a nice unified env?

I tried something in this direction but Wolfgang NACKed the patch. It wasn't clear to me what he wants so I preferred to go again with mx28evk patch only.

Well ... it might have been a good idea to discuss it with WD. I think we discussed some time ago that universal default env would be very cool.

Best regards,
Marek Vasut

#19 lore raw

PATCH 3/3 mx28evk: extend default environment

Quoted 8 lines · Marek Vasut

Dear Otavio Salvador,

Quoted 3 lines

I tried something in this direction but Wolfgang NACKed the patch. It wasn't clear to me what he wants so I preferred to go again with mx28evk patch only.

Well ... it might have been a good idea to discuss it with WD. I think we discussed some time ago that universal default env would be very cool.

I can work on that as far as I know what people expect to have. In meanwhile I'd prefer to have this in since it allow the default environment to just work in our BSP layer for OpenEmbedded.

Signature · 3 lines
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
#20 lore raw

PATCH 3/3 mx28evk: extend default environment

Dear Otavio Salvador,

Quoted 4 lines · In message <CAP9ODKqPY51QzdLPejC4GyO3H-S0jYwFxEipEhSebX74Jkg0aQ@mail.gmail.com>…

I can work on that as far as I know what people expect to have. In meanwhile I'd prefer to have this in since it allow the default environment to just work in our BSP layer for OpenEmbedded.

There is no such thing as "the default environment".

The default environment is vendor specific at bets, and usualy board specific. As explained before, I will not accept the Freescale style on boards maintained by DENX.

Not because I consider it inherently bad, but for example because it is different from what we, our customers, our documentation and our test scripts are used to.

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"It is easier to port a shell than a shell script."      - Larry Wall
#21 lore raw

PATCH 3/3 mx28evk: extend default environment

Dear Wolfgang Denk,

Quoted 3 lines

Dear Otavio Salvador,

In message <CAP9ODKqPY51QzdLPejC4GyO3H-

Quoted 6 lines · [email protected]> you wrote:
Quoted 3 lines

I can work on that as far as I know what people expect to have. In meanwhile I'd prefer to have this in since it allow the default environment to just work in our BSP layer for OpenEmbedded.

There is no such thing as "the default environment".

Quoted 7 lines

The default environment is vendor specific at bets, and usualy board specific. As explained before, I will not accept the Freescale style on boards maintained by DENX.

Not because I consider it inherently bad, but for example because it is different from what we, our customers, our documentation and our test scripts are used to.

Then I guess some kind of "common env" for all boards won't happen ?

Quoted 3 lines

Best regards,

Wolfgang Denk

Best regards,
Marek Vasut

#22 lore raw

PATCH 3/3 mx28evk: extend default environment

Dear Marek,

Quoted 6 lines · In message <[email protected]> you wrote:
Quoted 4 lines

Not because I consider it inherently bad, but for example because it is different from what we, our customers, our documentation and our test scripts are used to.

Then I guess some kind of "common env" for all boards won't happen ?

I don't see a real chance. Pick any of the bigger vendors - say
Freescale: do you consider it a realistic chance that all their boards (PPC, ARM, ColdFire, what else) get converted to a common environment? Do you expect that TI and Samsung and Marvell and ... agree with this approach and apply it on thier boards as ell? Or vice versa?

I think the best we can do is factor out some parts we consider well designed, and use these in the boards in our own responsibility. Then we can start pointing people at that and try to convince them to accept this for new stuff added.

But reorganizing existing environents is basicly impossible - all the bigger vendors will tell you how much effort it would take to update just all the documentation, not to mention to update all the boards and scrpts and handle the resulting board breakages / brickages.

Best regards,

Wolfgang Denk

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-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"What the scientists have in their briefcases is terrifying."
- Nikita Khrushchev
#23 lore raw

PATCH 3/3 mx28evk: extend default environment

In reply to Otavio Salvador

Dear Otavio Salvador,

Quoted 3 lines · In message <[email protected]> you…

The environment has been based on mx53loco and m28evk but keeping the possibility to easy change the default console device as Freescale and mainline kernels differ on the device name.

NAK.

I will not acceept this.

Please accept that the configuration of the Freescale boards was done by Freescale and is maintained by freescale, but it is not generally considered to be the best of all possible solutions.

Freescale may use it on their boards if they like. You may use it on your boards if you like.

But I don't want to see this on any boards in my responsibility, because I dislike it.

Please allow that we maintain the M28EVK configuration as we like it.

Thanks.

Best regards,

Wolfgang Denk

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-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"Summit meetings tend to be like panda matings. The expectations  are
always high, and the results usually disappointing."   - Robert Orben
#24 lore raw

PATCH 1/3 m28evk: use same notation to alloc the 128kB stack

In reply to Otavio Salvador

Dear Otavio Salvador,

Quoted 4 lines
Cc Marek Vasut <[email protected]>
Cc Stefano Babic <[email protected]>
Cc Wolfgang Denk <[email protected]>

Is this really necessary? I think it's a matter of personal taste, isn't it?

include/configs/m28evk.h line 88

Quoted 10 lines
---
 include/configs/m28evk.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
include/configs/m28evk.h +0 -0
index 68e46b7..a076aa5 100644
@@ -88,7 +88,7 @@
 #define	CONFIG_NR_DRAM_BANKS		1		/* 1 bank of 

DRAM */

include/configs/m28evk.h line 89

Quoted 1 line
include/configs/m28evk.h +0 -0
 #define	PHYS_SDRAM_1			0x40000000	/* Base address 

*/

include/configs/m28evk.h line 90

Quoted 1 line
include/configs/m28evk.h +0 -0
 #define	PHYS_SDRAM_1_SIZE		0x20000000	/* Max 512 MB 

RAM */

include/configs/m28evk.h line 91

Quoted 1 line
include/configs/m28evk.h +0 -1
-#define	CONFIG_STACKSIZE		0x00010000	/* 128 KB stack 

*/

include/configs/m28evk.h line 91

Quoted 1 line
include/configs/m28evk.h +1 -0
+#define	CONFIG_STACKSIZE		(128 * 1024)	/* 128 KB stack 

*/

include/configs/m28evk.h line 92

Quoted 1 line
include/configs/m28evk.h +0 -0
 #define	CONFIG_SYS_MALLOC_LEN		0x00400000	/* 4 MB for 

malloc */

include/configs/m28evk.h line 93

Quoted 1 line
include/configs/m28evk.h +0 -0
 #define	CONFIG_SYS_GBL_DATA_SIZE	128		/* Initial data 

*/

include/configs/m28evk.h line 94

Quoted 1 line
include/configs/m28evk.h +0 -0
 #define	CONFIG_SYS_MEMTEST_START	0x40000000	/* Memtest start 

adr */

Best regards,
Marek Vasut

#25 lore raw

PATCH 1/3 m28evk: use same notation to alloc the 128kB stack

Quoted 1 line · Marek Vasut

Is this really necessary? I think it's a matter of personal taste, isn't it?

It is but you does this kind of style in other part of file so seemed logical to use the same. Since I was looking at the code it seemed good to send it as a style improvement and consolidation.

Signature · 3 lines
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