• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /** @file
2   I2c Bus byte read/write functions.
3 
4   Copyright (c) 2008 - 2009, Intel Corporation. All rights reserved.<BR>
5   This program and the accompanying materials
6   are licensed and made available under the terms and conditions of the BSD License
7   which accompanies this distribution.  The full text of the license may be found at
8   http://opensource.org/licenses/bsd-license.php
9 
10   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 
13 **/
14 
15 #ifndef _CIRRUS_LOGIC_I2C_H_
16 #define _CIRRUS_LOGIC_I2C_H_
17 
18 #include <Protocol/PciIo.h>
19 
20 /**
21   Read one byte data on I2C Bus.
22 
23   Read one byte data from the slave device connectet to I2C Bus.
24   If Data is NULL, then ASSERT().
25 
26   @param  PciIo              The pointer to PCI_IO_PROTOCOL.
27   @param  DeviceAddress      Slave device's address.
28   @param  RegisterAddress    The register address on slave device.
29   @param  Data               The pointer to returned data if EFI_SUCCESS returned.
30 
31   @retval EFI_DEVICE_ERROR
32   @retval EFI_SUCCESS
33 
34 **/
35 EFI_STATUS
36 EFIAPI
37 I2cReadByte (
38   EFI_PCI_IO_PROTOCOL    *PciIo,
39   UINT8                  DeviceAddress,
40   UINT8                  RegisterAddress,
41   UINT8                  *Data
42   );
43 
44 /**
45   Write one byte data onto I2C Bus.
46 
47   Write one byte data to the slave device connectet to I2C Bus.
48   If Data is NULL, then ASSERT().
49 
50   @param  PciIo              The pointer to PCI_IO_PROTOCOL.
51   @param  DeviceAddress      Slave device's address.
52   @param  RegisterAddress    The register address on slave device.
53   @param  Data               The pointer to write data.
54 
55   @retval EFI_DEVICE_ERROR
56   @retval EFI_SUCCESS
57 
58 **/
59 EFI_STATUS
60 EFIAPI
61 I2cWriteByte (
62   EFI_PCI_IO_PROTOCOL    *PciIo,
63   UINT8                  DeviceAddress,
64   UINT8                  RegisterAddress,
65   UINT8                  *Data
66   );
67 
68 #endif
69