Приветствую всех.
Есть одноплатник на ARM Amlogic S905Y2. Под него есть возможность собрать AOSP. На самом одноплатнике есть GPIO. На GPIO есть два UART: UART0 и UART1.
AOSP я из исходников собрал. На одноплатник загрузил. Подключил его к убунте и захожу на него с ноута через adb shell.
Дополнительно подключил его через преобразователь FT230X ещё к одному порту USB ноута и вижу отладочную информацию, которая приходит через minicom на ноут.
В AOSP в /dev видно кучу однотипных устройств tty* штук 100, наверное. И два устройства ttyS0 и ttyS1.
Если отправить что-нибудь в ttyS0, например
то на одноплатнике моргает диод UART0 и в терминале minicom появится
Из этого я заключаю, что UART0 работает и в системе есть драйвер, отвечающий за взаимодействие с UART.
Если что-то отправить в ttyS1, а потом из него прочитать, то появляются артефакты от устройств со включённым bluetooth, которые находятся рядом, из чего я заключил, что ttyS1 подключён к bluetooth.
Смотрел в исходниках там есть два драйвера uart с одинаковыми именами, но в разных каталогах:
В одном указано:
#define AML_UART_PORT_MAX 16 #define AML_UART_DEV_NAME "ttyS"
В другом в переменных указано
#define AML_UART_PORT_NUM 6
#define AML_UART_DEV_NAME "ttyAML"
Однако ttyAML* устройств в /dev/tty* нет.
Вопрос: как отправить что-то в UART1?
Нужно ли делать mknod, если да, то с какими параметрами? Можно как-то указать, что для устройства нужен именно определённый драйвер? Или нужно как-то править исходники драйвера?
Подскажите куда копать? Я в этом весьма смутно соображаю.