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); }
static int exynos_xhci_core_init(struct exynos_xhci *exynos) { int ret; exynos5_usb3_phy_init(exynos->usb3_phy); ret = dwc3_core_init(exynos->dwc3_reg); if (ret) { debug("failed to initialize core\n"); return -EINVAL; } /* We are hard-coding DWC3 core to Host Mode */ dwc3_set_mode(exynos->dwc3_reg, DWC3_GCTL_PRTCAP_HOST); return 0; }