Blame view

include/usb_mass_storage.h 1.08 KB
b528f7139   Lukasz Majewski   usb:gadget: USB M...
1
2
3
4
  /*
   * Copyright (C) 2011 Samsung Electrnoics
   * Lukasz Majewski <l.majewski@samsung.com>
   *
1a4596601   Wolfgang Denk   Add GPL-2.0+ SPDX...
5
   * SPDX-License-Identifier:	GPL-2.0+
b528f7139   Lukasz Majewski   usb:gadget: USB M...
6
7
8
9
10
11
   */
  
  #ifndef __USB_MASS_STORAGE_H__
  #define __USB_MASS_STORAGE_H__
  
  #define SECTOR_SIZE		0x200
b528f7139   Lukasz Majewski   usb:gadget: USB M...
12
  #include <mmc.h>
ba4e95c9f   Lukasz Majewski   usb:g_dnl:ums: Co...
13
  #include <linux/usb/composite.h>
b528f7139   Lukasz Majewski   usb:gadget: USB M...
14

93c813b3a   Przemyslaw Marczak   usb: ums: code re...
15
16
17
  #ifndef UMS_START_SECTOR
  #define UMS_START_SECTOR	0
  #endif
b528f7139   Lukasz Majewski   usb:gadget: USB M...
18

93c813b3a   Przemyslaw Marczak   usb: ums: code re...
19
20
21
  #ifndef UMS_NUM_SECTORS
  #define UMS_NUM_SECTORS		0
  #endif
3603e31db   Przemyslaw Marczak   usb: ums: wait fo...
22
23
  /* Wait at maximum 60 seconds for cable connection */
  #define UMS_CABLE_READY_TIMEOUT	60
93c813b3a   Przemyslaw Marczak   usb: ums: code re...
24
25
  struct ums {
  	int (*read_sector)(struct ums *ums_dev,
b528f7139   Lukasz Majewski   usb:gadget: USB M...
26
  			   ulong start, lbaint_t blkcnt, void *buf);
93c813b3a   Przemyslaw Marczak   usb: ums: code re...
27
  	int (*write_sector)(struct ums *ums_dev,
b528f7139   Lukasz Majewski   usb:gadget: USB M...
28
  			    ulong start, lbaint_t blkcnt, const void *buf);
0697f206d   Przemyslaw Marczak   usb: ums: fix dis...
29
30
  	unsigned int start_sector;
  	unsigned int num_sectors;
b528f7139   Lukasz Majewski   usb:gadget: USB M...
31
  	const char *name;
93c813b3a   Przemyslaw Marczak   usb: ums: code re...
32
  	struct mmc *mmc;
b528f7139   Lukasz Majewski   usb:gadget: USB M...
33
  };
93c813b3a   Przemyslaw Marczak   usb: ums: code re...
34
35
36
  extern struct ums *ums;
  
  int fsg_init(struct ums *);
16297cfb2   Mateusz Zalega   usb: new board-sp...
37
  void fsg_cleanup(void);
93c813b3a   Przemyslaw Marczak   usb: ums: code re...
38
  struct ums *ums_init(unsigned int);
16297cfb2   Mateusz Zalega   usb: new board-sp...
39
  int fsg_main_thread(void *);
b528f7139   Lukasz Majewski   usb:gadget: USB M...
40

ba4e95c9f   Lukasz Majewski   usb:g_dnl:ums: Co...
41
42
43
44
45
46
47
48
  #ifdef CONFIG_USB_GADGET_MASS_STORAGE
  int fsg_add(struct usb_configuration *c);
  #else
  int fsg_add(struct usb_configuration *c)
  {
  	return 0;
  }
  #endif
b528f7139   Lukasz Majewski   usb:gadget: USB M...
49
  #endif /* __USB_MASS_STORAGE_H__ */