[英]How to identify device at i2c address?
I have a laptop running Ubuntu, kernel v5.8.我有一台运行 Ubuntu、kernel v5.8 的笔记本电脑。 It has two cameras which lack of functional drivers, and I want to try to get them to work.
它有两个缺少功能驱动程序的相机,我想尝试让它们工作。
I'm hitting an immediate hurdle in that the devices don't seem to be present in the way I (or indeed the ACPI tables) expect.我遇到了一个直接的障碍,因为这些设备似乎并没有以我(或者实际上是 ACPI 表)期望的方式存在。 For example for the front camera, the ACPI tables have this to say:
例如对于前置摄像头,ACPI 表有这样的说法:
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (SBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x0010, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C2",
0x00, ResourceConsumer, , Exclusive,
)
})
Return (SBUF) /* \_SB_.PCI0.CAM1._CRS.SBUF */
}
and the datasheet somewhat contradictory addresses:和数据表有些矛盾的地址:
The 8-bit address of the OV2680 is 0x20 when SID pin is set to 1 or 0x6C when SID pin is set to 0.
But none of that's helpful, because there's no chip at 0x10, 0x6C or 0x20.但这些都没有帮助,因为 0x10、0x6C 或 0x20 处没有芯片。 There is a chip at 0x0c, but only one chip on the I2C bus for two cameras.
0x0c 处有一个芯片,但 I2C 总线上只有一个芯片用于两个摄像头。 This makes me suspect that perhaps the cameras are behind a multiplexer or something, but I can't find any documentation on that.
这让我怀疑相机可能在多路复用器或其他东西后面,但我找不到任何文档。 How can I identify what device is running on a particular I2C port, so that I can figure out what the thing at 0x0c is?
如何识别特定 I2C 端口上正在运行的设备,以便弄清楚 0x0c 处的内容是什么?
Further Info:更多信息:
Laptop Specs: Lenovo Miix 510. Original installed OS by OEM was Windows 10. The camera sensors are an OVTI2680 and an OVTI5648.笔记本电脑规格:联想 Miix 510。OEM 原始安装的操作系统是 Windows 10。摄像头传感器是 OVTI2680 和 OVTI5648。
Do you have camera PMIC drivers loaded?您是否已加载相机 PMIC 驱动程序? Your camera sensors likely powered off.
您的相机传感器可能已关闭。 The camera PMIC is TPS68470 chip which is represented by three drivers:
摄像头PMIC为TPS68470芯片,由三个驱动代表:
All three must be enabled and loaded in order to get power gating work.必须启用并加载所有三个才能进行电源门控工作。
Side note regarding to I²C addresses.关于 I²C 地址的旁注。 In data sheet the addresses most probably are in 8-bit format, means the real ones (7-bit) are 0x10 or 0x36.
在数据表中,地址很可能是 8 位格式,意味着真正的地址(7 位)是 0x10 或 0x36。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.