]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
board: dragonboard410c: Fix fastboot
authorStephan Gerhold <stephan@gerhold.net>
Wed, 14 Jul 2021 08:56:25 +0000 (10:56 +0200)
committerTom Rini <trini@konsulko.com>
Fri, 23 Jul 2021 22:53:46 +0000 (18:53 -0400)
At the moment pressing the volume down key does not actually launch
fastboot. This is because setting "bootdelay" to "-1" actually
disables autoboot and drops to the U-Boot console. It does not execute
the "bootcmd".

The correct value for "bootdelay" here would be "-2", which disables
the delay and key checking and would immediately execute the "bootcmd".

However, even better in this case is using "preboot" to trigger Fastboot.
The advantage is that running "fastboot continue" will actually continue
the autoboot process instead of ending up in the U-Boot shell.

Also make sure to unset "preboot" again immediately in case the user
saves the environment after triggering fastboot.

Cc: Ramon Fried <rfried.dev@gmail.com>
Fixes: aa043ee91a47 ("db410c: automatically launch fastboot")
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
board/qualcomm/dragonboard410c/dragonboard410c.c
configs/dragonboard410c_defconfig

index 3b71881cac10fddaf6c699a09eb0a2a7b13f38c5..371b3262f8c591f7732d61510838a17a2c1c2132 100644 (file)
@@ -132,8 +132,7 @@ int misc_init_r(void)
        }
 
        if (dm_gpio_get_value(&resin)) {
-               env_set("bootdelay", "-1");
-               env_set("bootcmd", "fastboot 0");
+               env_set("preboot", "setenv preboot; fastboot 0");
                printf("key_vol_down pressed - Starting fastboot.\n");
        }
 
index dc9d0d893ce86a0990f6578aa78ffd309ac83e3d..a46283f980e0a23a0e836d2f1021a8d987228060 100644 (file)
@@ -10,6 +10,7 @@ CONFIG_DISTRO_DEFAULTS=y
 # CONFIG_ANDROID_BOOT_IMAGE is not set
 CONFIG_FIT=y
 CONFIG_OF_BOARD_SETUP=y
+CONFIG_USE_PREBOOT=y
 # CONFIG_DISPLAY_CPUINFO is not set
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_MISC_INIT_R=y