Подскажите, пожалуйста, кто-нибудь тестировал данную связку на работоспособность Touchscreen?
Экран подключен через штатный 40-контактный шлейф к мат. плате (MB). Пробовал старый длинный 40-контактный шлейф IDE -- ничего не меняется.
Симптомы следующие:
0. Графика работает идеально -- никаких нареканий нет.
1. При конфигурации перемычек по умолчанию (J4,5,8,9 -- 1-2; J2,3,6,7 -- замкнуты) ts_print_raw не выводит ничего. Похоже на правду, поскольку данная конфигурация перемычек выводит на контакты TS1-4 сигналы SPI контроллера TS с ATM0700D4, а на модуле эти линии подключены к LRADC2-5 IMX287.
2. При "правильной" конфигурации перемычек (J4,5,8,9 -- 2-3; J2,3,6,7 -- разомкнуты) сенсорный экран подключен напрямую к LRADC2-5. Проблема в том, что ts_print_raw постоянно выводит какие-то значения. Значения меняются в зависимости от наличия касания экрана и положения стилуса. Но не работает детектирование касания и, из-за этого, ts_calibrate не может начать калибровку и ts_test дает бегающий по всему экрану маркер при отсутствии касания.
3. При "неправильной" конфигурации перемычек (J4,5,8,9 -- 2-3; J2,3,6,7 -- замкнуты) сенсорный экран подключен и к LEADC2-5 и к контроллеру TS на плате экрана. SPI не задействован. При этом работает датчик касаний, ts_print_raw выводит значения только при наличии касания, ts_calibrate отрабатывает корректно, но ts_test показывает очень большую случайную ошибку (шум) определения координат (по X -- около 25% ширины экрана, т.е. ~200 px, по Y -- 5-10% высоты, что приемлемо). В целом эффект даже хуже, чем в этой теме.
Такое поведение наблюдается на версиях модуля SK-ATM0700D4-Plug V2.B и V2.D.
Ядро Linux 2.6.35.3-670-g914558e и корневая ФС штатные; за исключением калибровок ничего не менялось.
То же самое наблюдается на версии ядра 3.9 (точно не помню, ядро вытянуто из образа виртуальной машины на wiki-страничке otladka.com.ua) и корневой ФС на базе gentoo linux.
Предполагаю, что от корневой ФС практически ничего не зависит. Между ядрами есть разница в алгоритме опроса LRADC; ядро 3.9 опрашивает чаще и дает больше точек.
Содержимое ts.conf стандартное:
Вопросы:
1. Удалось ли кому-нибудь задействовать встроенный в IMX287 контроллер touchscreen (LRADC2-5)?
2. Я видел рекомендацию использовать SPI или GPIO SPI через отдельный разъем. Есть ли готовые фрагменты DTS-файла для ядра 3.9 для этого случая (SPI-slave ADS7843).
в ядре 3.9 драйвер тачскрина тоже не поддерживает DTS, возьмите из патча часть которая касается драйвера ads7846, там же есть DTS файл для sk-imx6q и описание тачскрина с аппаатным spi контроллером и програмным на gpio.