Estou construindo controladores de jogos personalizados no Linux que usam o barramento i2c presente em portas de vídeo, como HDMI, DVI e VGA, em hardware de PC padrão (x86_64).
Gostaria de verificar minhas configurações atuais de velocidade do barramento i2c e talvez alterá-las. Pelo que entendi, essa seria uma configuração de um driver do kernel Linux, embora eu ainda não tenha descoberto, então talvez eu esteja muito enganado.
Então o que eu tentei foi:
lsmod | grep i2c
i2c_algo_bit 16384 1 i915
i2c_i801 36864 0
i2c_smbus 20480 1 i2c_i801
ok, o i2c_algo_bit é o dispositivo que estou usando (eu acho), dei uma olhada no i2c_smbus também.
modinfo i915
modinfo i915 | grep -i "baud \| freq \| hz \| rate \| speed"
Tentei ler as informações dos módulos i2c-i801 e i915, mas não vejo nada que indique a velocidade de barramento definida atualmente. O I2c (DDC) tem várias configurações possíveis, de 50 kHz a 400 kHz. Gostaria de defini-lo para 400 kHz, caso ainda não esteja definido.
Como posso verificar a frequência do barramento i2c? e como posso alterá-la?