从用户空间访问内核使用的 i2c 设备

从用户空间访问内核使用的 i2c 设备

在我的 ARM 板上,有一个供内核使用的 I2C PMIC:

# i2cdetect -r 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

但我无法读到任何内容:

# i2cget -a 1 0x33 0x25 b
Error: Could not set address to 0x33: Device or resource busy

恐怕这是因为内核正在使用该设备。有办法阅读吗?我的意思是一些互斥锁或类似的东西可以在设备不“忙”时访问设备?

目标是读取其寄存器以获取电压和错误标志等信息。

答案1

ARM 板,内核使用 I2C PMIC,因此您的 ARM 板不允许您使用此 i2c 总线。

这就是你问题的答案。

因此使用另一个 i2c 总线。

$ i2cdetect -r 2
$ i2cdetect -r 3

相关内容