diff options
Diffstat (limited to 'roms/u-boot/include/usb_mass_storage.h')
-rw-r--r-- | roms/u-boot/include/usb_mass_storage.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/roms/u-boot/include/usb_mass_storage.h b/roms/u-boot/include/usb_mass_storage.h new file mode 100644 index 00000000..ed460644 --- /dev/null +++ b/roms/u-boot/include/usb_mass_storage.h @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2011 Samsung Electrnoics + * Lukasz Majewski <l.majewski@samsung.com> + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef __USB_MASS_STORAGE_H__ +#define __USB_MASS_STORAGE_H__ + +#define SECTOR_SIZE 0x200 +#include <mmc.h> +#include <linux/usb/composite.h> + +#ifndef UMS_START_SECTOR +#define UMS_START_SECTOR 0 +#endif + +#ifndef UMS_NUM_SECTORS +#define UMS_NUM_SECTORS 0 +#endif + +/* Wait at maximum 60 seconds for cable connection */ +#define UMS_CABLE_READY_TIMEOUT 60 + +struct ums { + int (*read_sector)(struct ums *ums_dev, + ulong start, lbaint_t blkcnt, void *buf); + int (*write_sector)(struct ums *ums_dev, + ulong start, lbaint_t blkcnt, const void *buf); + unsigned int start_sector; + unsigned int num_sectors; + const char *name; + struct mmc *mmc; +}; + +extern struct ums *ums; + +int fsg_init(struct ums *); +void fsg_cleanup(void); +struct ums *ums_init(unsigned int); +int fsg_main_thread(void *); +int fsg_add(struct usb_configuration *c); +#endif /* __USB_MASS_STORAGE_H__ */ |