LINUX.ORG.RU
ФорумMobile

Подключить UART на одноплатнике с AOSP

 ,


0

1

Приветствую всех. Есть одноплатник на ARM Amlogic S905Y2. Под него есть возможность собрать AOSP. На самом одноплатнике есть GPIO. На GPIO есть два UART: UART0 и UART1. AOSP я из исходников собрал. На одноплатник загрузил. Подключил его к убунте и захожу на него с ноута через adb shell. Дополнительно подключил его через преобразователь FT230X ещё к одному порту USB ноута и вижу отладочную информацию, которая приходит через minicom на ноут. В AOSP в /dev видно кучу однотипных устройств tty* штук 100, наверное. И два устройства ttyS0 и ttyS1. Если отправить что-нибудь в ttyS0, например

 
echo 1234 > /dev/ttyS0
то на одноплатнике моргает диод UART0 и в терминале minicom появится
 
1234
Из этого я заключаю, что 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, если да, то с какими параметрами? Можно как-то указать, что для устройства нужен именно определённый драйвер? Или нужно как-то править исходники драйвера? Подскажите куда копать? Я в этом весьма смутно соображаю.