繁体   English   中英

如何识别 i2c 地址的设备?

[英]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芯片,由三个驱动代表:

  1. PMIC 作为具有 ACPI ID INT3472 的多功能设备 (MFD) 驱动程序
  2. 它的GPIO 驱动程序,以及
  3. 支持从 ACPI 代码访问的OpRegion 驱动程序

必须启用并加载所有三个才能进行电源门控工作。

关于 I²C 地址的旁注。 在数据表中,地址很可能是 8 位格式,意味着真正的地址(7 位)是 0x10 或 0x36。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM