mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-02 09:46:37 +03:00
vbe: Add an implementation of VBE-ABrec
So far only VBE-simple is implemented in U-Boot. This supports a single image which can be updated in situ. It is often necessary to support two images (A and B) so that the board is not bricked if the update is interrupted or is bad. In some cases, a non-updatable recovery image is desirable, so that the board can be returned to a known-good state in the event of a serious failure. Introduce ABrec which provides these features. It supports three independent images and the logic to select the desired one on boot. While we are here, fix a debug message to indicate the function it called. Provide a maintainers entry for VBE. Note that fwupdated only supports VBE-simple so far, but supports for ABrec will appear in time. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -10,6 +10,8 @@
|
||||
#ifndef __VBE_H
|
||||
#define __VBE_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/**
|
||||
* enum vbe_phase_t - current phase of VBE
|
||||
*
|
||||
@@ -25,13 +27,32 @@ enum vbe_phase_t {
|
||||
VBE_PHASE_OS,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum vbe_pick_t - indicates which firmware is picked
|
||||
*
|
||||
* @VBEFT_A: Firmware A
|
||||
* @VBEFT_B: Firmware B
|
||||
* @VBEFT_RECOVERY: Recovery firmware
|
||||
*/
|
||||
enum vbe_pick_t {
|
||||
VBEP_A,
|
||||
VBEP_B,
|
||||
VBEP_RECOVERY,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct vbe_handoff - information about VBE progress
|
||||
*
|
||||
* @offset: Offset of the FIT to use for SPL onwards
|
||||
* @size: Size of the area containing the FIT
|
||||
* @phases: Indicates which phases used the VBE bootmeth (1 << PHASE_...)
|
||||
* @pick: Indicates which firmware pick was used (enum vbe_pick_t)
|
||||
*/
|
||||
struct vbe_handoff {
|
||||
ulong offset;
|
||||
ulong size;
|
||||
u8 phases;
|
||||
u8 pick;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user