Контроль PINMUX во время выполнения на Mediatek MT7628 Linux-5.4.154

#linux #embedded-linux #gpio #hardware-programming

Вопрос:

У меня есть микроконтроллер на основе Mediatek MT7628 (лук Omega2 ). Я хотел бы отключить некоторые периферийные устройства и использовать пин-коды в качестве обычного GPIO. Я пытался модифицировать devicetree, с небольшим успехом (и длительным циклом разработки, так как мне нужно продолжать перекомпилировать ядро).

Похоже, что недавние ядра могут управлять PINMUX с помощью файлов sysfs (возможно /sys/kernel/debug/pinctrl ?) Если это возможно в 5.4.154 (OpenWRT 21.0.2), каков рецепт отключения UART2 и использования контактов Tx и Rx (GPIO20, 21) в качестве стандартного GPIO? Как насчет SPI (GPIO14-17)?

Комментарии:

1. Нет, это невозможно в старых ядрах и довольно ограничено (некоторыми драйверами и, следовательно, аппаратным обеспечением) в текущем.

2. О, это очень плохо. Я думаю, мне придется вернуться к возне с наложениями деревьев устройств. Надеюсь, я смогу найти достаточно примеров в гибкой машине, такой как Бигльбон. Спасибо!

3. Я думаю, что текущий интерфейс ядра был точно разработан для BB в виду.