diff options
author | Roman Kovalivskyi <roman.kovalivskyi@globallogic.com> | 2020-07-28 23:35:32 +0300 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2020-09-01 14:47:43 +0200 |
commit | 851737ab8922742732bea5f70407cb95cafcb3ee (patch) | |
tree | bde70e242207d0cf54401537d3de4f5d1f6abd64 /arch | |
parent | 73f4ebb659df4996e154b17f14866fb166447be0 (diff) |
fastboot: Extend fastboot_set_reboot_flag with reboot reason
Extend fastboot_set_reboot_flag arguments with reboot reason so that
it could handle different reboot cases in future.
Signed-off-by: Roman Kovalivskyi <roman.kovalivskyi@globallogic.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-meson/board-common.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-rockchip/board.c | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/arch/arm/mach-meson/board-common.c b/arch/arm/mach-meson/board-common.c index 0f21ec8e53..7ea0ed4794 100644 --- a/arch/arm/mach-meson/board-common.c +++ b/arch/arm/mach-meson/board-common.c @@ -5,6 +5,7 @@ #include <common.h> #include <cpu_func.h> +#include <fastboot.h> #include <init.h> #include <net.h> #include <asm/arch/boot.h> @@ -153,8 +154,11 @@ int board_late_init(void) #if CONFIG_IS_ENABLED(FASTBOOT) static unsigned int reboot_reason = REBOOT_REASON_NORMAL; -int fastboot_set_reboot_flag() +int fastboot_set_reboot_flag(enum fastboot_reboot_reason reason) { + if (reason != FASTBOOT_REBOOT_REASON_BOOTLOADER) + return -ENOTSUPP; + reboot_reason = REBOOT_REASON_BOOTLOADER; printf("Using reboot reason: 0x%x\n", reboot_reason); diff --git a/arch/arm/mach-rockchip/board.c b/arch/arm/mach-rockchip/board.c index 430c0cbf41..ba4da72b39 100644 --- a/arch/arm/mach-rockchip/board.c +++ b/arch/arm/mach-rockchip/board.c @@ -6,6 +6,7 @@ #include <clk.h> #include <cpu_func.h> #include <dm.h> +#include <fastboot.h> #include <init.h> #include <log.h> #include <ram.h> @@ -152,8 +153,11 @@ int board_usb_init(int index, enum usb_init_type init) #endif /* CONFIG_USB_GADGET */ #if CONFIG_IS_ENABLED(FASTBOOT) -int fastboot_set_reboot_flag(void) +int fastboot_set_reboot_flag(enum fastboot_reboot_reason reason) { + if (reason != FASTBOOT_REBOOT_REASON_BOOTLOADER) + return -ENOTSUPP; + printf("Setting reboot to fastboot flag ...\n"); /* Set boot mode to fastboot */ writel(BOOT_FASTBOOT, CONFIG_ROCKCHIP_BOOT_MODE_REG); |