| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* |
| * Copyright (c) 2007 by Silicon Motion, Inc. (SMI) |
| * |
| * swi2c.h --- SM750/SM718 DDK |
| * This file contains the definitions for i2c using software |
| * implementation. |
| * |
| */ |
| |
| #ifndef _SWI2C_H_ |
| #define _SWI2C_H_ |
| |
| /* Default i2c CLK and Data GPIO. These are the default i2c pins */ |
| #define DEFAULT_I2C_SCL 30 |
| #define DEFAULT_I2C_SDA 31 |
| |
| /* |
| * This function initializes the i2c attributes and bus |
| * |
| * Parameters: |
| * i2cClkGPIO - The GPIO pin to be used as i2c SCL |
| * i2cDataGPIO - The GPIO pin to be used as i2c SDA |
| * |
| * Return Value: |
| * -1 - Fail to initialize the i2c |
| * 0 - Success |
| */ |
| long sm750_sw_i2c_init(unsigned char clk_gpio, unsigned char data_gpio); |
| |
| /* |
| * This function reads the slave device's register |
| * |
| * Parameters: |
| * addr - i2c Slave device address which register |
| * to be read from |
| * reg - Slave device's register to be read |
| * |
| * Return Value: |
| * Register value |
| */ |
| unsigned char sm750_sw_i2c_read_reg(unsigned char addr, unsigned char reg); |
| |
| /* |
| * This function writes a value to the slave device's register |
| * |
| * Parameters: |
| * addr - i2c Slave device address which register |
| * to be written |
| * reg - Slave device's register to be written |
| * data - Data to be written to the register |
| * |
| * Result: |
| * 0 - Success |
| * -1 - Fail |
| */ |
| long sm750_sw_i2c_write_reg(unsigned char addr, |
| unsigned char reg, |
| unsigned char data); |
| |
| #endif /* _SWI2C_H_ */ |