Message ID | 1427236492-18032-3-git-send-email-dileep.katta@linaro.org |
---|---|
State | New |
Headers | show |
On 27/03/2015, Tom Rini <trini@konsulko.com> wrote: > On Wed, Mar 25, 2015 at 04:04:52AM +0530, Dileep Katta wrote: > >> Implemented fb_set_reboot_flag() for OMAP5 to set >> an environment variable 'dofastboot' when reboot-bootloader called. >> >> This environment variable will be checked in boot command and fastboot >> will be called if the variable is set. >> If the bootcmd env variable of OMAP5 common is overwritten with >> board-specific >> command, then these changes will not apply. > [snip] >> + printf("Setting reboot to fastboot flag ...\n"); >> + setenv("dofastboot", "1"); >> + saveenv(); >> + udelay(60); > [snip] >> #define CONFIG_BOOTCOMMAND \ >> + "if test ${dofastboot} -eq 1; then " \ >> + "echo Boot fastboot requested, resetting dofastboot ...;" \ >> + "setenv dofastboot 0; saveenv; sleep 1;" \ >> + "echo Booting into fastboot ...; fastboot;" \ > > No. When saveenv returns environment is saved. If it doesn't there's a > bug that must be addressed. sleep/udelay not required. Will remove and send an updated patch. > > -- > Tom > Thanks for the comment. Regards, Dileep
diff --git a/arch/arm/cpu/armv7/omap-common/boot-common.c b/arch/arm/cpu/armv7/omap-common/boot-common.c index 17500f2..1aff7c8 100644 --- a/arch/arm/cpu/armv7/omap-common/boot-common.c +++ b/arch/arm/cpu/armv7/omap-common/boot-common.c @@ -162,3 +162,14 @@ void arch_preboot_os(void) ahci_reset(DWC_AHSATA_BASE); } #endif + +#ifdef CONFIG_CMD_FASTBOOT +int fb_set_reboot_flag(void) +{ + printf("Setting reboot to fastboot flag ...\n"); + setenv("dofastboot", "1"); + saveenv(); + udelay(60); + return 0; +} +#endif diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h index cd92454..c5d97ea 100644 --- a/include/configs/ti_omap5_common.h +++ b/include/configs/ti_omap5_common.h @@ -141,13 +141,20 @@ "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile};\0" \ DFUARGS \ + #define CONFIG_BOOTCOMMAND \ + "if test ${dofastboot} -eq 1; then " \ + "echo Boot fastboot requested, resetting dofastboot ...;" \ + "setenv dofastboot 0; saveenv; sleep 1;" \ + "echo Booting into fastboot ...; fastboot;" \ + "fi;" \ "run findfdt; " \ "run mmcboot;" \ "setenv mmcdev 1; " \ "setenv bootpart 1:2; " \ "setenv mmcroot /dev/mmcblk0p2 rw; " \ "run mmcboot;" \ + "" /*