Ник:
Пароль:

Контакты

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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:3
Форум » starterkit.ru » Embedded Linux
подключение тачскрина ili9481 к sk-imx6s-sodimm
simon1
Добавлено 30.11.2016 08:52
0
Сообщение: 1
simon1
0

Пункты: 755
Регистрация: 07.10.2016
Здравствуйте! Имеется sk-imx6s-sodimm с платой расширения sk-imx6-mb-sodimm. Необходимо подключить тачскрин ili9481 по RGB интерфейсу.
Для этого на плате используется разъём x5(lcd). Тачскрин подключается по схеме.
В юбуте: fbo mode = lcd,SK-MI0430.
Device Tree(imx6qdl-sodimm.dtsi) настраивается так:
mxcfb1: fb@0 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "lcd";
interface_pix_fmt = "RGB24";
mode_str ="SK-MI0430";
default_bpp = <16>;
int_clk = <0>;
late_init = <0>;
status = "disabled";
};

mxcfb2: fb@1 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "lcd";
interface_pix_fmt = "RGB24";
mode_str = "SK-MI0430";
default_bpp = <24>;
int_clk = <0>;
late_init = <0>;
status = "okay";
};

lcd@0 {
compatible = "fsl,lcd";
ipu_id = <0>;
disp_id = <0>;
default_ifmt = "RGB24";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ipu1_disp_sodimm>;
status = "okay";
};
В файле mxc_lcdif.c:
static struct fb_videomode lcdif_modedb[] = {
{
.....
"SK-MI0430", 60, 320, 480, 87565, 30, 40, 4, 4, 10, 2,
FB_SYNC_CLK_LAT_FALL,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},
};
После сборки, прошивки и загрузки экран ничего не показывает. Работает только подсветка.
Хотя, если посмотреть осциллографом тачскрин,
нога vsync == 60 Hz,
нога hsync == 30 KHz
нога pclk == 88ns (pclk, vsync и hsync даташиту соответствуют)
нога de на земле, на ноге rst плюс 3.3 (пробовал и на землю).
на ноге db1 видно, что какие-то данные выводятся (наверное приглашение ввести логин).
Подскажите, что упустил?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 30.11.2016 09:56 Редактировалось 30.11.2016 10:18 Сообщение: 2
sasamy
4.70

Пункты: 77092
Регистрация: 14.08.2009
Цитата

нога de на земле


странно - она должна использоваться

Цитата

Since PCLK runs continuously, control signal DE is required to indicate when valid pixel data is being transmitted on the pixel data signals.


Цитата

Подскажите, что упустил?


как вы указали контроллеру LCD переключиться в режим DPI без использования SPI - на вашей схеме он не подключен ?

стр. 34
7.3. Display Pixel Interface (DPI)

стр. 101
8.2.38. Display Mode and Frame Memory Write Mode Setting (B4h)

Default Value
DM=0, RM=0


DM
1 - DPI (RGB) interface

RM
1 - DPI Interface (RGB)
Спуститься к концу Подняться к началу
Персональная информация
simon1
Добавлено 30.11.2016 10:19 Сообщение: 3
simon1
0

Пункты: 755
Регистрация: 07.10.2016
Цитата

странно - она должна использоваться


в качестве эксперимента отключил

Цитата

как вы указали контроллеру панели переключиться в режим DPI без использования SPI - на вашей схеме он не подключен?


на сколько пониманию по п.7.3. Display Pixel Interface (DPI) стр. 34 модуль функционирует в режиме DPI по умолчанию.
а Set_pixel_format никак не устанавливаю.

значит всё-таки нужна установка параметров по spi?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 30.11.2016 10:28 Редактировалось 30.11.2016 10:36 Сообщение: 4
sasamy
4.70

Пункты: 77092
Регистрация: 14.08.2009
Цитата

на сколько пониманию по п.7.3. Display Pixel Interface (DPI) стр. 34 модуль функционирует в режиме DPI по умолчанию.


