Ник:
Пароль:

Контакты

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-A40i-SODIMM
Dual LVDS в A40i
АрсТерм
Добавлено 04.09.2024 07:46 Сообщение: 31
АрсТерм
0

Пункты: 173
Регистрация: 23.11.2016
Добрый день.

Спасибо.

Подали команду devmem 0x01C71084 32 0xE0100000 и все заработало.

Цитата
Цитата
Цитата

Подскажите, пожалуйста, как можно поменять два канала LVDS местами?


програмно, насколько знаю, никак


Посмотрел мануал от т507 - там аналогичные LVDS и в описании регистра 0x0084 LCD LVDS Configure Register есть описание бита 29

LCD_LVDS_EVEN_ODD_DIR
0: Normal
1: Reverse
Set the order of even pixel and odd pixel.

можно попробовать его переключить, в мануале а40
эти биты не описаны но бит 30 включающий dual mode работает

Протестировать на работающей системе

прочиать текущее состояние

# devmem 0x01C71084
0xC0100000

установить 29 бит

devmem 0x01C71084 32 0xE0100000

Дописать в драйвере если рабоатает надо тут

drivers/gpu/drm/sun4i/sun4i_tcon.c

Цитата

static void sun4i_tcon0_mode_set_lvds(struct sun4i_tcon *tcon,
const struct drm_encoder *encoder,
const struct drm_display_mode *mode)
...

if (tcon->lvds_dual_link) {
reg |= SUN4I_TCON0_LVDS_IF_DUAL_LINK;
reg |= BIT(29);
}

regmap_write(tcon->regs, SUN4I_TCON0_LVDS_IF_REG, reg);
...
Спуститься к концу Подняться к началу
Персональная информация
Mikchel
Добавлено 16.09.2024 17:15 Сообщение: 32
Mikchel
0

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

Экран
TM123XDGP01

там только общая диаграмма для LVDS.


Если это ваша панель

https://285624.selcdn.ru/syms1/iblock/079/0791a73aacbce55d3ee38fcc7ef3ef41/9c3642e976a213ab0aa0be6370209aee.pdf

можете попробовать этот имидж, прописал параметры панели по этой доке

https://dropmefiles.com/lYK25

посмотрите там что показывает

modetest -c



Добрый день. В моем случае проблема была в подключении панели. Сначала проблемы с питанием, потом оказалось, что выводы сброса и standby не подключены.
Когда стал ими управлять, то картинка появилась. Единственная проблема - справа примерно на четверть экрана серая область. Грубо говоря прозрачность 50% - картинка + затенение. Вохможно не угадал с таймингами, щас пытаюсь их двигать, но серая область никак не меняется.
По цветам вроде бы нормально.
Возможно это проблема с третьими парами LVDS .
Спуститься к концу Подняться к началу
Персональная информация
Mikchel
Добавлено 16.09.2024 17:45 Сообщение: 33
Mikchel
0

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

Экран
TM123XDGP01

там только общая диаграмма для LVDS.


Если это ваша панель

https://285624.selcdn.ru/syms1/iblock/079/0791a73aacbce55d3ee38fcc7ef3ef41/9c3642e976a213ab0aa0be6370209aee.pdf

можете попробовать этот имидж, прописал параметры панели по этой доке

https://dropmefiles.com/lYK25

посмотрите там что показывает

modetest -c



Забавно, но мне дали тайминги от этой же панели, которые работали с вашим модулем с imx. И они радикально отличаются от тех что вы привели в вашем варианте device tree

TA123XDGP01",60,1920,720,11185,30,30,3,3,4,2,0,FB_VMODE_NONINTERLACED,FB_MODE_IS_DETAILED

Короче, с вашими таймингами все заработало.
Честно говоря из того даташита на экран трудно опнять от чего появились такие тайминги. Можете пояснить логику их вычисления? Дается общее время blank и active, ширину импульсов не указывают.
Короче, не однозначно все.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 17.09.2024 01:02 Сообщение: 34
sasamy
4.71

Пункты: 84150
Регистрация: 14.08.2009
Цитата
Честно говоря из того даташита на экран трудно опнять от чего появились такие тайминги. Можете пояснить логику их вычисления? Дается общее время blank и active, ширину импульсов не указывают.
Короче, не однозначно все.


В даташите однозначно написано что панель работает в DE mode - используется только сигнал DE а синхросигналы hsync/vsync игнорируются поэтому важно только полное время vblank и hblank

vblank = vback_porch + vfront_porch + vsync_len

hblank = hback_porch + hfront_porch + hsync_len

https://elixir.bootlin.com/linux/v6.1.110/source/Documentation/devicetree/bindings/display/panel/panel-timing.yaml#L13

так как важна только сумма я разбил на 3 части "на глаз", частоту сделал чуть выше чем в даташите потому что с даташитной появлялся варнинг при старте ядра при настройке какого-то из pll видимо из-за неудачно подобранных коэффиицентов, соотвественно чуть добавил к vblank и hblank "на глаз" чтобы частота кадров была примерно 60 Гц и чтобы они не выходили за пределы min/max указанные в даташите
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 30.09.2024 18:36 Редактировалось 30.09.2024 18:43 Сообщение: 35
Pavel Ivanchenko
Admin
4.32

Пункты: 93175
Регистрация: 24.03.2009
Пол: Мужчина
Обновили сборку ядра - добавили Dual LVDS режим.
Тестировал с панелью LP156WF1-TLF3.
Панель и стандартный переходник (40пин панель на 30пин разъем) заказал на Озон.
С текущей версией материнских плат работать не будет, т.к. потребление по 3,3В панели слишком большое - сработает защита PMIC и выключится.
Для эксперимента подключил внешний стабилизатор.
В следующей версии материнской платы будет добавлен стабилизатор для LCD панели.
Работает нормально.
Attachment file: uploads/forum/forum-LP156WF1-TLF3.pdf
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Процессорные модули » SK-A40i-SODIMM