X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=Vlv2TbltDevicePkg%2FInclude%2FProtocol%2FI2cSlave.h;fp=Vlv2TbltDevicePkg%2FInclude%2FProtocol%2FI2cSlave.h;h=0000000000000000000000000000000000000000;hp=64cb2b73988845a78b493dcabadf0b95fc6f9464;hb=5347c48016f27061475fdb053e867a06ce73492f;hpb=96ef5a8e30a8da33eaab09f13cc8d752342717a5
diff --git a/Vlv2TbltDevicePkg/Include/Protocol/I2cSlave.h b/Vlv2TbltDevicePkg/Include/Protocol/I2cSlave.h
deleted file mode 100644
index 64cb2b7398..0000000000
--- a/Vlv2TbltDevicePkg/Include/Protocol/I2cSlave.h
+++ /dev/null
@@ -1,194 +0,0 @@
-/*++
-
- Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.
-
- SPDX-License-Identifier: BSD-2-Clause-Patent
-
-
-
-
-**/
-
-#ifndef __I2C_SLAVE_H__
-#define __I2C_SLAVE_H__
-
-#include
-
-/**
- Declare the forward references
-
-**/
-typedef struct _EFI_I2C_SLAVE_PROTOCOL EFI_I2C_SLAVE_PROTOCOL; ///< I2C slave protocol
-
-/**
- The I2C controller received a data byte from the
- I2C msster.
-
- @param[in] Context The value passed to the slave enable routine.
- @param[in] NumberOfBytes Number of data bytes received
- @param[in] Data Buffer containing the received data bytes
-
- @retval EFI_SUCCESS ACK the data byte
- @retval EFI_UNSUPPORTED NACK the data byte
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_I2C_SLAVE_RECEIVE_DATA) (
- IN VOID *Context,
- IN UINTN NumberOfBytes,
- IN CONST UINT8 *Data
- );
-
-/**
- The I2C controller received the start bit from the
- I2C master.
-
- @param[in] Context The value passed to the slave enable routine.
-
-**/
-typedef
-VOID
-(EFIAPI *EFI_I2C_SLAVE_RECEIVE_START) (
- IN VOID *Context,
- IN UINTN BytesSent,
- IN EFI_STATUS Status
- );
-
-/**
- The I2C controller received the stop bit from the
- I2C master.
-
- @param[in] Context The value passed to the slave enable routine.
- @param[in] BytesSent Number of bytes successfully ACKed by the
- I2C master. This is a hint, not all I2C
- controllers support the ability to return
- the number of bytes sent. When it is not
- possible, the port driver returns zero.
- @param[in] Status
- - EFI_SUCCESS - All of the data was successfully sent
- - EFI_ABORTED - The controller was reset
- - EFI_DEVICE_ERROR - A NACK was received when sending the data.
- - EFI_END_OF_FILE - The stop bit was received before all of
- the data was sent.
-
-
-**/
-typedef
-VOID
-(EFIAPI *EFI_I2C_SLAVE_RECEIVE_STOP) (
- IN VOID *Context,
- IN UINTN BytesSent,
- IN EFI_STATUS Status
- );
-
-/**
- Enable or disable I2C slave operation.
-
- The ReceiveData callback allows the port driver to return data
- to the driver or application handling slave mode operations. This
- is data that a remote master has sent to the local I2C controller.
- The data may be returned one byte at a time if the controller supports
- the ability to ACK/NACK on each receive byte. If not, a block of
- data may be returned by the I2C port driver and the ACK/NACK status
- is used only as a hint for the port driver.
-
- The slave mode driver or application should buffer the data until
- either ReceiveStart or ReceiveStop is called. At that time all of
- the data is received and the command may be processed.
-
- ReceiveStart is called when the I2C master is expecting a response.
- After processing the command, but before sending the response the
- slave driver or application should mark the command as processed to
- avoid processing it a second time when ReceiveStop is called. The
- slave driver or application then calls SendData to send to queue the
- response data for transmission. The data must remain valid in the
- WriteBuffer until ReceiveStop is called.
-
- ReceiveStop is called when the stop bit is received on the I2C bus.
- The slave driver or application starts processing the command if an
- command data is pending in the slave driver's or application's buffer.
- The BytesSent value is a hint to the slave driver or application as
- to how much data was returned to the I2C master. If the controller
- does not provide this level of support then this value is set to zero.
-
- @param[in] This Address of an EFI_I2C_SLAVE_PROTOCOL
- structure
- @param[in] SlaveAddress Slave address for the I2C controller
- @param[in] Context Address of a context structure for use when
- calling ReceiveData or ReceiveStop
- @param[in] ReceiveData Called by the I2C port driver as data bytes
- are received from the master. Response status
- indicates if the byte is ACKed or NACKed. When
- data is passed back a byte at a time, the port
- driver must hold the clock until this callback
- returns.
- @param[in] ReceiveStart Called when the I2C controller receives a start bit.
- @param[in] ReceiveStop Called after all of the data bytes are
- received.
-
- @retval EFI_SUCCESS Slave operation is enabled on the controller.
- @retval EFI_UNSUPPORTED The controller does not support this frequency.
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_I2C_SLAVE_ENABLE) (
- IN CONST EFI_I2C_SLAVE_PROTOCOL *This,
- IN UINT32 SlaveAddress,
- IN VOID *Context,
- IN EFI_I2C_SLAVE_RECEIVE_DATA ReceiveData,
- IN EFI_I2C_SLAVE_RECEIVE_START ReceiveStart,
- IN EFI_I2C_SLAVE_RECEIVE_STOP ReceiveStop
- );
-
-/**
- Send data to the I2C master.
-
- Port drivers may implement this as a blocking or non-blocking call.
- The data in the write buffer must remain valid until ReceiveStop or
- ReceiveStart is called indicating that the I2C master has terminated
- the transfer.
-
- @param[in] This Address of an EFI_I2C_SLAVE_PROTOCOL
- structure
- @param[in] WriteBytes Number of bytes to write
- @param[in] WriteBuffer Buffer containing the data to send
-
- @retval EFI_SUCCESS Data waiting for master access.
- @retval EFI_INVALID_PARAMETER WriteBuffer is NULL or WriteBytes
- is zero.
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_I2C_SLAVE_SEND) (
- IN CONST EFI_I2C_SLAVE_PROTOCOL *This,
- IN UINTN WriteBytes,
- IN CONST UINT8 *WriteBuffer
- );
-
-///
-/// I2C slave protocol
-///
-/// The port driver publishes this protocol when slave mode is
-/// supported by the controller.
-///
-struct _EFI_I2C_SLAVE_PROTOCOL {
- ///
- /// Enable or disable I2C slave operation
- ///
- EFI_I2C_SLAVE_ENABLE SlaveEnable;
-
- ///
- /// Send data to the I2C master
- ///
- EFI_I2C_SLAVE_SEND SendData;
-};
-
-///
-/// GUID for the EFI_I2C_SLAVE_PROTOCOL
-///
-extern EFI_GUID gEfiI2cSlaveProtocolGuid;
-
-#endif // __I2C_SLAVE_H__