// SPDX-License-Identifier: GPL-2.0+ /* * Copyright 2020 GlobalLogic. * Roman Kovalivskyi */ #include #include /** * 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; }