]> git.ipfire.org Git - people/ms/u-boot.git/blame - include/usb_mass_storage.h
Merge branch 'master' of git://git.denx.de/u-boot-arm
[people/ms/u-boot.git] / include / usb_mass_storage.h
CommitLineData
b528f713
ŁM
1/*
2 * Copyright (C) 2011 Samsung Electrnoics
3 * Lukasz Majewski <l.majewski@samsung.com>
4 *
1a459660 5 * SPDX-License-Identifier: GPL-2.0+
b528f713
ŁM
6 */
7
8#ifndef __USB_MASS_STORAGE_H__
9#define __USB_MASS_STORAGE_H__
10
11#define SECTOR_SIZE 0x200
b528f713 12#include <mmc.h>
ba4e95c9 13#include <linux/usb/composite.h>
b528f713 14
93c813b3
PM
15#ifndef UMS_START_SECTOR
16#define UMS_START_SECTOR 0
17#endif
b528f713 18
93c813b3
PM
19#ifndef UMS_NUM_SECTORS
20#define UMS_NUM_SECTORS 0
21#endif
22
23struct ums {
24 int (*read_sector)(struct ums *ums_dev,
b528f713 25 ulong start, lbaint_t blkcnt, void *buf);
93c813b3 26 int (*write_sector)(struct ums *ums_dev,
b528f713 27 ulong start, lbaint_t blkcnt, const void *buf);
0697f206
PM
28 unsigned int start_sector;
29 unsigned int num_sectors;
b528f713 30 const char *name;
93c813b3 31 struct mmc *mmc;
b528f713
ŁM
32};
33
93c813b3
PM
34extern struct ums *ums;
35
36int fsg_init(struct ums *);
16297cfb 37void fsg_cleanup(void);
93c813b3 38struct ums *ums_init(unsigned int);
16297cfb 39int fsg_main_thread(void *);
b528f713 40
ba4e95c9
ŁM
41#ifdef CONFIG_USB_GADGET_MASS_STORAGE
42int fsg_add(struct usb_configuration *c);
43#else
44int fsg_add(struct usb_configuration *c)
45{
46 return 0;
47}
48#endif
b528f713 49#endif /* __USB_MASS_STORAGE_H__ */