mantech 53 17 марта, 2023 Опубликовано 17 марта, 2023 · Жалоба В 10.03.2023 в 10:48, sasamy сказал: он очень подробно описан в мануале Да как сказать... Объясните вот эту китайскую грамоту: For PHY0: ? Configure the reg_verf1p6 (differential mode voltage) in reg0x1114 to 4; ? Configure the reg_vref0p8 reg0x1114 (common mode voltage) in reg0x1114 to 3; ? Start en_cp, en_mipi, en_lvds, and en_comboldo in reg0x1110, in turn. Что это за регистры с таким адресом? ЗЫ. Может все-таки есть какой-то исходник из линукса по иниту LVDS? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 0 17 марта, 2023 Опубликовано 17 марта, 2023 (изменено) · Жалоба On 3/17/2023 at 12:26 PM, mantech said: Что это за регистры с таким адресом? регистры DPHY которые не описаны в мануале On 3/17/2023 at 12:26 PM, mantech said: Может все-таки есть какой-то исходник из линукса по иниту LVDS? инит тут https://github.com/mangopi-sbc/tina-linux-5.4/blob/main/drivers/video/fbdev/sunxi/disp2/disp/de/lowlevel_v2x/de_lcd_sun50iw10.c#L390 lvds_combphy_open(sel, panel); тут https://github.com/mangopi-sbc/tina-linux-5.4/blob/main/drivers/video/fbdev/sunxi/disp2/disp/de/lowlevel_v2x/de_dsi.c#L789 регистры DPHY тут https://github.com/mangopi-sbc/tina-linux-5.4/blob/main/drivers/video/fbdev/sunxi/disp2/disp/de/lowlevel_v2x/de_dsi_type.h#L977 регистры lcd тут https://github.com/mangopi-sbc/tina-linux-5.4/blob/main/drivers/video/fbdev/sunxi/disp2/disp/de/lowlevel_v2x/de_lcd_type.h#L603 Изменено 17 марта, 2023 пользователем sasamy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 17 марта, 2023 Опубликовано 17 марта, 2023 · Жалоба 1 час назад, sasamy сказал: инит тут Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 20 марта, 2023 Опубликовано 20 марта, 2023 (изменено) · Жалоба В 10.03.2023 в 10:48, sasamy сказал: он очень подробно описан в мануале 5.1.4.2 LVDS Mode Configuration Process в части таймингов не отличается от инита параллельного RGB + есть дополнительные настройки енкодера LVDS Да уж, вообщем от их подробного описания так ничего и не понятно((( Может у кого-нибудь получилось запустить этот долбанный LVDS? Пробовал и так и сяк - один фиг на всех ланах 0В, относительно земли, хотя если включен режим RGB картинка есть, т.е. тайминги нормальные, а тут молчок. В полне возможно из за китайской дурости секретить свои регистры, ибо в этом combo phy одни магические цифры, в даташите совсем не совпадают.. Жуть вообще. Пробовал разобраться в линуксовых исходниках, но чуть башку не сломал, там такое переплетение всего и вся, что лучше сходить и выпить... Вот что-то подобное наваял в добавок к своему иниту: struct disp_panel_para * panel_info = (struct disp_panel_para *)SAVEBG_BASE; printf("Init Display\n"); tcon_set_reg_base(0, DISP_TCON_LCD0); if (DEVICE_NUM>1)tcon_set_reg_base(1, DISP_TCON_TV); tcon_top_set_reg_base(0, DISP_TCON_TOP); dsi_set_reg_base(0, DISP_DSI_BASE); CCU->DSI_BGR_REG&=~(1<<16); //assert reset DSI PHY CCU->DSI_CLK_REG=(1UL<<31)|(1<<25)|(2-1); //clock on, PLL_VIDEO0(4x), N=2, M=2 => 1188/2/2 = 297 MHz hal_delay_us(1000);//!!!!! CCU->DSI_BGR_REG|=(1<<16); //de-assert reset DSI PHY CCU->LVDS_BGR_REG&=~(1<<16); //assert reset TCON_LCD CCU->LVDS_BGR_REG|=(1<<16); panel_info->lcd_if = LCD_IF_LVDS; panel_info->lcd_lvds_if = LCD_LVDS_IF_SINGLE_LINK; panel_info->lcd_lvds_mode = LCD_LVDS_MODE_NS; panel_info->lcd_lvds_colordepth = LCD_LVDS_6bit; panel_info->lcd_lvds_io_polarity = 0; panel_info->lcd_dsi_lane = LCD_DSI_4LANE; panel_info->lcd_dsi_port_num = DISP_LCD_DSI_SINGLE_PORT; panel_info->lcd_dclk_freq = 297000000; lvds_open(screen_id, panel_info); Черт его знает, что там еще надо... ЗЫ. Ну и вопрос в догонку, может есть у кого образ линукса с использованием LVDS 0 под матрицу 1024х600, или 1366х768. Хоть проверить, может я проц уже спалил) Изменено 20 марта, 2023 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 0 21 марта, 2023 Опубликовано 21 марта, 2023 · Жалоба On 3/20/2023 at 6:09 PM, mantech said: Ну и вопрос в догонку, может есть у кого образ линукса с использованием LVDS у меня нет готового кода - к платам что у меня в наличии LVDS не подключить и задачи такой не было Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 21 марта, 2023 Опубликовано 21 марта, 2023 · Жалоба 16 минут назад, sasamy сказал: у меня нет готового кода - к платам что у меня в наличии LVDS не подключить и задачи такой не было Эт печально, значит и у меня нет никакой уверенности, что этот код в вышеприведенных исходниках вообще рабочий(( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 21 марта, 2023 Опубликовано 21 марта, 2023 · Жалоба 4 часа назад, sasamy сказал: у меня нет готового кода ЗЫ. А можете скинуть образ, как в прошлый раз для эзернета, но с включенной любой матрицей под 0 канал LVDS, без проверки, просто теоретически? Я посмотрел бы хоть, есть-ли что-то на дифпарах или там совсем код левый и нет смысла в нем копаться... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 0 21 марта, 2023 Опубликовано 21 марта, 2023 (изменено) · Жалоба On 3/21/2023 at 2:01 PM, mantech said: скинуть образ, как в прошлый раз для эзернета, но с включенной любой матрицей под 0 канал LVDS, без проверки, просто теоретически? в прошлый раз я скидывал образ с майнстримным ядром с которым сам разбирался и сборка заняла у меня пару минут, но в нем нет кода инициализации LVDS. Чтобы подправить китайское ядро и собрать образ надо пол дня потерять а в итоге просто ткнуть пальцем в небо. Паралельный дисплей в ядре по ссылке от тина линукс вроде работал (но это не точно - уже забыл), думаю что и LVDS должен работать. Там настолько всё через ... сделано что мне не охота возвращаться к этой тина линукс. Там есть подводные камни - например при отключении PWM подсветки дисплея ядро перестаёт загружаться - это чтобы вы понимали размер пальца в небе. Изменено 21 марта, 2023 пользователем sasamy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 21 марта, 2023 Опубликовано 21 марта, 2023 · Жалоба 49 минут назад, sasamy сказал: Там настолько всё через ... сделано что мне не охота возвращаться к этой тина линукс. Ясненько, думал что у вас там была поддержка LVDS для стартеркитовского модуля T113-NANO-LV, а тут вон оно как((( Получается, кто купил этот модуль задействовать LVDS и не сможет, или там его кто-то другой поддерживает? 52 минуты назад, sasamy сказал: Паралельный дисплей вроде работал Так то параллельный, он документирован и у меня он работает, а это комбо phy - еще та гадость(( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 21 марта, 2023 Опубликовано 21 марта, 2023 (изменено) · Жалоба 5 часов назад, mantech сказал: он документирован и у меня он работает Смотрю еще раз этот даташит и с каждым разом удивляюсь, например If configuring the same source data output mode of dual link, except the reg0x84 register of TCON_LCD0 needs be configured, the LCD_LVDS_IF_REG.LCD_LVDS_CLK_SEL, LCD_LVDS_IF_REG.LCD_LVDS_LINK, LCD_LVDS_IF_REG.LCD_LVDS_MODE, and LCD_LVDS_IF_REG.LCD_LVDS_BITWIDTH of the reg0x244 register need be configured. Что за "reg0x244"? Это в каком разделе, ТCON или опять секретный DPHY? Или просто перепутали вот этим LCD_LVDS1_ANA_REG 0x0224 LCD LVDS Analog Register 1 Второе - если канал 0 управляется с DPHY, тогда зачем в списке 2 регистра LVDS? LCD_LVDS0_ANA_REG 0x0220 LCD LVDS Analog Register 0 LCD_LVDS1_ANA_REG 0x0224 LCD LVDS Analog Register 1 А это вообще что означает Configure the reg_verf1p6 (differential mode voltage) in reg0x1114 to 4; Т.е. в этот регистр нужно просто записать значение 4, или ? Вообщем какая-то муть или тайный смысл, что-ли... Изменено 21 марта, 2023 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 0 21 марта, 2023 Опубликовано 21 марта, 2023 (изменено) · Жалоба On 3/21/2023 at 5:00 PM, mantech said: думал что у вас там была поддержка LVDS для стартеркитовского модуля T113-NANO-LV на контакты модуля LVDS выведен - он на тех же пинах что и RGB, а как к ним подключаться без подходящей материнки ? На обычной MB подключение LCD не предусмотрено и пины задействованы для других ф-ий, а на LCD-MB они напрямую к дисплею с параллельным RGB подключены On 3/21/2023 at 10:56 PM, mantech said: Или просто перепутали вот этим LCD_LVDS1_ANA_REG 0x0224 LCD LVDS Analog Register 1 этот регистр документирован - есть там похожие по названию биты на LCD_LVDS_IF_REG.LCD_LVDS_BITWIDTH или нет ? On 3/21/2023 at 10:56 PM, mantech said: Configure the reg_verf1p6 (differential mode voltage) in reg0x1114 to 4; Т.е. в этот регистр нужно просто записать значение 4, или ? это разве не он записывается dphy_dev[sel]->combo_phy_reg1.dwval = 0x43; https://github.com/mangopi-sbc/tina-linux-5.4/blob/0d4903ebd9d2194ad914686d5b0fc1ddacf11a9d/drivers/video/fbdev/sunxi/disp2/disp/de/lowlevel_v2x/de_dsi.c#L792 похоже вы там половину кода инициализации пропустили, не удивительно что не работает Изменено 21 марта, 2023 пользователем sasamy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 22 марта, 2023 Опубликовано 22 марта, 2023 (изменено) · Жалоба 10 часов назад, sasamy сказал: на контакты модуля LVDS выведен - он на тех же пинах что и RGB, а как к ним подключаться без подходящей материнки ? Да, это я заметил, и очень удивило, честно сказать, зачем выпускать такой продукт без поддержки аппаратной и программной - загадка... 10 часов назад, sasamy сказал: этот регистр документирован Хорошо, посмотрю внимательнее.. 10 часов назад, sasamy сказал: dphy_dev[sel]->combo_phy_reg1.dwval = 0x43; Тут очень сложно разобраться из-за того, что каждый по разному обзывает все эти регистры и поля. И этот код инициализации у меня в программе есть, но результата работы его не заметно. 10 часов назад, sasamy сказал: похоже вы там половину кода инициализации пропустили Не пропустил, он весь есть в функции lvds_open(screen_id, panel_info); ЗЫ. Досадно то, что только в этом проце так извращенно выглядит инит LVDS, я раньше делал инит для А10, А20, А40 - там все по фен-шую, документировано и никаких combo phy не используется... Изменено 22 марта, 2023 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 22 марта, 2023 Опубликовано 22 марта, 2023 (изменено) · Жалоба Когда-то я ковырялся со вторым TCON (который для TV-OUT) в T113-s3. Тоже не запускался, пока не проинициализировал TOP-регистры. Возможно, с включением LVDS аналогично. Тоесть мало установить и проинициализировать то, что очевидно. Ещё надо разрешить тактирование TOP-регистров и проинициализировать их. О существовании этих регистров рассказал сорец Tina-Linux для T113-s3. Как раз - тот случай, когда делаешь всё правильно, а оно не работает. Потому что не всё разрешено. Изменено 22 марта, 2023 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 3 апреля, 2023 Опубликовано 3 апреля, 2023 · Жалоба На LVDS0-CK выходах получил сигнал... Включил в CCU DSI и проинитил dsi-phy в соответствии с https://github.com/mangopi-sbc/tina-linux-5.4/blob/a0e8ac494c8b05e2a4f8eb9a2f687e39db463ffe/drivers/video/fbdev/sunxi/disp2/disp/de/lowlevel_v2x/de_dsi_type.h#L1084 Код в моём репо - бранч develop Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 3 апреля, 2023 Опубликовано 3 апреля, 2023 · Жалоба 2 часа назад, GenaSPB сказал: На LVDS0-CK выходах получил сигнал... Да, я тоже уже разобрался с ним еще в конце марта, там была фишка в том, что забыл включить клок для DSI в CCU_DSI_BGR... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться