硬件平台:mt7688
软件平台:原生sdk MediaTek_ApSoC_SDK_4300_20140916 linux-3.10.14内核
1. 在arch/mips/ralink/dev-i2c.c 添加i2c平台设备:
static struct i2c_board_info i2c_info[] __initconst = {
{
I2C_BOARD_INFO("rx8025t", 0x32), //设置device name和从机地址
.platform_data = (void*)(long)500, //设置平台数据,这个值是分频系数
//我们的i2c 主机驱动改了所以这个值就是分频系数,clk_peri外围时钟(25/40MHZ)除以500就是i2c传输速率
},
};
用到的一些flag标志,定义在linux-3.10.14.x/include/uapi/linux/i2c.h
struct i2c_msg {
__u16 addr; /* slave address */
__u16 flags;
#define I2C_M_TEN 0x0010 /* this is a ten bit chip address */
#define I2C_M_RD 0x0001 /* read data, from slave to master */
#define I2C_M_STOP 0x8000 /* if I2C_FUNC_PROTOCOL_MANGLING */
#define I2C_M_NOSTART 0x4000 /* if I2C_FUNC_NOSTART */
#define I2C_M_REV_DIR_ADDR 0x2000 /* if I2C_FUNC_PROTOCOL_MANGLING */
#define I2C_M_IGNORE_NAK 0x1000 /* if I2C_FUNC_PROTOCOL_MANGLI
rtc芯片rx8025t在linux 3.10下的的驱动
最新推荐文章于 2024-04-23 13:21:48 发布