summaryrefslogtreecommitdiffstats
path: root/include/linux/usb
diff options
context:
space:
mode:
authorAlexander Shishkin <alexander.shishkin@linux.intel.com>2012-05-11 17:25:46 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-05-11 16:49:51 -0700
commite443b333629f82ca0da91a05ca638050943bbedd (patch)
treed8c2cbf06e7faeef2c062b01271f8987cca23459 /include/linux/usb
parentbc25a80d12ea971ddd652717150058989b1ad474 (diff)
downloadlinux-e443b333629f82ca0da91a05ca638050943bbedd.tar.gz
linux-e443b333629f82ca0da91a05ca638050943bbedd.tar.bz2
linux-e443b333629f82ca0da91a05ca638050943bbedd.zip
usb: chipidea: split the driver code into units
Split the driver into the following parts: * core -- resources, register access, capabilities, etc; * udc -- device controller functionality; * debug -- logging events. Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/usb')
-rw-r--r--include/linux/usb/chipidea.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/linux/usb/chipidea.h b/include/linux/usb/chipidea.h
new file mode 100644
index 000000000000..86273ce5f554
--- /dev/null
+++ b/include/linux/usb/chipidea.h
@@ -0,0 +1,27 @@
+/*
+ * Platform data for the chipidea USB dual role controller
+ */
+
+#ifndef __LINUX_USB_CHIPIDEA_H
+#define __LINUX_USB_CHIPIDEA_H
+
+struct ci13xxx;
+struct ci13xxx_udc_driver {
+ const char *name;
+ /* offset of the capability registers */
+ uintptr_t capoffset;
+ unsigned long flags;
+#define CI13XXX_REGS_SHARED BIT(0)
+#define CI13XXX_REQUIRE_TRANSCEIVER BIT(1)
+#define CI13XXX_PULLUP_ON_VBUS BIT(2)
+#define CI13XXX_DISABLE_STREAMING BIT(3)
+
+#define CI13XXX_CONTROLLER_RESET_EVENT 0
+#define CI13XXX_CONTROLLER_STOPPED_EVENT 1
+ void (*notify_event) (struct ci13xxx *udc, unsigned event);
+};
+
+/* Default offset of capability registers */
+#define DEF_CAPOFFSET 0x100
+
+#endif