X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=drivers%2Fusb%2Fhost%2Fehci-omap.c;h=086c6978e197d3a799f763f15053f1519e2a105a;hb=612404c28a64a6df300642a1550a65dcc8e01f82;hp=00f787fc9701c8e5b71a38cf59b6cd8e1c8ef00b;hpb=e390e8709149664ff96cf19384264c84573f3082;p=u-boot diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c index 00f787fc97..086c6978e1 100644 --- a/drivers/usb/host/ehci-omap.c +++ b/drivers/usb/host/ehci-omap.c @@ -33,7 +33,8 @@ #include #include #include -#include "ehci-core.h" + +#include "ehci.h" static struct omap_uhh *const uhh = (struct omap_uhh *)OMAP_UHH_BASE; static struct omap_usbtll *const usbtll = (struct omap_usbtll *)OMAP_USBTLL_BASE; @@ -155,7 +156,8 @@ int omap_ehci_hcd_stop(void) * Based on "drivers/usb/host/ehci-omap.c" from Linux 3.1 * See there for additional Copyrights. */ -int omap_ehci_hcd_init(struct omap_usbhs_board_data *usbhs_pdata) +int omap_ehci_hcd_init(struct omap_usbhs_board_data *usbhs_pdata, + struct ehci_hccr **hccr, struct ehci_hcor **hcor) { int ret; unsigned int i, reg = 0, rev = 0; @@ -200,12 +202,12 @@ int omap_ehci_hcd_init(struct omap_usbhs_board_data *usbhs_pdata) if (is_ehci_phy_mode(usbhs_pdata->port_mode[1])) clrbits_le32(®, OMAP_UHH_HOSTCONFIG_ULPI_P2_BYPASS); else - setbits_le32(®, OMAP_UHH_HOSTCONFIG_ULPI_P1_BYPASS); + setbits_le32(®, OMAP_UHH_HOSTCONFIG_ULPI_P2_BYPASS); if (is_ehci_phy_mode(usbhs_pdata->port_mode[2])) clrbits_le32(®, OMAP_UHH_HOSTCONFIG_ULPI_P3_BYPASS); else - setbits_le32(®, OMAP_UHH_HOSTCONFIG_ULPI_P1_BYPASS); + setbits_le32(®, OMAP_UHH_HOSTCONFIG_ULPI_P3_BYPASS); } else if (rev == OMAP_USBHS_REV2) { clrsetbits_le32(®, (OMAP_P1_MODE_CLEAR | OMAP_P2_MODE_CLEAR), OMAP4_UHH_HOSTCONFIG_APP_START_CLK); @@ -246,9 +248,8 @@ int omap_ehci_hcd_init(struct omap_usbhs_board_data *usbhs_pdata) if (is_ehci_phy_mode(usbhs_pdata->port_mode[i])) omap_ehci_soft_phy_reset(i); - dcache_disable(); - hccr = (struct ehci_hccr *)(OMAP_EHCI_BASE); - hcor = (struct ehci_hcor *)(OMAP_EHCI_BASE + 0x10); + *hccr = (struct ehci_hccr *)(OMAP_EHCI_BASE); + *hcor = (struct ehci_hcor *)(OMAP_EHCI_BASE + 0x10); debug("OMAP EHCI init done\n"); return 0;