我正在 Linux 上构建自定义游戏控制器,使用标准 PC 硬件(x86_64)上 HDMI、dvi 和 VGA 等视频端口中的 i2c 总线。
我想验证一下我当前的 i2c 总线速度设置,并尝试进行一些修改。我的理解是,这应该是一个 Linux 内核驱动程序的设置,不过我还没搞清楚,所以可能我的理解还不够准确。
所以我尝试的是:
lsmod | grep i2c
i2c_algo_bit 16384 1 i915
i2c_i801 36864 0
i2c_smbus 20480 1 i2c_i801
好的,i2c_algo_bit 是我正在使用的设备(我认为),也看了 i2c_smbus。
modinfo i915
modinfo i915 | grep -i "baud \| freq \| hz \| rate \| speed"
我尝试读取 i2c-i801 和 i915 的模块信息,但没有看到任何关于当前总线速度的信息。I2c (DDC) 有几种可能的设置,从 50kHz 到 400kHz。如果尚未设置为 400kHz,我想将其设置为 400kHz。
如何验证 i2c 总线的频率?以及如何更改它?