Как настроить скорость передачи для шины i2c в Linux?

У меня есть ARM-компьютер на базе процессора riko-3288. У меня также есть образ Ubuntu для устройства с кастомным ядром (без системы модулей).

В настоящее время я пытаюсь установить скорость передачи данных до 100 кГц для шины i2c. Я не специалист по Linux и не знаю, что мне для этого нужно. Шина i2c работает с более высокой скоростью передачи, я думаю, что она превышает 1 МГц.

Я прочитал, что я должен написать такую ​​команду "dtparam=i2c_arm=on,i2c_arm=on_baudrate=100000" в файле начальной загрузки. Мой загрузочный файл ниже:

{boot-partition}/extlinux/extlinux.conf

label kernel-4.4
    kernel /zImage
    fdt /rk3288-miniarm.dtb
    append  earlyprintk console=tty1 console=ttyS2,115200n8 rw root=/dev/mmcblk1p7 rootfstype=ext4 init=/sbin/init

Я попытался вставить команду в строку добавления и попробовал несколько других команд для нее, но ничего не работает.

Не могли бы вы сказать мне, как я могу изменить скорость передачи данных для шины i2c?

PS А кто-нибудь знает, как получить скорость передачи в операционной системе?

1 ответ

Решение

Я нашел простое решение здесь. http://www.chip-community.org/index.php/Troubleshooting

По моей причине:

sudo apt update
sudo apt install device-tree-compiler
sudo mount /dev/mmcblk1p6 /mnt # {boot-partition}
sudo cp /mnt/rk3288-miniarm.dtb /boot/rk3288-miniarm.dtb.bak
sudo fdtput --type u /mnt/rk3288-miniarm.dtb i2c4 clock-frequency 50000
sudo systemctl reboot
Другие вопросы по тегам