xref: /linux/include/linux/usb/chipidea.h (revision d97b46a64674a267bc41c9e16132ee2a98c3347d)
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 struct ci13xxx;
9 struct ci13xxx_udc_driver {
10 	const char	*name;
11 	/* offset of the capability registers */
12 	uintptr_t	 capoffset;
13 	unsigned	 power_budget;
14 	unsigned long	 flags;
15 #define CI13XXX_REGS_SHARED		BIT(0)
16 #define CI13XXX_REQUIRE_TRANSCEIVER	BIT(1)
17 #define CI13XXX_PULLUP_ON_VBUS		BIT(2)
18 #define CI13XXX_DISABLE_STREAMING	BIT(3)
19 
20 #define CI13XXX_CONTROLLER_RESET_EVENT		0
21 #define CI13XXX_CONTROLLER_STOPPED_EVENT	1
22 	void	(*notify_event) (struct ci13xxx *udc, unsigned event);
23 };
24 
25 /* Default offset of capability registers */
26 #define DEF_CAPOFFSET		0x100
27 
28 #endif
29