From: Lukasz Majewski Date: Thu, 12 May 2016 11:17:03 +0000 (+0200) Subject: TPL: TM2: usb3: Provide board specific code to support DWC3 controller X-Git-Tag: submit/tizen/20160810.050017~19 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=41ab43e491620ea5281c0441773ea1bb1bee4e64;p=platform%2Fkernel%2Fu-boot.git TPL: TM2: usb3: Provide board specific code to support DWC3 controller Signed-off-by: Lukasz Majewski --- diff --git a/board/samsung/tm2/tm2.c b/board/samsung/tm2/tm2.c index f71b3ac941..e2b6c8e9cd 100644 --- a/board/samsung/tm2/tm2.c +++ b/board/samsung/tm2/tm2.c @@ -7,8 +7,14 @@ #include #include #include +#include #include #include +#include +#include +#include +#include +#include DECLARE_GLOBAL_DATA_PTR; @@ -96,6 +102,37 @@ int board_mmc_init(bd_t *bis) } #endif +#ifdef CONFIG_USB_DWC3 +static struct dwc3_device dwc3_device_data = { + .maximum_speed = USB_SPEED_SUPER, + .base = 0x15400000, + .dr_mode = USB_DR_MODE_PERIPHERAL, + .index = 0, +}; + +int usb_gadget_handle_interrupts(void) +{ + dwc3_uboot_handle_interrupt(0); + return 0; +} + +int board_usb_init(int index, enum usb_init_type init) +{ + struct exynos_usb3_phy *phy = (struct exynos_usb3_phy *) + samsung_get_base_usb3_phy(); + + if (!phy) { + error("usb3 phy not supported"); + return -ENODEV; + } + + set_usbdrd_phy_ctrl(POWER_USB_DRD_PHY_CTRL_EN); + exynos5_usb3_phy_init(phy); + + return dwc3_uboot_init(&dwc3_device_data); +} +#endif + int checkboard(void) { const char *board_info;