Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:2
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Отладочные платы » SK-iMX233
LMS430
kustov
Добавлено 16.01.2011 19:45
0
Сообщение: 1
kustov
0

Пункты: 421
Регистрация: 10.12.2010
Вопрос к знающим .
этот драйвер RGB 8.8.8 написан под 169 BGA,
как бы исправить его под 128 QFP соответственно RGB 6.6.6?
Спасибо заранее за ответы.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 16.01.2011 20:12 Сообщение: 2
sasamy
4.70

Пункты: 77333
Регистрация: 14.08.2009
Драйвер исправить не проблема - буквально одна строчка, вопрос в другом - поддерживает ли эта панель 18 bit интерфейс ? Я снаскоку не смог найти на нее даташит.
Спуститься к концу Подняться к началу
Персональная информация
kustov
Добавлено 16.01.2011 20:16 Сообщение: 3
kustov
0

Пункты: 421
Регистрация: 10.12.2010
панель KD43G7-40NM-A2 RGB 8.8.8 ,но всегда можно младшие приглушить ;-))
и она пускается только с цветами проблема
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 16.01.2011 20:34 Редактировалось 16.01.2011 20:40 Сообщение: 4
sasamy
4.70

Пункты: 77333
Регистрация: 14.08.2009
Цитата
но всегда можно младшие приглушить ;-))


Да - я это не учел :) если есть такая возможность тогда просто сдвигаете на 2 бита вправо каждый байт (DATA_SHIFT_DIR & SHIFT_NUM_BITS) + LCD_DATABUS_WIDTH устанавливаете 18_BIT = 0x2 18-bit data bus mode.
и все :)
Спуститься к концу Подняться к началу
Персональная информация
kustov
Добавлено 16.01.2011 20:44 Редактировалось 16.01.2011 20:47 Сообщение: 5
kustov
0

Пункты: 421
Регистрация: 10.12.2010
ха ! это я это сделал но в BGA 169 идет lcd_d0 - d24 а в 128QFP
lcd_d0-d7 + gpio теряются старшие биты :-(
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 16.01.2011 20:48 Редактировалось 16.01.2011 20:50 Сообщение: 6
sasamy
4.70

Пункты: 77333
Регистрация: 14.08.2009
Цитата
ха ! это я это сделал но в BGA 169 идет lcd_d0 - d24 а в 128QFP
lcd_d0-d7 + gpio теряются старшие байты :-(


Ха - так я думал у вас свой дизайн :) у imx233 в lqfp 128 есть возможность (?) вместо nand расширить шину данных LCD.
Спуститься к концу Подняться к началу
Персональная информация
kustov
Добавлено 16.01.2011 20:54 Редактировалось 16.01.2011 20:56 Сообщение: 7
kustov
0

Пункты: 421
Регистрация: 10.12.2010
да снял нанд и ммс и драйвера отключил
Спуститься к концу Подняться к началу
Персональная информация
kustov
Добавлено 16.01.2011 21:07 Редактировалось 16.01.2011 23:05 Сообщение: 8
kustov
0

Пункты: 421
Регистрация: 10.12.2010
проблема другого плана оказалась
фрисскейловцы учли запуск драйвера на 128 QFP и в режиме RGB 6.6.6 видно с файла
mx23evk_pins.c , но сигналы gpio (нанда ) молчат :-(((
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 16.01.2011 23:19 Редактировалось 16.01.2011 23:34 Сообщение: 9
sasamy
4.70

Пункты: 77333
Регистрация: 14.08.2009
Цитата
сори провтыкал
я плохой программист
DATA_SHIFT_DIR & SHIFT_NUM_BITS) + LCD_DATABUS_WIDTH устанавливаете 18_BIT = 0x2 18-bit data bus mode
это где?

точнее в каком файле править?


См. i.MX23 Applications Processor
Reference Manual
Table 36-2. 128-Pin LQFP Pin Definitions by Pin Name
Там написано что часть пинов gpmi можно использовать для LCD - колонка Description 2. Нужно соотвествующие пины переключить, проще всего это сделать в файле
arch/arm/mach-mx23/mx23evk_pins.c
там где прописаны пины nand, например убрать условие для препроцессора:

#if defined(CONFIG_MTD_NAND_GPMI_NFC) || \
defined(CONFIG_MTD_NAND_GPMI_NFC_MODULE)

и переопределить функцию пинов:
вместо

{
.name = "GPMI D0",
.id = PINID_GPMI_D00,
>>> .fun = PIN_FUN1,
>>> .strength = PAD_4MA,
.voltage = PAD_3_3V,
.pullup = 0,
.drive = !0
},

переключить его на

{
.name = "GPMI D0",
.id = PINID_GPMI_D00,
>>> .fun = PIN_FUN2,
>>> .strength = PAD_8MA,
.voltage = PAD_3_3V,
.pullup = 0,
.drive = !0
},

и так даллее для LCD_D8 - LCD_D17 в соотвествии с таблицей даташита. Далее - есть там такая универсальная ф-ция для dotclock панелей setup_dotclk_panel, находится тут:
arch/arm/mach-mx23/include/mach/lcdif.h
там нужно исправить содержимое регистров
после __raw_writel(BM_LCDIF_CTRL_DATA_SHIFT_DIR,
REGS_LCDIF_BASE + HW_LCDIF_CTRL_CLR);

__raw_writel(BM_LCDIF_CTRL_SHIFT_NUM_BITS,
REGS_LCDIF_BASE + HW_LCDIF_CTRL_CLR);

дописать их установку - сдвиг вправо на 2 бита, см даташит стр 959 + исправить ширину шины данных:
__raw_writel(BF_LCDIF_CTRL_WORD_LENGTH(3) |/* 24 bit */
BM_LCDIF_CTRL_DATA_SELECT |/* data mode */
BF_LCDIF_CTRL_INPUT_DATA_SWIZZLE(0) |/* no swap */
>>> BF_LCDIF_CTRL_LCD_DATABUS_WIDTH(3),/* 24 bit */
REGS_LCDIF_BASE + HW_LCDIF_CTRL_SET);

прописав там свое значение
Цитата

устанавливаете 18_BIT = 0x2 18-bit data bus mode
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 17.01.2011 01:47 Редактировалось 17.01.2011 02:00 Сообщение: 10
sasamy
4.70

Пункты: 77333
Регистрация: 14.08.2009
Забыл совсем - возможно сдвигать на 2 бита вправо принудительно ненужно (вернее скорей всего не нужно), судя по даташиту при несовпадении WORD_LENGTH и DATABUS_WIDTH должно сработать автоматическое преобразование (CSC), нужно экспериментировать и проверять.См стр 942
Цитата

The LCD_DATABUS_WIDTH field in HW_LCDIF_CTRL register indicates the width of the bus going
to the external display controller. If the LCD_DATABUS_WIDTH is not the same as WORD_LENGTH,
LCDIF will do minor RGB-to-RGB color space conversion (CSC). For example, if the input frame has
more bits per pixel than the display, e.g. 16 bpp input frame going to 24 bpp LCD, the LCDIF will pad the
MSBs of each color component to the LSBs of the same color component for each pixel. If the input
frame has fewer bits per pixel than the display, e.g. a 24 bpp input frame going to a 16 bpp LCD, the
LCDIF will drop the LSBs of each color component to go to the lower resolution.


В итоге нужно только переопределить ф-цию пинов gpmi и указать ширину шины данных LCD 18 бит.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-iMX233