1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (c) 2007 by Silicon Motion, Inc. (SMI)
4 *
5 * swi2c.h --- SM750/SM718 DDK
6 * This file contains the definitions for i2c using software
7 * implementation.
8 *
9 */
10
11#ifndef _SWI2C_H_
12#define _SWI2C_H_
13
14/* Default i2c CLK and Data GPIO. These are the default i2c pins */
15#define DEFAULT_I2C_SCL 30
16#define DEFAULT_I2C_SDA 31
17
18/*
19 * This function initializes the i2c attributes and bus
20 *
21 * Parameters:
22 * i2cClkGPIO - The GPIO pin to be used as i2c SCL
23 * i2cDataGPIO - The GPIO pin to be used as i2c SDA
24 *
25 * Return Value:
26 * -1 - Fail to initialize the i2c
27 * 0 - Success
28 */
29long sm750_sw_i2c_init(unsigned char clk_gpio, unsigned char data_gpio);
30
31/*
32 * This function reads the slave device's register
33 *
34 * Parameters:
35 * addr - i2c Slave device address which register
36 * to be read from
37 * reg - Slave device's register to be read
38 *
39 * Return Value:
40 * Register value
41 */
42unsigned char sm750_sw_i2c_read_reg(unsigned char addr, unsigned char reg);
43
44/*
45 * This function writes a value to the slave device's register
46 *
47 * Parameters:
48 * addr - i2c Slave device address which register
49 * to be written
50 * reg - Slave device's register to be written
51 * data - Data to be written to the register
52 *
53 * Result:
54 * 0 - Success
55 * -1 - Fail
56 */
57long sm750_sw_i2c_write_reg(unsigned char addr,
58 unsigned char reg,
59 unsigned char data);
60
61#endif /* _SWI2C_H_ */
62

source code of linux/drivers/staging/sm750fb/ddk750_swi2c.h