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: