diff options
Diffstat (limited to 'drivers/usb/gadget/bootctrl.h')
-rw-r--r-- | drivers/usb/gadget/bootctrl.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/drivers/usb/gadget/bootctrl.h b/drivers/usb/gadget/bootctrl.h index 2153103..7712f75 100644 --- a/drivers/usb/gadget/bootctrl.h +++ b/drivers/usb/gadget/bootctrl.h @@ -7,11 +7,31 @@ #ifndef BOOTCTRL_H #define BOOTCTRL_H -void set_mmc_id(unsigned int id); +#include <common.h> +#include <g_dnl.h> +#include <linux/types.h> +#include <linux/stat.h> +#include "bcb.h" + +#define SLOT_NUM (unsigned int)2 +#define CRC_DATA_OFFSET \ + (uint32_t)(&(((struct boot_ctl *)0)->a_slot_meta[0])) + +struct slot_meta { + u8 bootsuc:1; + u8 tryremain:3; + u8 priority:4; +}; + +struct boot_ctl { + char magic[4]; /* "\0FSL" */ + u32 crc; + struct slot_meta a_slot_meta[SLOT_NUM]; + u8 recovery_tryremain; +}; char *select_slot(void); bool is_sotvar(char *cmd); void get_slotvar(char *cmd, char *response, size_t chars_left); void cb_set_active(struct usb_ep *ep, struct usb_request *req); const char *get_slot_suffix(void); - #endif |