Добил сегодня драйвер для lph88. Как обещал выкладываю исходники. Есть вопросы по работе spi в атмеловских драйверах, у себя в исходниках немного подправил чтобы работало. Не стал разбираться конкретней - видимо все же багрепорт им отправить надо - пока не охота разбираться.
Странный форум - но у меня ничего не происходит при нажатии "загрузить" ...
Похоже форум такой же глюкавый как драйверы атмел :) но сейчас загрузка заработала :) Чтобы драйвер работал я исправил в файле atmel_spi.c
#define BUFFER_SIZE PAGE_SIZE * 16
В общем если кратко - когда в сообщении spi для передачи не определен буфер для приема сообщений (а это штатная ситуация - см например spi_write) то для приема назначается свой маленький dma буфер размером со страницу памяти (4096 байт) в то же время буфер для передачи урезается до этой длины и исходное сообщение бъется на куски но как-то неправильно - в результате в очереди оказывается куча одинаковых сообщений - что дальше происходит не стал разбираться, просто увеличил буфер до размера чтобы поместился весь экран.
Павел - это смешно :) В ветке про linux предложить пользоваться IE :) Кстати - что с тегом code ? Он все пробелы и табы съел - в чем тогда его глубокий смысл - в рамке и надписи код ? Это же вроде платный движок - неужели все так плохо что ничего не работает ?
Мне вообще-то все равно - свое обещание я выполнил, кому нужно разберутся и с таким текстом. А в ветке про linux принципиально из-под IE не буду работать :) Для полноты картины, в своем файле board-sam9260ek.c добавил после описания аудиокодека новый элемент:
и в drivers/video/Makefile, drivers/video/Kconfig добавил записи для своего драйвера по аналогии с другими - там все просто. Если у кто-то использует аудиокодек - не забывайте учитывать CS - они должны быть разные и садите lcd на свободный канал.
PS жидал большего от этого дисплея - неудобно у него сделано управление, думаю с ls020 круче получится :) Там можно spi в 16 битный режим перевести - у меня не позволяет один единственный байт который нарушает выравнивание на границе полуслова, как ни крутил - не смог обойти это - в результате 8 битный режим и дурацкий цикл
for(i = 0; i < MEM_LEN; i += 2) {
shadow[i] = buffer[i+1];
shadow[i+1] = buffer[i];
как расплата за несовпадение endian lcd и процессора.
Еще забыл - чтобы упростить жизнь - лучше сразу включить в конфиге (это в файле Kconfig) поддержку FB_SYS... :
config FB_LPH88
tristate "lph88 Frame Buffer support"
depends on FB && ARCH_AT91SAM9260
select FB_SYS_FILLRECT
select FB_SYS_COPYAREA
select FB_SYS_IMAGEBLIT
select FB_SYS_FOPS
help
Support for the s65 lph88 lcd controller.
Наконец то достал экран только с контроллером LS020xxx начал рыть форум и что то не нашел драйвера.Если кто может объяснить новичку как его прикрутить к плате SKMAT91SAM9260.С линухом меньше месяца знаком(
Насколько я знаю его нет. Там протокол совсем другой - нужно смотреть у суперкранца инициализацию и изученные команды и переделать. У меня вслепую не получится переписать, хотя если честно общие изменения небольшие - массив инициализации другой, добавляется еще одна линия gpio для сигнала RS и сответственно команды другие. Единственно - я не видел нигде - как там поменять направление хотя бы одной оси а то точка отсчета (0,0) там поумолчанию не в том углу - без этого ничего не получится - на экране будет зеркальное отражение :)
Я форум смотрел как то и наткнулся что в теме lcd второй заход уважаемый susamy кажется написал драйвер именно дл ls020 но не успел скачать,решил пока созреет продукт и воспользоваться а щас я этой темы не нахожу((.Насчет зеркального отображения-там с координатами и режимом заполнения практически что угодно творить можно)
У вас как успехи?консоль уже выводит?