blob: 86273ce5f55447d6fdfa794301cb00baab367170 [file] [log] [blame]
Alexander Shishkine443b332012-05-11 17:25:46 +03001/*
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
8struct ci13xxx;
9struct ci13xxx_udc_driver {
10 const char *name;
11 /* offset of the capability registers */
12 uintptr_t capoffset;
13 unsigned long flags;
14#define CI13XXX_REGS_SHARED BIT(0)
15#define CI13XXX_REQUIRE_TRANSCEIVER BIT(1)
16#define CI13XXX_PULLUP_ON_VBUS BIT(2)
17#define CI13XXX_DISABLE_STREAMING BIT(3)
18
19#define CI13XXX_CONTROLLER_RESET_EVENT 0
20#define CI13XXX_CONTROLLER_STOPPED_EVENT 1
21 void (*notify_event) (struct ci13xxx *udc, unsigned event);
22};
23
24/* Default offset of capability registers */
25#define DEF_CAPOFFSET 0x100
26
27#endif