Всем привет!
Я пытаюсь запустить второй UART на плате Banana-Pi M5. Первый UART (ttyAML0) используется для подключения к терминалу. А второй UART выведен на гребенку. Плата работает под управлением Armbian.
Вот есть такая статья с описанием точно такой же проблемы: Сюда!
Я сделал все как написано:
1. Скопировал meson-uartA.dts в папку /root/meson-uartA.dts
2. Вызвал: sudo armbian-add-overlay /root/meson-uartA.dts
3. Отредактировал: sudo nano /boot/armbianEnv.txt, добавив
user_overlays=meson-uartA
4. Сам файл meson-uartA.dts взял из статьи:
/dts-v1/;
/plugin/;
/ {
compatible = "amlogic,meson-gxbb";
fragment@0 {
target-path = "/soc/bus@ff600000/bus@34400/pinctrl@40"; /* для данного устройства */
__overlay__ {
uart_a_tx_pin: uart-a-tx { /* добавляем настройки пинов */
mux {
groups = "uart_a_tx"; /* для группы пинов "uart_a_tx"
function = "uart_a"; /* это как было в оригинальной группе */
input-disable; /* для TX выключаем input - обязательно! */
output-enable; /* для TX включаем output - обязательно! */
drive-strength-microamp = <4000>; /* это наверно необязательно */
};
};
};
};
fragment@1 {
target-path = "/soc/bus@ffd00000/serial@24000"; /* <=== меняем адрес (см. выше) */
__overlay__ {
status = "okay"; /* включаем UART */
pinctrl-0 = <&uart_a_pins &uart_a_tx_pin>; /* добавляем uart_a_tx_pin из блока выше */
pinctrl-names = "default"; /* это возможно необязательно */
};
};
};
После проведения указанных действий удалось добиться следующего вывода:
sudo dmesg | grep _uart
[ 0.778000] ff803000.serial: ttyAML0 at MMIO 0xff803000 (irq = 14, base_baud = 1500000) is a meson_uart
[ 0.780072] ffd24000.serial: ttyAML6 at MMIO 0xffd24000 (irq = 15, base_baud = 1500000) is a meson_uart
Казалось, успех близок, но если вызвать sudo ls -l /sys/class/tty* , получим только упоминание об ttyAML0. Про ttyAML6 ничего нет.
lrwxrwxrwx 1 root root 0 янв 1 1970 ttyAML0 -> ../../devices/platform/soc/ff800000.bus/ff803000.serial/tty/ttyAML0
И, закономерно, при попытки открыть /dev/ttyAML6 minicom пишет что нет такого файла.
Я совсем не разбираюсь в этой теме. Подскажите пожалуйста, что нужно сделать еще чтобы появился файл /dev/ttyAML6?
И почему появился ttyAML6, а не ttyAML1? Может я что-то напортачил с оверлеями?