/** @file\r
I2C Host Protocol as defined in the PI 1.3 specification.\r
\r
- This protocol provides callers with the ability to do I/O transactions \r
+ This protocol provides callers with the ability to do I/O transactions\r
to all of the devices on the I2C bus.\r
\r
- Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>\r
- 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
- http://opensource.org/licenses/bsd-license.php \r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+ Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
@par Revision Reference:\r
This protocol is from PI Version 1.3.\r
This routine must be called at or below TPL_NOTIFY. For\r
synchronous requests this routine must be called at or below\r
TPL_CALLBACK.\r
- \r
+\r
The I2C host protocol uses the concept of I2C bus configurations\r
to describe the I2C bus. An I2C bus configuration is defined as\r
a unique setting of the multiplexers and switches in the I2C bus\r
the I2C host protocol calls the I2C master protocol to start the\r
I2C transaction.\r
\r
- If the I2C host protocol has pending I2C transactions queued when\r
- the driver binding Stop() routine is called then the I2C host\r
- protocol completes all of the pending I2C transactions by returning\r
- EFI_ABORTED status. This notifies the upper layers allowing them\r
- to take corrective action or prepare to stop.\r
-\r
When Event is NULL, QueueRequest() operates synchronously and\r
returns the I2C completion status as its return value.\r
\r
queued when Event is not NULL.\r
@retval EFI_SUCCESS The transaction completed successfully when\r
Event is NULL.\r
- @retval EFI_ABORTED The request did not complete because the\r
- driver binding Stop() routine was called.\r
@retval EFI_BAD_BUFFER_SIZE The RequestPacket->LengthInBytes value is\r
too large.\r
@retval EFI_DEVICE_ERROR There was an I2C error (NACK) during the\r