From 51866b5465c1d316a66d7c697f7e14ee293e1064 Mon Sep 17 00:00:00 2001 From: andrewfish Date: Fri, 5 Mar 2010 07:10:52 +0000 Subject: [PATCH 1/1] 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 --- Omap35xxPkg/Include/Omap3530/Omap3530Usb.h | 1 + Omap35xxPkg/PciEmulation/PciEmulation.c | 6 ++++++ 2 files changed, 7 insertions(+) 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 -- 2.39.2