Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
[pandora-kernel.git] / include / linux / platform_data / mv_usb.h
diff --git a/include/linux/platform_data/mv_usb.h b/include/linux/platform_data/mv_usb.h
new file mode 100644 (file)
index 0000000..e9d9149
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2011 Marvell International Ltd. All rights reserved.
+ *
+ * This program is free software; you can redistribute  it and/or modify it
+ * under  the terms of  the GNU General  Public License as published by the
+ * Free Software Foundation;  either version 2 of the  License, or (at your
+ * option) any later version.
+ */
+
+#ifndef __MV_PLATFORM_USB_H
+#define __MV_PLATFORM_USB_H
+
+enum pxa_ehci_type {
+       EHCI_UNDEFINED = 0,
+       PXA_U2OEHCI,    /* pxa 168, 9xx */
+       PXA_SPH,        /* pxa 168, 9xx SPH */
+       MMP3_HSIC,      /* mmp3 hsic */
+       MMP3_FSIC,      /* mmp3 fsic */
+};
+
+enum {
+       MV_USB_MODE_OTG,
+       MV_USB_MODE_HOST,
+};
+
+enum {
+       VBUS_LOW        = 0,
+       VBUS_HIGH       = 1 << 0,
+};
+
+struct mv_usb_addon_irq {
+       unsigned int    irq;
+       int             (*poll)(void);
+};
+
+struct mv_usb_platform_data {
+       unsigned int            clknum;
+       char                    **clkname;
+       struct mv_usb_addon_irq *id;    /* Only valid for OTG. ID pin change*/
+       struct mv_usb_addon_irq *vbus;  /* valid for OTG/UDC. VBUS change*/
+
+       /* only valid for HCD. OTG or Host only*/
+       unsigned int            mode;
+
+       int     (*phy_init)(unsigned int regbase);
+       void    (*phy_deinit)(unsigned int regbase);
+       int     (*set_vbus)(unsigned int vbus);
+};
+
+#endif