对于S3C2440平台,I2C Adapter的传输速率是设置在i2c driver的platform data中的。以友善之臂提供的2.6.29内核为例,你可以在arch/arm/mach-s3c2440/mach-mini2440.c中添加以下代码:
复制代码- #include <plat/regs-iic.h>
- #include <plat/iic.h>
- static struct s3c2410_platform_i2c mini2440_i2c_data0 __initdata = {
- .flags = 0,
- .slave_addr = 0x10,
- .bus_freq = 400*1000, /* set i2c transmit freq to 400KHz */
- .max_freq = 400*1000,
- .sda_delay = S3C2410_IICLC_SDA_DELAY5 | S3C2410_IICLC_FILTER_ON,
- };
|
将212行的
s3c_i2c0_set_platdata(NULL);
改成
s3c_i2c0_set_platdata(&mini2440_i2c_data0);