#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/usb/otg.h>
#include <linux/platform_data/mv_usb.h>
#include <linux/usb/hcd.h>
#define U2x_CAPREGS_OFFSET 0x100
#define CAPLENGTH_MASK (0xff)
#define hcd_to_ehci_hcd_mv(h) ((struct ehci_hcd_mv *)hcd_to_ehci(h)->priv)
int (*set_vbus)(unsigned int vbus);
static void ehci_clock_enable(struct ehci_hcd_mv *ehci_mv)
clk_prepare_enable(ehci_mv->clk);
static void ehci_clock_disable(struct ehci_hcd_mv *ehci_mv)
clk_disable_unprepare(ehci_mv->clk);
static int mv_ehci_enable(struct ehci_hcd_mv *ehci_mv)
ehci_clock_enable(ehci_mv);
return phy_init(ehci_mv->phy);
static void mv_ehci_disable(struct ehci_hcd_mv *ehci_mv)
ehci_clock_disable(ehci_mv);