Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
chipidea.h
Go to the documentation of this file.
1 /*
2  * Platform data for the chipidea USB dual role controller
3  */
4 
5 #ifndef __LINUX_USB_CHIPIDEA_H
6 #define __LINUX_USB_CHIPIDEA_H
7 
8 #include <linux/usb/otg.h>
9 
10 struct ci13xxx;
12  const char *name;
13  /* offset of the capability registers */
15  unsigned power_budget;
16  struct usb_phy *phy;
17  unsigned long flags;
18 #define CI13XXX_REGS_SHARED BIT(0)
19 #define CI13XXX_REQUIRE_TRANSCEIVER BIT(1)
20 #define CI13XXX_PULLUP_ON_VBUS BIT(2)
21 #define CI13XXX_DISABLE_STREAMING BIT(3)
22 
23 #define CI13XXX_CONTROLLER_RESET_EVENT 0
24 #define CI13XXX_CONTROLLER_STOPPED_EVENT 1
25  void (*notify_event) (struct ci13xxx *ci, unsigned event);
26 };
27 
28 /* Default offset of capability registers */
29 #define DEF_CAPOFFSET 0x100
30 
31 /* Add ci13xxx device */
33  struct resource *res, int nres,
34  struct ci13xxx_platform_data *platdata);
35 /* Remove ci13xxx device */
36 void ci13xxx_remove_device(struct platform_device *pdev);
37 
38 #endif