\r
This file contains the definination for host controller register operation routines.\r
\r
-Copyright (c) 2007, Intel Corporation\r
+Copyright (c) 2007 - 2009, Intel Corporation\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
//\r
// PCI Configuration Registers\r
//\r
- EHC_PCI_CLASSC = 0x09,\r
- EHC_PCI_CLASSC_PI = 0x20,\r
EHC_BAR_INDEX = 0 /* how many bytes away from USB_BASE to 0x10 */\r
}EHCI_REGISTER_OFFSET;\r
\r
EhcReadCapRegister (\r
IN USB2_HC_DEV *Ehc,\r
IN UINT32 Offset\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
EhcReadOpReg (\r
IN USB2_HC_DEV *Ehc,\r
IN UINT32 Offset\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
@param Offset EHCI operation register offset.\r
@param Data The data to write.\r
\r
- @return None.\r
-\r
**/\r
VOID\r
EhcWriteOpReg (\r
IN USB2_HC_DEV *Ehc,\r
IN UINT32 Offset,\r
IN UINT32 Data\r
- )\r
-;\r
+ );\r
+\r
+/**\r
+ Set one bit of the operational register while keeping other bits.\r
+\r
+ @param Ehc The EHCI device.\r
+ @param Offset The offset of the operational register.\r
+ @param Bit The bit mask of the register to set.\r
+\r
+**/\r
+VOID\r
+EhcSetOpRegBit (\r
+ IN USB2_HC_DEV *Ehc,\r
+ IN UINT32 Offset,\r
+ IN UINT32 Bit\r
+ );\r
\r
+/**\r
+ Clear one bit of the operational register while keeping other bits.\r
+\r
+ @param Ehc The EHCI device.\r
+ @param Offset The offset of the operational register.\r
+ @param Bit The bit mask of the register to clear.\r
+\r
+**/\r
+VOID\r
+EhcClearOpRegBit (\r
+ IN USB2_HC_DEV *Ehc,\r
+ IN UINT32 Offset,\r
+ IN UINT32 Bit\r
+ );\r
\r
/**\r
Add support for UEFI Over Legacy (UoL) feature, stop\r
\r
@param Ehc The EHCI device.\r
\r
- @return None.\r
-\r
**/\r
VOID\r
EhcClearLegacySupport (\r
IN USB2_HC_DEV *Ehc\r
- )\r
-;\r
+ );\r
\r
\r
\r
EhcSetAndWaitDoorBell (\r
IN USB2_HC_DEV *Ehc,\r
IN UINT32 Timeout\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
\r
@param Ehc The EHCI device.\r
\r
- @return None.\r
-\r
**/\r
VOID\r
EhcAckAllInterrupt (\r
IN USB2_HC_DEV *Ehc\r
- )\r
-;\r
+ );\r
\r
\r
\r
BOOLEAN\r
EhcIsHalt (\r
IN USB2_HC_DEV *Ehc\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
BOOLEAN\r
EhcIsSysError (\r
IN USB2_HC_DEV *Ehc\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
EhcResetHC (\r
IN USB2_HC_DEV *Ehc,\r
IN UINT32 Timeout\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
EhcHaltHC (\r
IN USB2_HC_DEV *Ehc,\r
IN UINT32 Timeout\r
- )\r
-;\r
+ );\r
\r
\r
/**\r
EhcRunHC (\r
IN USB2_HC_DEV *Ehc,\r
IN UINT32 Timeout\r
- )\r
-;\r
+ );\r
\r
\r
\r
EFI_STATUS\r
EhcInitHC (\r
IN USB2_HC_DEV *Ehc\r
- )\r
-;\r
+ );\r
\r
#endif\r