Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
rk在驱动层做了一个通用i2c测试代码提供给上层快速测试i2c外设是否传输正常.
测试使用方法:#echo [0-5] > /dev/i2c_detect //0-5表示i2c number号,不过i2c5需要修改下驱动,默认只支持到i2c4.
例如我的i2c2接的是audio codec:
&i2c2 {
status = "okay";
rt5631: rt5631@1a {
compatible = "rt5631";
reg = <0x1a>;
};
};
root@rk3288:/ # echo 2 > /dev/i2c_detect
kernel log出打印:
I2c2 slave list: 0x1a
而audio codec的地址就是0x1a.
驱动关键点说明:
kernel/drivers/i2c/buses/i2c-rockchip.c:
static ssize_t i2c