如何识别i2c地址的设备?

问题描述 投票:0回答:1

我有一台运行 Ubuntu、内核 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 处的内容是什么? 更多信息: 笔记本电脑规格:Lenovo Miix 510。OEM 原始安装的操作系统是 Windows 10。摄像头传感器是 OVTI2680 和 OVTI5648。

此要点

中的完整 DSDT 表

您是否加载了相机 PMIC 驱动程序?您的相机传感器可能已关闭。 相机PMIC是TPS68470芯片,由三个驱动程序代表:

PMIC 作为
driver linux-device-driver i2c acpi
1个回答
1
投票
,具有 ACPI ID

INT3472

  1. GPIO 驱动程序,以及
  2. OpRegion 驱动程序
  3. 支持从 ACPI 代码访问
  4. 必须启用并加载所有三个才能进行电源门控工作。
  5. 有关 I²C 地址的旁注:在数据表中,地址最有可能采用 8 位格式,意味着实际地址(7 位)是 0x10 或 0x36。

© www.soinside.com 2019 - 2024. All rights reserved.