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 */ 31long 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 */ 47unsigned 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 */ 65long sm750_sw_i2c_write_reg( 66 unsigned char addr, 67 unsigned char reg, 68 unsigned char data 69); 70 71#endif /* _SWI2C_H_ */ 72