summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget/bootctrl.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/gadget/bootctrl.h')
-rw-r--r--drivers/usb/gadget/bootctrl.h24
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