LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1290|回复: 1

嵌入式开发板上一些外设的I2C地址在内核的哪些文件中定义的?

[复制链接]
发表于 2005-10-7 20:02:09 | 显示全部楼层 |阅读模式
我参照手中的开发板自制了一块实验板,除了更换了一块codec芯片外,其他的电路基本上没有怎么改动,更换后的codec芯片和开发板上用的codec相比,除了I2C地址不同外,其他的都差不多,这是不是意味着我只需要在内核中把原来codec的I2C地址更改为新的地址然后重新编译就可以了?那么我应该在内核的哪个地方更改这个地址呢?
发表于 2005-10-9 08:42:55 | 显示全部楼层
如果你的芯片使用系统的i2c-core就在codec芯片驱动程序代码中找类似这样的
/* Addresses to scan */
static unsigned short normal_i2c[] = {0x24, I2C_CLIENT_END};
static unsigned short normal_i2c_range[] = {I2C_CLIENT_END};
/* Magic definition of all other variables and things */
I2C_CLIENT_INSMOD;

其中的宏也可能是SMBUS什么的,0x24就是i2c地址,可能需要除2(就是右移一位)。

如果不用i2c-core就在芯片的驱动程序源码中找有关的代码吧,通常都有一些i2c操作的函数,先看看那些函数能不能操作你的i2c-bus controller吧。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表