Commit | Line | Data |
---|---|---|
e443b333 AS |
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 | ||
a2c3d690 RZ |
8 | #include <linux/usb/otg.h> |
9 | ||
e443b333 | 10 | struct ci13xxx; |
77c4400f | 11 | struct ci13xxx_platform_data { |
e443b333 AS |
12 | const char *name; |
13 | /* offset of the capability registers */ | |
14 | uintptr_t capoffset; | |
bd841986 | 15 | unsigned power_budget; |
a2c3d690 | 16 | struct usb_phy *phy; |
e443b333 AS |
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 | |
26c696c6 | 25 | void (*notify_event) (struct ci13xxx *ci, unsigned event); |
e443b333 AS |
26 | }; |
27 | ||
28 | /* Default offset of capability registers */ | |
29 | #define DEF_CAPOFFSET 0x100 | |
30 | ||
cbc6dc2a RZ |
31 | /* Add ci13xxx device */ |
32 | struct platform_device *ci13xxx_add_device(struct device *dev, | |
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 | ||
e443b333 | 38 | #endif |