These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / staging / sm750fb / ddk750_swi2c.h
1 /*******************************************************************
2 *
3 *         Copyright (c) 2007 by Silicon Motion, Inc. (SMI)
4 *
5 *  All rights are reserved. Reproduction or in part is prohibited
6 *  without the written consent of the copyright owner.
7 *
8 *  swi2c.h --- SM750/SM718 DDK
9 *  This file contains the definitions for i2c using software
10 *  implementation.
11 *
12 *******************************************************************/
13 #ifndef _SWI2C_H_
14 #define _SWI2C_H_
15
16 /* Default i2c CLK and Data GPIO. These are the default i2c pins */
17 #define DEFAULT_I2C_SCL                     30
18 #define DEFAULT_I2C_SDA                     31
19
20 /*
21  * This function initializes the i2c attributes and bus
22  *
23  * Parameters:
24  *      i2cClkGPIO  - The GPIO pin to be used as i2c SCL
25  *      i2cDataGPIO - The GPIO pin to be used as i2c SDA
26  *
27  * Return Value:
28  *      -1   - Fail to initialize the i2c
29  *       0   - Success
30  */
31 long sm750_sw_i2c_init(
32         unsigned char clk_gpio,
33         unsigned char data_gpio
34 );
35
36 /*
37  *  This function reads the slave device's register
38  *
39  *  Parameters:
40  *      addr   - i2c Slave device address which register
41  *                        to be read from
42  *      reg    - Slave device's register to be read
43  *
44  *  Return Value:
45  *      Register value
46  */
47 unsigned char sm750_sw_i2c_read_reg(
48         unsigned char addr,
49         unsigned char reg
50 );
51
52 /*
53  *  This function writes a value to the slave device's register
54  *
55  *  Parameters:
56  *      addr            - i2c Slave device address which register
57  *                        to be written
58  *      reg             - Slave device's register to be written
59  *      data            - Data to be written to the register
60  *
61  *  Result:
62  *          0   - Success
63  *         -1   - Fail
64  */
65 long sm750_sw_i2c_write_reg(
66         unsigned char addr,
67         unsigned char reg,
68         unsigned char data
69 );
70
71 #endif  /* _SWI2C_H_ */