как вы это поняли ? я там ничего не вижу - может чего упустил, а дефолтные значения регистров контроллера после включения питания и после сброса говорят что по умолчанию DBI Interface (CPU)

Пинами при старте DPI тоже не укзазть 4. Pin Descriptions (IM[2:0]) - там только тип DBI можно указать

Цитата

значит всё-таки нужна установка параметров по spi?


других методов переключиться на DPI я например не нашел.
Спуститься к концу Подняться к началу
Персональная информация
simon1
Добавлено 30.11.2016 10:44 Сообщение: 5
simon1
0

Пункты: 755
Регистрация: 07.10.2016
Цитата

по умолчанию DBI Interface (CPU)


а слона то и не заметил))
Спасибо за подсказку!
буду пробовать через spi
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 30.11.2016 10:48 Редактировалось 30.11.2016 10:52 Сообщение: 6
sasamy
4.70

Пункты: 77092
Регистрация: 14.08.2009
Цитата

а слона то и не заметил))
буду пробовать через spi


вы просто панель неудачно выбрали - проще взять без набортной графической памяти и умного контроллера - т.н. "тупую" панель которая кроме RGB ничего не умеет, она еще и дешевле выйдет.
То что вы выбрали - с графическим контроллером - это больше для микроконтроллеров
Спуститься к концу Подняться к началу
Персональная информация
simon1
Добавлено 30.11.2016 12:01 Сообщение: 7
simon1
0

Пункты: 755
Регистрация: 07.10.2016
sasamy, а ещё уточните пожалуйста момент по самой плате расширения sk-imx6-mb-sodimm:
spi1, который выведен в разъём X5 предназначен для управления самим тачскрином или всё-таки дисплееем тачскрина?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 30.11.2016 14:18 Сообщение: 8
sasamy
4.70

Пункты: 77092
Регистрация: 14.08.2009
Цитата

spi1, который выведен в разъём X5 предназначен для управления самим тачскрином или всё-таки дисплееем тачскрина?


Штатно он выведен на контроллер тачскрина на местных LCD-плагах, но в общем - какая разница для чего использовать SPI интерфейс ? Просто пропишите то что вам нужно в DTS вместо контроллера тачскрина. Более того - у вас там максимум 18 бит на цвет, а разведено 24 - переключите любой свободный из пинов на GPIO и добавьте в качестве чипселекта и тогда можно и контроллер тачскрина опрашивать и контроллер LCD программировать.
Спуститься к концу Подняться к началу
Персональная информация
simon1
Добавлено 01.12.2016 05:15 Сообщение: 9
simon1
0

Пункты: 755
Регистрация: 07.10.2016
Спасибо!
Спуститься к концу Подняться к началу
Персональная информация
simon1
Добавлено 08.12.2016 12:31 Редактировалось 08.12.2016 12:32 Сообщение: 10
simon1
0

Пункты: 755
Регистрация: 07.10.2016
sasamy, дисплей завёлся, но вот ещё вопрос по spi возник. Сам дисплей инициализируется по spi2, который после включения в DeviceTree выглядит в устройствах как /dev/spidev32766.0 (spi1 соответственно /dev/spidev32765.0). Контроллер тачскрина заведён на spi1(разъём Х5 Lcd). Теперь, как понимаю, чтобы ядро могло контактировать с тачскрином по spi1 , его нужно отключить от пользователя (т.е. выключить в Devicetree), чтобы в устройствах осталось только /dev/spidev32766. Подскажите пожалуйста как правильно отключить spi1, чтобы в устройствах остался только spi2 /dev/spidev32766?? Сколько не крутил imx6qdl.dtsi и imx6qdl-sodimm.dtsi получается, что в устройствах остаётся либо оба spi, либо один но с неправильным номером /dev/spidev32765.0, по которому уже инициализация дисплея не проходит.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux