[U-Boot] [PATCH v4 1/2] vf610twr: Add default environment in line with other Freescale boards

This adds a default environment which should be able to support both 3.0.15 from Timesys and upcoming 3.11.
Signed-off-by: Otavio Salvador otavio@ossystems.com.br --- Changes in v4: - revert sys text address change (Alison) - add mem=128M to bootargs/netargs (Andy)
Changes in v3: - add dt boot support - use ttyLP1 as console - change loadaddr and sys text as iMX6SL - NOTE: It needs to be boot tested as I don't have the board
Changes in v2: - fix console for ttymxc1 (Fabio)
include/configs/vf610twr.h | 91 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 89 insertions(+), 2 deletions(-)
diff --git a/include/configs/vf610twr.h b/include/configs/vf610twr.h index 77fe893..9474aeb 100644 --- a/include/configs/vf610twr.h +++ b/include/configs/vf610twr.h @@ -83,8 +83,96 @@
#define CONFIG_BOOTDELAY 3
+#define CONFIG_LOADADDR 0x82000000 #define CONFIG_SYS_TEXT_BASE 0x3f008000
+#define CONFIG_EXTRA_ENV_SETTINGS \ + "script=boot.scr\0" \ + "uimage=uImage\0" \ + "console=ttyLP1\0" \ + "fdt_high=0xffffffff\0" \ + "initrd_high=0xffffffff\0" \ + "fdt_file=vf610-twr.dtb\0" \ + "fdt_addr=0x81000000\0" \ + "boot_fdt=try\0" \ + "ip_dyn=yes\0" \ + "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \ + "mmcpart=1\0" \ + "mmcroot=/dev/mmcblk0p2 rootwait rw\0" \ + "update_sd_firmware_filename=u-boot.imx\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" \ + "mmcargs=setenv bootargs console=${console},${baudrate} " \ + "root=${mmcroot} mem=128M\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" \ + "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 " \ + "bootm ${loadaddr} - ${fdt_addr}; " \ + "else " \ + "if test ${boot_fdt} = try; then " \ + "bootm; " \ + "else " \ + "echo WARN: Cannot load the DT; " \ + "fi; " \ + "fi; " \ + "else " \ + "bootm; " \ + "fi;\0" \ + "netargs=setenv bootargs console=${console},${baudrate} " \ + "root=/dev/nfs mem=128M " \ + "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} ${uimage}; " \ + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ + "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ + "bootm ${loadaddr} - ${fdt_addr}; " \ + "else " \ + "if test ${boot_fdt} = try; then " \ + "bootm; " \ + "else " \ + "echo WARN: Cannot load the DT; " \ + "fi; " \ + "fi; " \ + "else " \ + "bootm; " \ + "fi;\0" + +#define CONFIG_BOOTCOMMAND \ + "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" + /* Miscellaneous configurable options */ #define CONFIG_SYS_LONGHELP /* undef to save memory */ #define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */ @@ -101,8 +189,7 @@ #define CONFIG_SYS_MEMTEST_START 0x80010000 #define CONFIG_SYS_MEMTEST_END 0x87C00000
-#define CONFIG_SYS_LOAD_ADDR 0x80010000 - +#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR #define CONFIG_SYS_HZ 1000
/*

We've been dropping SoC name from U-Boot prompt as it increase complexity for automatic testing and makes line longer for no good reason.
Signed-off-by: Otavio Salvador otavio@ossystems.com.br --- Changes in v4: None Changes in v3: None Changes in v2: None
include/configs/vf610twr.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/configs/vf610twr.h b/include/configs/vf610twr.h index 9474aeb..41d7d9a 100644 --- a/include/configs/vf610twr.h +++ b/include/configs/vf610twr.h @@ -177,7 +177,7 @@ #define CONFIG_SYS_LONGHELP /* undef to save memory */ #define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */ #define CONFIG_SYS_PROMPT_HUSH_PS2 "> " -#define CONFIG_SYS_PROMPT "Vybrid U-Boot > " +#define CONFIG_SYS_PROMPT "=> " #undef CONFIG_AUTO_COMPLETE #define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ #define CONFIG_SYS_PBSIZE \

