Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Процессорные модули » SK-iMX6ULL-MOD
Помогите настроить lcd и touchscreen
incredi
Добавлено 18.01.2019 18:55 Редактировалось 18.01.2019 18:56
0
Сообщение: 1
incredi
0

Пункты: 3192
Регистрация: 11.12.2014
1. LCD имеет следующие параметры:
Код
[lcd0_para]
lcd_used = 1
lcd_x = 800
lcd_y = 480
lcd_dclk_freq = 30
lcd_pwm_not_used = 0
lcd_pwm_ch = 0
lcd_pwm_freq = 22000
lcd_pwm_pol = 0
lcd_max_bright = 240
lcd_min_bright = 64
lcd_if = 0
lcd_hbp = 88
lcd_ht = 928
lcd_vbp = 32
lcd_vt = 1050
lcd_vspw = 3
lcd_hspw = 48

Какие значения в соответсвии с этим нужно указать в секции display? И верно ли указаны те, что есть:
Код
display0: display {
bits-per-pixel = <16>;
bus-width = <24>;

display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <30000000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hfront-porch = <??>;
vback-porch = <32>;
vfront-porch = <??>;
hsync-len = <48>;
vsync-len = <3>;

hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};
};


2. Тачскрин был настроен чере i2c на плате sk-imx6s-sodimm так:
Код

&i2c2 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c2_sodimm>;
status = "okay";

polytouch: edt-ft5x06@38 {
compatible = "edt,edt-ft5406", "edt,edt-ft5x06";
reg = <0x38>;
pinctrl-names = "default";
/* pinctrl-0 = <&pinctrl_hog>; */
pinctrl-0 = <&pinctrl_edt_ft5x06>;
interrupt-parent = <&gpio4>;
interrupts = <10 0>;
reset-gpios = <&gpio4 11 GPIO_ACTIVE_LOW>;
};
};


Как это преобразуется на этой плате? Я так понимаю, все i2c изначально отключены.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 18.01.2019 21:26 Сообщение: 2
sasamy
4.71

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

Какие значения в соответсвии с этим нужно указать в секции display? И верно ли указаны те, что есть


тут надо знать какой режим синхронизации использует ваша панель - DE или HS/VS. С параметрами которые штатно прописаны в конфиге не работает ? там как раз для 800х480 и обычно параметры допускаются в широком диапазоне так что подгонка не требуется

2.
Цитата

Как это преобразуется на этой плате? Я так понимаю, все i2c изначально отключены.


надо знать - какие у вас пины свободны - их и конфигурировать.

i.MX 6ULL Applications Processor Reference Manual, Rev. 0, 09/2016

Например, считаем что не используется CSI (он как раз отключен в дефолтном конфиге)
стр. 188

I2C1:
SCL - CSI_PIXCLK
SDA - CSI_MCLK

interrupts - CSI_VSYNC
reset - CSI_HSYNC

pinctrl_i2c1: i2c1grp {
fsl,pins = <
MX6UL_PAD_CSI_MCLK__I2C1_SDA 0x4001b8b1
MX6UL_PAD_CSI_PIXCLK__I2C1_SCL 0x4001b8b1
>;
};

pinctrl_edt_ft5x06: ft5x06grp {
fsl,pins = <
MX6UL_PAD_CSI_VSYNC__GPIO4_IO19 0x80000000
MX6UL_PAD_CSI_HSYNC__GPIO4_IO20 0x80000000
>;
};

&i2c1 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1>;
status = "okay";

polytouch: edt-ft5x06@38 {
compatible = "edt,edt-ft5406", "edt,edt-ft5x06";
reg = <0x38>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_edt_ft5x06>;
interrupt-parent = <&gpio4>;
interrupts = <19 0>;
reset-gpios = <&gpio4 20 GPIO_ACTIVE_LOW>;
};
};
Спуститься к концу Подняться к началу
Персональная информация
incredi
Добавлено 21.01.2019 19:46 Сообщение: 3
incredi
0

Пункты: 3192
Регистрация: 11.12.2014
Цитата
тут надо знать какой режим синхронизации использует ваша панель - DE или HS/VS.

Вот ссылка на инфо о панели: http://wiki.lemaker.org/BananaPro/Pi%3ALCD_Module
Цитата
С параметрами которые штатно прописаны в конфиге не работает ?

Работает, но не всегда. Иногда при загрузке экран мерцает, потом перестаёт.
Цитата

надо знать - какие у вас пины свободны - их и конфигурировать.

Используются X1.17 - UART3_RX и X1.18 - UART3_TX, что соответствует GPIO4-13_UART3RX и GPIO4-12_UART3TX. Я так понимаю, нужно отключить UART3, чтобы не было конфликтов. Или что-то ещё?

pinctrl_edt_ft5x06: ft5x06grp {
fsl,pins = <
MX6UL_PAD_NAND_CE0_B__GPIO4_IO13 0x80000000
MX6UL_PAD_NAND_READY_B__GPIO4_IO12 0x80000000
>;
};

&i2c1 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1>;
status = "okay";

polytouch: edt-ft5x06@38 {
compatible = "edt,edt-ft5406", "edt,edt-ft5x06";
reg = <0x38>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_edt_ft5x06>;
interrupt-parent = <&gpio4>;
interrupts = <13 0>;
reset-gpios = <&gpio4 12 GPIO_ACTIVE_LOW>;
};
};
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 21.01.2019 22:54 Редактировалось 22.01.2019 01:11 Сообщение: 4
sasamy
4.71

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

Вот ссылка на инфо о панели


только там нет никакой инфы о панели - куски конфига для allwinner, я например не помню даже где смотреть чтобы их расшифровать. Собственно с таймингами проблем нет - из названия понятно

hfront-porch = <??>;
vfront-porch = <??>;

это можно посчитать - в китайконфиге есть полная ширина и высота

lcd_ht = 928
lcd_vt = 1050

только они похоже что неправильно прописаны, если считать по горизонтали

800 + 88 + 48 = 936 и это уже больше полного размера 928



а какой тип синхронизации и полярность сигналов - хз.

Цитата
Используются X1.17 - UART3_RX и X1.18 - UART3_TX
...
Я так понимаю, нужно отключить UART3, чтобы не было конфликтов


Чтобы не было конфликта - разумеется пины должны использоваться только для одного контроллера и
вам нужно 4 пина 2 из которых должны иметь возможность комутации на контроллер i2c (я вам написал где в рефмане лучше смотреть) и 2 gpio - для прерываний от тачскрина и его сброса.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Процессорные модули » SK-iMX6ULL-MOD