[英]How to identify device at i2c address?
我有一台运行 Ubuntu、kernel v5.8 的笔记本电脑。 它有两个缺少功能驱动程序的相机,我想尝试让它们工作。
我遇到了一个直接的障碍,因为这些设备似乎并没有以我(或者实际上是 ACPI 表)期望的方式存在。 例如对于前置摄像头,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 */
}
和数据表有些矛盾的地址:
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.
但这些都没有帮助,因为 0x10、0x6C 或 0x20 处没有芯片。 0x0c 处有一个芯片,但 I2C 总线上只有一个芯片用于两个摄像头。 这让我怀疑相机可能在多路复用器或其他东西后面,但我找不到任何文档。 如何识别特定 I2C 端口上正在运行的设备,以便弄清楚 0x0c 处的内容是什么?
更多信息:
笔记本电脑规格:联想 Miix 510。OEM 原始安装的操作系统是 Windows 10。摄像头传感器是 OVTI2680 和 OVTI5648。
本要点中的完整 DSDT 表
您是否已加载相机 PMIC 驱动程序? 您的相机传感器可能已关闭。 摄像头PMIC为TPS68470芯片,由三个驱动代表:
必须启用并加载所有三个才能进行电源门控工作。
关于 I²C 地址的旁注。 在数据表中,地址很可能是 8 位格式,意味着真正的地址(7 位)是 0x10 或 0x36。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.