From: andrewfish Date: Fri, 5 Mar 2010 07:10:52 +0000 (+0000) Subject: Update USB init code to do a softreset. X-Git-Tag: edk2-stable201903~16128 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=51866b5465c1d316a66d7c697f7e14ee293e1064;hp=0c1a4aa69a1810ae053afa62c913e371d89a496e;ds=sidebyside Update USB init code to do a softreset. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10208 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/Omap35xxPkg/Include/Omap3530/Omap3530Usb.h b/Omap35xxPkg/Include/Omap3530/Omap3530Usb.h index 5ffaa9d8e4..73f7f7640f 100644 --- a/Omap35xxPkg/Include/Omap3530/Omap3530Usb.h +++ b/Omap35xxPkg/Include/Omap3530/Omap3530Usb.h @@ -26,6 +26,7 @@ #define UHH_SYSCONFIG_CLOCKACTIVITY_ON (1UL << 8) #define UHH_SYSCONFIG_SIDLEMODE_NO_STANDBY (1UL << 3) #define UHH_SYSCONFIG_ENAWAKEUP_ENABLE (1UL << 2) +#define UHH_SYSCONFIG_SOFTRESET (1UL << 1) #define UHH_SYSCONFIG_AUTOIDLE_ALWAYS_RUN (0UL << 0) #define UHH_HOSTCONFIG_P3_CONNECT_STATUS_DISCONNECT (0UL << 10) diff --git a/Omap35xxPkg/PciEmulation/PciEmulation.c b/Omap35xxPkg/PciEmulation/PciEmulation.c index bdba40353f..3e49f8a1bc 100644 --- a/Omap35xxPkg/PciEmulation/PciEmulation.c +++ b/Omap35xxPkg/PciEmulation/PciEmulation.c @@ -62,6 +62,12 @@ ConfigureUSBHost ( EFI_STATUS Status; UINT8 Data = 0; + // Do a softreset + MmioOr32 (UHH_SYSCONFIG, UHH_SYSCONFIG_SOFTRESET); + // When the bit clears reset is complete + while ((MmioRead32 (UHH_SYSCONFIG) & UHH_SYSCONFIG_SOFTRESET) == UHH_SYSCONFIG_SOFTRESET); + + // Take USB host out of force-standby mode MmioWrite32 (UHH_SYSCONFIG, UHH_SYSCONFIG_MIDLEMODE_NO_STANDBY | UHH_SYSCONFIG_CLOCKACTIVITY_ON