// /** @file
// I2c Dxe driver includes both I2c Bus and Host functionality.
//
// This driver produce I2C Host Protocol on I2C controller handle, enumerate I2C
// devices on I2C bus and produce I2C IO Protocol on I2C devices.
//
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/


#string STR_MODULE_ABSTRACT             #language en-US "This driver produce I2C Host Protocol on I2C controller handle, enumerate I2C devices on I2C bus and produce I2C IO Protocol on I2C devices."

#string STR_MODULE_DESCRIPTION          #language en-US "This driver produce I2C Host Protocol on I2C controller handle, enumerate I2C devices on I2C bus and produce I2C IO Protocol on I2C devices."

