#include <Protocol/I2cBusConfigurationManagement.h>\r
#include <Protocol/LoadedImage.h>\r
\r
-#define I2C_DEVICE_SIGNATURE SIGNATURE_32 ('I', '2', 'C', 'D')\r
-#define I2C_HOST_SIGNATURE SIGNATURE_32 ('I', '2', 'C', 'H')\r
-#define I2C_REQUEST_SIGNATURE SIGNATURE_32 ('I', '2', 'C', 'R')\r
+#define I2C_DEVICE_SIGNATURE SIGNATURE_32 ('I', '2', 'C', 'D')\r
+#define I2C_HOST_SIGNATURE SIGNATURE_32 ('I', '2', 'C', 'H')\r
+#define I2C_REQUEST_SIGNATURE SIGNATURE_32 ('I', '2', 'C', 'R')\r
\r
//\r
// Synchronize access to the list of requests\r
//\r
-#define TPL_I2C_SYNC TPL_NOTIFY\r
+#define TPL_I2C_SYNC TPL_NOTIFY\r
\r
//\r
// I2C bus context\r
//\r
typedef struct {\r
- EFI_I2C_ENUMERATE_PROTOCOL *I2cEnumerate;\r
- EFI_I2C_HOST_PROTOCOL *I2cHost;\r
- EFI_HANDLE Controller;\r
- EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath;\r
- EFI_HANDLE DriverBindingHandle;\r
+ EFI_I2C_ENUMERATE_PROTOCOL *I2cEnumerate;\r
+ EFI_I2C_HOST_PROTOCOL *I2cHost;\r
+ EFI_HANDLE Controller;\r
+ EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath;\r
+ EFI_HANDLE DriverBindingHandle;\r
} I2C_BUS_CONTEXT;\r
\r
//\r
//\r
// Structure identification\r
//\r
- UINT32 Signature;\r
+ UINT32 Signature;\r
\r
//\r
// I2c device handle\r
//\r
- EFI_HANDLE Handle;\r
+ EFI_HANDLE Handle;\r
\r
//\r
// Upper level API to support the I2C device I/O\r
//\r
- EFI_I2C_IO_PROTOCOL I2cIo;\r
+ EFI_I2C_IO_PROTOCOL I2cIo;\r
\r
//\r
// Device path for this device\r
//\r
- EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
+ EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
\r
//\r
// Platform specific data for this device\r
//\r
- CONST EFI_I2C_DEVICE *I2cDevice;\r
+ CONST EFI_I2C_DEVICE *I2cDevice;\r
\r
//\r
// Context for the common I/O support including the\r
// lower level API to the host controller.\r
//\r
- I2C_BUS_CONTEXT *I2cBusContext;\r
+ I2C_BUS_CONTEXT *I2cBusContext;\r
} I2C_DEVICE_CONTEXT;\r
\r
-#define I2C_DEVICE_CONTEXT_FROM_PROTOCOL(a) CR (a, I2C_DEVICE_CONTEXT, I2cIo, I2C_DEVICE_SIGNATURE)\r
+#define I2C_DEVICE_CONTEXT_FROM_PROTOCOL(a) CR (a, I2C_DEVICE_CONTEXT, I2cIo, I2C_DEVICE_SIGNATURE)\r
\r
//\r
// I2C Request\r
//\r
// Signature\r
//\r
- UINT32 Signature;\r
+ UINT32 Signature;\r
\r
//\r
// Next request in the pending request list\r
//\r
- LIST_ENTRY Link;\r
+ LIST_ENTRY Link;\r
\r
//\r
// I2C bus configuration for the operation\r
//\r
- UINTN I2cBusConfiguration;\r
+ UINTN I2cBusConfiguration;\r
\r
//\r
// I2C slave address for the operation\r
//\r
- UINTN SlaveAddress;\r
+ UINTN SlaveAddress;\r
\r
//\r
// Event to set for asynchronous operations, NULL for\r
// synchronous operations\r
//\r
- EFI_EVENT Event;\r
+ EFI_EVENT Event;\r
\r
//\r
// I2C operation description\r
//\r
- EFI_I2C_REQUEST_PACKET *RequestPacket;\r
+ EFI_I2C_REQUEST_PACKET *RequestPacket;\r
\r
//\r
// Optional buffer to receive the I2C operation completion status\r
//\r
- EFI_STATUS *Status;\r
+ EFI_STATUS *Status;\r
} I2C_REQUEST;\r
\r
-#define I2C_REQUEST_FROM_ENTRY(a) CR (a, I2C_REQUEST, Link, I2C_REQUEST_SIGNATURE);\r
+#define I2C_REQUEST_FROM_ENTRY(a) CR (a, I2C_REQUEST, Link, I2C_REQUEST_SIGNATURE);\r
\r
//\r
// I2C host context\r
//\r
// Structure identification\r
//\r
- UINTN Signature;\r
+ UINTN Signature;\r
\r
//\r
// Current I2C bus configuration\r
//\r
- UINTN I2cBusConfiguration;\r
+ UINTN I2cBusConfiguration;\r
\r
//\r
// I2C bus configuration management event\r
//\r
- EFI_EVENT I2cBusConfigurationEvent;\r
+ EFI_EVENT I2cBusConfigurationEvent;\r
\r
//\r
// I2C operation completion event\r
//\r
- EFI_EVENT I2cEvent;\r
+ EFI_EVENT I2cEvent;\r
\r
//\r
// I2C operation and I2C bus configuration management status\r
//\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
//\r
// I2C bus configuration management operation pending\r
//\r
- BOOLEAN I2cBusConfigurationManagementPending;\r
+ BOOLEAN I2cBusConfigurationManagementPending;\r
\r
//\r
// I2C request list maintained by I2C Host\r
//\r
- LIST_ENTRY RequestList;\r
+ LIST_ENTRY RequestList;\r
\r
//\r
// Upper level API\r
//\r
- EFI_I2C_HOST_PROTOCOL I2cHost;\r
+ EFI_I2C_HOST_PROTOCOL I2cHost;\r
\r
//\r
// I2C bus configuration management protocol\r
//\r
- EFI_I2C_BUS_CONFIGURATION_MANAGEMENT_PROTOCOL *I2cBusConfigurationManagement;\r
+ EFI_I2C_BUS_CONFIGURATION_MANAGEMENT_PROTOCOL *I2cBusConfigurationManagement;\r
\r
//\r
// Lower level API for I2C master (controller)\r
//\r
- EFI_I2C_MASTER_PROTOCOL *I2cMaster;\r
+ EFI_I2C_MASTER_PROTOCOL *I2cMaster;\r
} I2C_HOST_CONTEXT;\r
\r
-#define I2C_HOST_CONTEXT_FROM_PROTOCOL(a) CR (a, I2C_HOST_CONTEXT, I2cHost, I2C_HOST_SIGNATURE)\r
+#define I2C_HOST_CONTEXT_FROM_PROTOCOL(a) CR (a, I2C_HOST_CONTEXT, I2cHost, I2C_HOST_SIGNATURE)\r
\r
//\r
// Global Variables\r
//\r
-extern EFI_COMPONENT_NAME_PROTOCOL gI2cBusComponentName;\r
-extern EFI_COMPONENT_NAME2_PROTOCOL gI2cBusComponentName2;\r
-extern EFI_DRIVER_BINDING_PROTOCOL gI2cBusDriverBinding;\r
+extern EFI_COMPONENT_NAME_PROTOCOL gI2cBusComponentName;\r
+extern EFI_COMPONENT_NAME2_PROTOCOL gI2cBusComponentName2;\r
+extern EFI_DRIVER_BINDING_PROTOCOL gI2cBusDriverBinding;\r
\r
-extern EFI_COMPONENT_NAME_PROTOCOL gI2cHostComponentName;\r
-extern EFI_COMPONENT_NAME2_PROTOCOL gI2cHostComponentName2;\r
-extern EFI_DRIVER_BINDING_PROTOCOL gI2cHostDriverBinding;\r
+extern EFI_COMPONENT_NAME_PROTOCOL gI2cHostComponentName;\r
+extern EFI_COMPONENT_NAME2_PROTOCOL gI2cHostComponentName2;\r
+extern EFI_DRIVER_BINDING_PROTOCOL gI2cHostDriverBinding;\r
\r
/**\r
Start the I2C driver\r
EFI_STATUS\r
RegisterI2cDevice (\r
IN I2C_BUS_CONTEXT *I2cBus,\r
- IN EFI_HANDLE Controller,\r
+ IN EFI_HANDLE Controller,\r
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
);\r
\r
**/\r
EFI_STATUS\r
UnRegisterI2cDevice (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE Controller,\r
- IN EFI_HANDLE Handle\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Controller,\r
+ IN EFI_HANDLE Handle\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
I2cBusDevicePathAppend (\r
- IN I2C_DEVICE_CONTEXT *I2cDeviceContext,\r
- IN BOOLEAN BuildControllerNode\r
+ IN I2C_DEVICE_CONTEXT *I2cDeviceContext,\r
+ IN BOOLEAN BuildControllerNode\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
I2cBusComponentNameGetDriverName (\r
- IN EFI_COMPONENT_NAME2_PROTOCOL *This,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **DriverName\r
+ IN EFI_COMPONENT_NAME2_PROTOCOL *This,\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **DriverName\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
I2cBusComponentNameGetControllerName (\r
- IN EFI_COMPONENT_NAME2_PROTOCOL *This,\r
- IN EFI_HANDLE ControllerHandle,\r
- IN EFI_HANDLE ChildHandle OPTIONAL,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **ControllerName\r
+ IN EFI_COMPONENT_NAME2_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN EFI_HANDLE ChildHandle OPTIONAL,\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **ControllerName\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-InitializeI2cBus(\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
+InitializeI2cBus (\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
I2cBusUnload (\r
- IN EFI_HANDLE ImageHandle\r
+ IN EFI_HANDLE ImageHandle\r
);\r
\r
/**\r
**/\r
VOID\r
ReleaseI2cDeviceContext (\r
- IN I2C_DEVICE_CONTEXT *I2cDeviceContext\r
+ IN I2C_DEVICE_CONTEXT *I2cDeviceContext\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
I2cHostRequestComplete (\r
- I2C_HOST_CONTEXT *I2cHost,\r
- EFI_STATUS Status\r
+ I2C_HOST_CONTEXT *I2cHost,\r
+ EFI_STATUS Status\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
I2cHostRequestEnable (\r
- I2C_HOST_CONTEXT *I2cHost\r
+ I2C_HOST_CONTEXT *I2cHost\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
I2cHostDriverStart (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE Controller,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Controller,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
I2cHostDriverStop (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE Controller,\r
- IN UINTN NumberOfChildren,\r
- IN EFI_HANDLE *ChildHandleBuffer\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Controller,\r
+ IN UINTN NumberOfChildren,\r
+ IN EFI_HANDLE *ChildHandleBuffer\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
I2cHostComponentNameGetDriverName (\r
- IN EFI_COMPONENT_NAME2_PROTOCOL *This,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **DriverName\r
+ IN EFI_COMPONENT_NAME2_PROTOCOL *This,\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **DriverName\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
I2cHostComponentNameGetControllerName (\r
- IN EFI_COMPONENT_NAME2_PROTOCOL *This,\r
- IN EFI_HANDLE ControllerHandle,\r
- IN EFI_HANDLE ChildHandle OPTIONAL,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **ControllerName\r
+ IN EFI_COMPONENT_NAME2_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN EFI_HANDLE ChildHandle OPTIONAL,\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **ControllerName\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
I2cHostRequestCompleteEvent (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
I2cHostI2cBusConfigurationAvailable (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
EFIAPI\r
-InitializeI2cHost(\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
+InitializeI2cHost (\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
I2cHostUnload (\r
- IN EFI_HANDLE ImageHandle\r
+ IN EFI_HANDLE ImageHandle\r
);\r
\r
-#endif // __I2C_DXE_H__\r
+#endif // __I2C_DXE_H__\r