On Thu, Jun 27, 2013 at 10:59 PM, Otavio Salvador otavio@ossystems.com.br wrote:
This adds a default environment which should be able to support both 3.0.15 from Timesys and upcoming 3.11.
Signed-off-by: Otavio Salvador otavio@ossystems.com.br
Changes in v4:
- revert sys text address change (Alison)
- add mem=128M to bootargs/netargs (Andy)
Just curious: why do we need to pass mem=128M?
Changes in v3:
- add dt boot support
- use ttyLP1 as console
- change loadaddr and sys text as iMX6SL
- NOTE: It needs to be boot tested as I don't have the board
Changes in v2:
- fix console for ttymxc1 (Fabio)
include/configs/vf610twr.h | 91 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 89 insertions(+), 2 deletions(-)
diff --git a/include/configs/vf610twr.h b/include/configs/vf610twr.h index 77fe893..9474aeb 100644 --- a/include/configs/vf610twr.h +++ b/include/configs/vf610twr.h @@ -83,8 +83,96 @@
#define CONFIG_BOOTDELAY 3
+#define CONFIG_LOADADDR 0x82000000 #define CONFIG_SYS_TEXT_BASE 0x3f008000
+#define CONFIG_EXTRA_ENV_SETTINGS \
"script=boot.scr\0" \
"uimage=uImage\0" \
"console=ttyLP1\0" \
"fdt_high=0xffffffff\0" \
"initrd_high=0xffffffff\0" \
"fdt_file=vf610-twr.dtb\0" \
"fdt_addr=0x81000000\0" \
"boot_fdt=try\0" \
"ip_dyn=yes\0" \
"mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \
"mmcpart=1\0" \
"mmcroot=/dev/mmcblk0p2 rootwait rw\0" \
"update_sd_firmware_filename=u-boot.imx\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" \
"mmcargs=setenv bootargs console=${console},${baudrate} " \
"root=${mmcroot} mem=128M\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" \
"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 " \
"bootm ${loadaddr} - ${fdt_addr}; " \
"else " \
"if test ${boot_fdt} = try; then " \
"bootm; " \
"else " \
"echo WARN: Cannot load the DT; " \
"fi; " \
"fi; " \
"else " \
"bootm; " \
"fi;\0" \
"netargs=setenv bootargs console=${console},${baudrate} " \
"root=/dev/nfs mem=128M " \
"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} ${uimage}; " \
"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
"if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
"bootm ${loadaddr} - ${fdt_addr}; " \
"else " \
"if test ${boot_fdt} = try; then " \
"bootm; " \
"else " \
"echo WARN: Cannot load the DT; " \
"fi; " \
"fi; " \
"else " \
"bootm; " \
"fi;\0"
+#define CONFIG_BOOTCOMMAND \
"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"
/* Miscellaneous configurable options */ #define CONFIG_SYS_LONGHELP /* undef to save memory */ #define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */ @@ -101,8 +189,7 @@ #define CONFIG_SYS_MEMTEST_START 0x80010000 #define CONFIG_SYS_MEMTEST_END 0x87C00000
-#define CONFIG_SYS_LOAD_ADDR 0x80010000
+#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR #define CONFIG_SYS_HZ 1000
/*
1.8.3.1
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

On Thu, Jun 27, 2013 at 11:03 PM, Fabio Estevam festevam@gmail.com wrote:
On Thu, Jun 27, 2013 at 10:59 PM, Otavio Salvador otavio@ossystems.com.br wrote:
This adds a default environment which should be able to support both 3.0.15 from Timesys and upcoming 3.11.
Signed-off-by: Otavio Salvador otavio@ossystems.com.br
Changes in v4:
- revert sys text address change (Alison)
- add mem=128M to bootargs/netargs (Andy)
Just curious: why do we need to pass mem=128M?
Board fails to boot otherwise ... Andy did try it so he can explain it with more detail.
-- Otavio Salvador O.S. Systems http://www.ossystems.com.br http://projetos.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750

On Thu, Jun 27, 2013 at 11:12 PM, Otavio Salvador otavio@ossystems.com.br wrote:
Just curious: why do we need to pass mem=128M?
Board fails to boot otherwise ... Andy did try it so he can explain it with more detail.
Hmm...Is DDR being incorrectly configured then? We need to understand why this happens.
Andy, can you comment on this, please?

-----Original Message----- From: Fabio Estevam [mailto:festevam@gmail.com] Sent: Friday, June 28, 2013 10:15 AM To: Otavio Salvador Cc: Andy Voltz; U-Boot Mailing List; Estevam Fabio-R49496; Stefano Babic; Wang Huan-B18965 Subject: Re: [U-Boot] [PATCH v4 1/2] vf610twr: Add default environment in line with other Freescale boards
On Thu, Jun 27, 2013 at 11:12 PM, Otavio Salvador otavio@ossystems.com.br wrote:
Just curious: why do we need to pass mem=128M?
Board fails to boot otherwise ... Andy did try it so he can explain
it
with more detail.
Hmm...Is DDR being incorrectly configured then? We need to understand why this happens.
Andy, can you comment on this, please?
[Alison Wang] mem=128M is not needed with the latest kernel.

On Fri, Jun 28, 2013 at 5:59 AM, Wang Huan-B18965 B18965@freescale.com wrote:
-----Original Message----- From: Fabio Estevam [mailto:festevam@gmail.com] Sent: Friday, June 28, 2013 10:15 AM To: Otavio Salvador Cc: Andy Voltz; U-Boot Mailing List; Estevam Fabio-R49496; Stefano Babic; Wang Huan-B18965 Subject: Re: [U-Boot] [PATCH v4 1/2] vf610twr: Add default environment in line with other Freescale boards
On Thu, Jun 27, 2013 at 11:12 PM, Otavio Salvador otavio@ossystems.com.br wrote:
Just curious: why do we need to pass mem=128M?
Board fails to boot otherwise ... Andy did try it so he can explain
it
with more detail.
Hmm...Is DDR being incorrectly configured then? We need to understand why this happens.
Andy, can you comment on this, please?
[Alison Wang] mem=128M is not needed with the latest kernel.
Latest? Freescale one or mainline?
-- Otavio Salvador O.S. Systems http://www.ossystems.com.br http://projetos.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750

On Fri, Jun 28, 2013 at 5:59 AM, Wang Huan-B18965 B18965@freescale.com wrote:
[Alison Wang] mem=128M is not needed with the latest kernel.
Thanks for confirming, Alison.
Could you please test Otavio's patch?

Hi Fabio,
On Thu, Jun 27, 2013 at 10:14:40PM -0400, Fabio Estevam wrote:
On Thu, Jun 27, 2013 at 11:12 PM, Otavio Salvador otavio@ossystems.com.br wrote:
Just curious: why do we need to pass mem=128M?
Board fails to boot otherwise ... Andy did try it so he can explain it with more detail.
Hmm...Is DDR being incorrectly configured then? We need to understand why this happens.
Andy, can you comment on this, please?
I haven't looked closely at the memory setup, but you are likely correct.
When I boot our kernel on twr-vf610 without mem, nothing is seen after 'Starting kernel...'
For comparison I booted linux-next on the twr-vf610 without the mem argument, and it works. I haven't gotten the board to mount an RFS over net or mmc, but I suspect that is a kernel configuration problem.
It probably makes the most sense to just drop mem arg from the environment, and then we can patch our kernel to fix the memory setup issue.
Regards

On Fri, Jun 28, 2013 at 9:48 AM, Andy Voltz andy.voltz@timesys.com wrote:
Hi Fabio,
On Thu, Jun 27, 2013 at 10:14:40PM -0400, Fabio Estevam wrote:
On Thu, Jun 27, 2013 at 11:12 PM, Otavio Salvador otavio@ossystems.com.br wrote:
Just curious: why do we need to pass mem=128M?
Board fails to boot otherwise ... Andy did try it so he can explain it with more detail.
Hmm...Is DDR being incorrectly configured then? We need to understand why this happens.
Andy, can you comment on this, please?
I haven't looked closely at the memory setup, but you are likely correct.
When I boot our kernel on twr-vf610 without mem, nothing is seen after 'Starting kernel...'
For comparison I booted linux-next on the twr-vf610 without the mem argument, and it works. I haven't gotten the board to mount an RFS over net or mmc, but I suspect that is a kernel configuration problem.
It probably makes the most sense to just drop mem arg from the environment, and then we can patch our kernel to fix the memory setup issue.
Ok; I can cook a v5 without mem param and send.
-- Otavio Salvador O.S. Systems http://www.ossystems.com.br http://projetos.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750

On Fri, Jun 28, 2013 at 9:48 AM, Andy Voltz andy.voltz@timesys.com wrote:
Hi Fabio,
On Thu, Jun 27, 2013 at 10:14:40PM -0400, Fabio Estevam wrote:
On Thu, Jun 27, 2013 at 11:12 PM, Otavio Salvador otavio@ossystems.com.br wrote:
Just curious: why do we need to pass mem=128M?
Board fails to boot otherwise ... Andy did try it so he can explain it with more detail.
Hmm...Is DDR being incorrectly configured then? We need to understand why this happens.
Andy, can you comment on this, please?
I haven't looked closely at the memory setup, but you are likely correct.
When I boot our kernel on twr-vf610 without mem, nothing is seen after 'Starting kernel...'
For comparison I booted linux-next on the twr-vf610 without the mem argument, and it works. I haven't gotten the board to mount an RFS over net or mmc, but I suspect that is a kernel configuration problem.
It probably makes the most sense to just drop mem arg from the environment, and then we can patch our kernel to fix the memory setup issue.

On Fri, Jun 28, 2013 at 9:48 AM, Andy Voltz andy.voltz@timesys.com wrote:
It probably makes the most sense to just drop mem arg from the environment, and then we can patch our kernel to fix the memory setup issue.
Agreed, Andy.
Thanks,
Fabio Estevam
participants (4)
-
Andy Voltz
-
Fabio Estevam
-
Otavio Salvador
-
Wang Huan-B18965