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/20170414.042831~37 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d3f4f0a4f8f37d7565bdc744863d15f68eeafa27;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 cb4328ea5a..69bbbea701 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; @@ -98,6 +104,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;