本文将带你了解Android应用开发[RK3288][Android6.0] 调试笔记 --- I2C地址的确定,希望本文对大家学Android有所帮助。
[RK3288][Android6.0] 调试笔记 --- I2C地址的确定。
Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
有网友用了一颗名为lt8631的IC,告诉我设置地址为0x94,然后开机出现错误:
<3>[ 0.551181] i2c i2c-2: Invalid 7-bit I2C address 0x94
<3>[ 0.551195] i2c i2c-2: of_i2c: Failure registering /i2c@ff660000/lt8631@94
事实上他是用错了,因为0x94包含了读写bit了。
0x94是最终写地址,0x95是读地址,驱动中会将最后一个bit位添加进去和i2c设备通信。
因此我们只要写左边7位地址就可以了,也就是
0x94 /2 = 0x4A
再看一个例子,产品中用了一颗rtc芯片RX8010:
那么在dts中只要设置地址为0x32即可:
&i2c1 {
status = "okay";
rx8010: rx8010@32 {
compatible = "epson,rx8010";
reg = <0x32>;
status = "okay";
};
};
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!