diff options
author | Tom Rini <trini@konsulko.com> | 2020-09-03 09:48:28 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-09-03 09:48:28 -0400 |
commit | 9bfb567e5f1bfe7de8eb41f8c6d00f49d2b9a426 (patch) | |
tree | 50aa5bfd07887062e0d6808158a02434c9a85116 /drivers/fastboot/fb_bcb_impl.c | |
parent | 7f4d3c044504668fcbc547af52e0c2c4fd715d27 (diff) | |
parent | 293a6dfeb96129abebf1ad927fa9aedf03a66d34 (diff) |
Merge branch 'master' of git://git.denx.de/u-boot-usb
- Mostly DFU fixes and r8152 fixes
Diffstat (limited to 'drivers/fastboot/fb_bcb_impl.c')
-rw-r--r-- | drivers/fastboot/fb_bcb_impl.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/drivers/fastboot/fb_bcb_impl.c b/drivers/fastboot/fb_bcb_impl.c new file mode 100644 index 0000000000..89ec3601b6 --- /dev/null +++ b/drivers/fastboot/fb_bcb_impl.c @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2020 GlobalLogic. + * Roman Kovalivskyi <roman.kovalivskyi@globallogic.com> + */ + +#include <common.h> +#include <fastboot.h> + +/** + * fastboot_set_reboot_flag() - Set flag to indicate reboot-bootloader + * + * Set flag which indicates that we should reboot into the bootloader + * following the reboot that fastboot executes after this function. + * + * This function should be overridden in your board file with one + * which sets whatever flag your board specific Android bootloader flow + * requires in order to re-enter the bootloader. + */ +int fastboot_set_reboot_flag(enum fastboot_reboot_reason reason) +{ + char cmd[64]; + + if (reason >= FASTBOOT_REBOOT_REASONS_COUNT) + return -EINVAL; + + snprintf(cmd, sizeof(cmd), "bcb load %d misc", + CONFIG_FASTBOOT_FLASH_MMC_DEV); + + if (run_command(cmd, 0)) + return -ENODEV; + + snprintf(cmd, sizeof(cmd), "bcb set command %s", + fastboot_boot_cmds[reason]); + + if (run_command(cmd, 0)) + return -ENOEXEC; + + if (run_command("bcb store", 0)) + return -EIO; + + return 0; +} |