2 * Copyright (C) 2011 Marvell International Ltd. All rights reserved.
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
10 #ifndef __MV_PLATFORM_USB_H
11 #define __MV_PLATFORM_USB_H
15 PXA_U2OEHCI
, /* pxa 168, 9xx */
16 PXA_SPH
, /* pxa 168, 9xx SPH */
17 MMP3_HSIC
, /* mmp3 hsic */
18 MMP3_FSIC
, /* mmp3 fsic */
31 struct mv_usb_addon_irq
{
36 struct mv_usb_platform_data
{
39 struct mv_usb_addon_irq
*id
; /* Only valid for OTG. ID pin change*/
40 struct mv_usb_addon_irq
*vbus
; /* valid for OTG/UDC. VBUS change*/
42 /* only valid for HCD. OTG or Host only*/
45 /* This flag is used for that needs id pin checked by otg */
46 unsigned int disable_otg_clock_gating
:1;
47 /* Force a_bus_req to be asserted */
48 unsigned int otg_force_a_bus_req
:1;
50 int (*phy_init
)(void __iomem
*regbase
);
51 void (*phy_deinit
)(void __iomem
*regbase
);
52 int (*set_vbus
)(unsigned int vbus
);
53 int (*private_init
)(void __iomem
*opregs
, void __iomem
*phyregs
);
56 #ifndef CONFIG_HAVE_CLK
57 /* Dummy stub for clk framework */
58 #define clk_get(dev, id) NULL
59 #define clk_put(clock) do {} while (0)
60 #define clk_enable(clock) do {} while (0)
61 #define clk_disable(clock) do {} while (0)