diff options
author | Roman Yeryomin <roman@advem.lv> | 2012-09-13 00:40:35 +0300 |
---|---|---|
committer | Roman Yeryomin <roman@advem.lv> | 2013-05-26 00:44:46 +0300 |
commit | a27354c9021a8423ef8c7d2bffad49cbf639eec1 (patch) | |
tree | 2355929a4b8cf1888cd0797cfabdb42e0077c524 /target/linux/realtek/files/drivers/serial/i2c.h | |
parent | 24a776baeb5d3cd903b144c89ceb11c5bc36a49e (diff) |
Add realtek target files
Signed-off-by: Roman Yeryomin <roman@advem.lv>
Diffstat (limited to 'target/linux/realtek/files/drivers/serial/i2c.h')
-rw-r--r-- | target/linux/realtek/files/drivers/serial/i2c.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/target/linux/realtek/files/drivers/serial/i2c.h b/target/linux/realtek/files/drivers/serial/i2c.h new file mode 100644 index 000000000..f4bdcd99a --- /dev/null +++ b/target/linux/realtek/files/drivers/serial/i2c.h @@ -0,0 +1,42 @@ +#ifndef __BASE_I2C_CORE_H__ +#define __BASE_I2C_CORE_H__ + + +/*********************** I2C data struct ********************************************/ +typedef struct i2c_dev_s +{ + //unsigned int i2c_reset; //output + unsigned int sclk; //output + unsigned int sdio; //input or output + unsigned int irq; // interrupt (optional) + unsigned int reset; // reset (optional) +} i2c_dev_t; + +extern i2c_dev_t i2c_dev; + +/*********************** I2C API for base_ic2_xxx ********************************************/ + +// read / write +extern void i2c_serial_write(i2c_dev_t* pI2C_Dev, unsigned char *data); +extern void i2c_serial_write_byte(i2c_dev_t* pI2C_Dev, unsigned char data); + +extern unsigned char i2c_ACK(i2c_dev_t* pI2C_Dev); + +extern void i2c_ACK_w(i2c_dev_t* pI2C_Dev, unsigned char data); + +extern void i2c_serial_read(i2c_dev_t* pI2C_Dev, unsigned short int *data); + +// start / stop condition +extern void i2c_start_condition(i2c_dev_t* pI2C_Dev); + +extern void i2c_stop_condition(i2c_dev_t* pI2C_Dev); + +// GPIO pins manipulation +extern void i2c_init_SCL_SDA(i2c_dev_t* pI2C_Dev); + +extern void i2c_enable_irq(i2c_dev_t* pI2C_Dev); + +extern void i2c_reset(i2c_dev_t* pI2C_Dev); + +#endif /* __BASE_I2C_CORE_H__ */ + |