Firefly Open Source Community

Title: AIO-3399J LVDS [Print This Page]

Author: peksuj    Time: 5/29/2018 17:49
Title: AIO-3399J LVDS
My problem is that I install Ubuntu firmware from Your download page and try connect first HDMI display and it's works greate. But then I try connect LVDS display, check pinouts many time and look linux setting, but nothing came to display, only backround LED brightness. LVDS display works in HDMI to LVDS converter and pinouts is same than AIO-3399J board. Then I look linux setting (using "xrandr") and I dont find any other than HDMI screen. I look internet that there must be all available screens?

I try find answer from Your forum, but no success. Some information that I need add some *.dts file and recompile kernel, but I think there must be easier option?

Also speaker output not work correctly. Connector right channel doesn't work at all and left output is set right in Ubuntu. Maeby some kernel bug?

Thanks, Pekka
Author: peksuj    Time: 5/29/2018 19:58
I download kernel tar from gitlab and edit kernel/arch/arm64/configs/firefly_defconfig file parameters:
CONFIG_LCD_MIPI is not set  --> CONFIG_LCD_MIPI=y

and add these lines:
CONFIG_MIPI_DSI=y
CONFIG_RK32_MIPI_DSI=y

used it to compile kernel and install that then. Cant still find LVDS display xrandr or settings editor.
Author: peksuj    Time: 6/1/2018 21:21
Hi,

Hard kernel learning and now I can compile kernel and flash it to Firefly. But cant still get LVDS singnals. I try rk3399-firefly-linux-edp.dts and get EDP support in Ubuntu. I try rk3399-firefly-linux-mipi.dts and get DSI support. I cant find file rk3399-firefly-aio-linux-lvds.dts. Every information what i found tell to use that file...

Manufactures resource pages I find LVDS configuration details and they use file rk3399-firefly-aio-linux-lvds.dts. I think some information is now wrong...

Sorry my english ;)

Pekka
Author: peksuj    Time: 6/5/2018 01:41
Hi,

Now there is instructions to compile kernel in AIO-3399J resources. Thanks. I use earlier RK3399 instructions to compile kernel.

Still waiting updates to LVDS instructions...

Learning is funny, but frustraiting when cant find any help.


Pekka
Author: luvings    Time: 6/6/2018 19:58
refer to this patch:
https://github.com/FireflyTeam/k ... 0ddbefd2b85bfdf0b03
Author: luvings    Time: 6/7/2018 14:19
首先用示波器量一下mipi clk是否有输出
775这个片子需要dsi时钟,然后复位,3399发mipi cmd初始化
先不用接屏,正常情况下lvds都会有稳定时钟输出
我就说几个关键点
1、3399 mipi输出时钟要正确稳定;
2:mipi时钟正常后775才能复位发送mipi命令
3、dts命令参数需要根据lvds屏微调几个寄存器,这个需要问东芝拿文档
4、dts里把lvds,edp等都有disabled,保证vop控制器只输出mipi信号
                   -------摘取  Firefly开源技术交流②    ywmen 描述
Author: peksuj    Time: 6/7/2018 16:51
Hi,

No I have problem to compile kernel:

CC      arch/arm64/kernel/topology.o
arch/arm64/kernel/topology.c: In function ‘parse_cluster’:
arch/arm64/kernel/topology.c:133:40: warning: ‘%d’ directive output may be truncated writing between 1 and 10 bytes into a region of size 3 [-Wformat-truncation=]
error, forbidden warning: topology.c:133
scripts/Makefile.build:258: recipe for target 'arch/arm64/kernel/topology.o' failed
make[1]: *** [arch/arm64/kernel/topology.o] Error 1
Makefile:983: recipe for target 'arch/arm64/kernel' failed
make: *** [arch/arm64/kernel] Error 2
make: *** Odotetaan keskeneräisiä töitä....

  CC      fs/hfsplus/catalog.o
kernel/relay.c: In function ‘relay_create_buf_file’:
kernel/relay.c:420:35: warning: ‘snprintf’ output may be truncated before the last format character [-Wformat-truncation=]
error, forbidden warning: relay.c:420
scripts/Makefile.build:258: recipe for target 'kernel/relay.o' failed
make[1]: *** [kernel/relay.o] Error 1
make[1]: *** Odotetaan keskeneräisiä töitä....
  CC      fs/hfsplus/dir.o
Makefile:983: recipe for target 'kernel' failed
make: *** [kernel] Error 2

CC      fs/xfs/xfs_discard.o
In file included from fs/xfs/xfs_inode.h:22:0,
                 from fs/xfs/xfs_bmap_util.c:28:
fs/xfs/xfs_bmap_util.c: In function ‘xfs_swap_extents_check_format’:
fs/xfs/libxfs/xfs_inode_fork.h:90:30: warning: ‘<<’ in boolean context, did you mean ‘<’ ? [-Wint-in-bool-context]
error, forbidden warning: xfs_inode_fork.h:90
scripts/Makefile.build:258: recipe for target 'fs/xfs/xfs_bmap_util.o' failed
make[2]: *** [fs/xfs/xfs_bmap_util.o] Error 1
make[2]: *** Odotetaan keskeneräisiä töitä....
scripts/Makefile.build:403: recipe for target 'fs/xfs' failed
make[1]: *** [fs/xfs] Error 2
Makefile:983: recipe for target 'fs' failed
make: *** [fs] Error 2


Is the problem in gcc compiler, config file or dts file ?

I use Your instructions on resource page.


BR,
Pekka


Author: luvings    Time: 6/7/2018 19:52
peksuj Posted at 6/7/2018 16:51
Hi,

No I have problem to compile kernel:

http://en.t-firefly.com/doc/product/info/290.html
Author: peksuj    Time: 6/8/2018 13:09
Hi,

I make all just exacly with that page instructions. I even reinstall Ubuntu, but still same error. I didnt find any help for that error from internet. Is there a new GCC version of aarch64 compiler? My gcc-aarch46 version is 7.3.0. Did You test that instructions?

Thanks for help.
Pekka
Author: peksuj    Time: 6/10/2018 18:24
Hi,

Good news! Many hard hours I finly get compiling success. I try Ubuntu 18 whit different computers but every time same erros when compiling. Then I install Ubuntu 16 and have error when try install aarch64 compiler. I then use "sudo apt-get install gcc-5-aarch64-linux-gnu" and get compiling finished. I think that problem can be in aarch64 copiler 7.3.0 version? I used aarch64 version 5.4.0.

Now I get signal to LVDS display and seeing some stripes. I try set LVDS parameters to dts file. After setting parameters correctly (I think so) I only get blank screen, not anymore something abnormal.

xrandr say:
DSI-0 connected 960x1080+0+0

But my display is 1920x1080  15,6" (dual LVDS) AUO G156HTN02.1

Thanks.
Pekka
Author: peksuj    Time: 6/11/2018 18:20
Hi,

I use this settings:


&dsi {
        status = "okay";
        dsi_panel: panel {
                compatible ="simple-panel-dsi";
                reg = <0>;
                //ddc-i2c-bu
                //power-supply = <&vcc_lcd>;
                backlight = <&backlight>;
                enable-gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
                reset-gpios = <&gpio2 27 GPIO_ACTIVE_HIGH>;
                dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
                dsi,format = <MIPI_DSI_FMT_RGB888>;
                bus-format = <MEDIA_BUS_FMT_RGB888_1X24>; //MEDIA_BUS_FMT_RGB666_1X18
                dsi,lvds-force-clk = <800>; // 800/2/3 ~= 65Mhz
                dsi,lanes = <4>;

        dsi,channel = <0>;

        enable-delay-ms = <35>;
        prepare-delay-ms = <6>;

        unprepare-delay-ms = <0>;
        disable-delay-ms = <20>;

        size,width = <120>;
        size,height = <170>;

        status = "okay";

                panel-init-sequence = [
                        29 00 06 3C 01 05 00 03 00
                        29 00 06 14 01 03 00 00 00
                        29 00 06 64 01 03 00 00 00
                        29 00 06 68 01 03 00 00 00
                        29 00 06 6C 01 03 00 00 00
                        29 00 06 70 01 03 00 00 00
                        29 00 06 34 01 1F 00 00 00
                        29 00 06 10 02 1F 00 00 00
                        29 00 06 04 01 01 00 00 00
                        29 00 06 04 02 01 00 00 00
                        29 00 06 50 04 20 01 F0 03
                        29 00 06 54 04 08 00 08 00
                        29 00 06 58 04 20 03 20 00
                        29 00 06 5C 04 04 00 0B 00
                        29 00 06 60 04 00 05 11 00
                        29 00 06 64 04 01 00 00 00
                        29 00 06 A0 04 06 80 44 00

                        29 00 06 A0 04 06 80 04 00
                        29 00 06 04 05 04 00 00 00
                        29 00 06 80 04 00 01 02 03
                        29 00 06 84 04 04 07 05 08
                        29 00 06 88 04 09 0A 0E 0F
                        29 00 06 8C 04 0B 0C 0D 10
                        29 00 06 90 04 16 17 11 12
                        29 00 06 94 04 13 14 15 1B
                        29 00 06 98 04 18 19 1A 06
                        29 00 06 9C 04 31 00 00 00
                ];

                panel-exit-sequence = [
                        05 05 01 28
                        05 78 01 10
                ];

                disp_timings: display-timings {
                        native-mode = <&timing0>;
                        timing0: timing0 {
                                clock-frequency = <65000000>;
                                hactive = <960>; //800
                                vactive = <1080>; // 1280
                                hsync-len = <10>;   //8//20, 50
                                hback-porch = <0>;  //8//50, 56
                                hfront-porch = <95>;//32//50, 30 //1580
                                vsync-len = <10>; //4
                                vback-porch = <0>; //11
                                vfront-porch = <20>; //17
                                hsync-active = <0>;
                                vsync-active = <0>;
                                de-active = <0>;
                                pixelclk-active = <0>;
                                swap-rb = <0>;
                                swap-rg = <0>;
                                swap-gb = <0>;
                        };
                };
        };
};

Nothing wasn't change when I try use different bus-format:s. I look that my display use VESA standard.

And how I tell config that I use two channel LVDS?

What about panel-init-sequence? I dont find any detail for that in display manual?

Link for manual: http://www.display-solution.com/ ... TN02.0_20160418.pdf


Thanks.
Pekka


Author: leung先森    Time: 6/12/2018 14:39
peksuj Posted at 6/11/2018 18:20
Hi,

I use this settings:

This display match attached file. rk3399-firefly-aio-lvds-Dual.rar (3.59 KB, Down times: 26)






Author: peksuj    Time: 6/13/2018 13:56
Hi,

Thanks for that file. I get error when compiling that: "rk3399-firefly-port.dtsi: No such file or directory". I l
search that in kernel from github but didnt find it. Can I use some other dtsi file?

I try to test changing include files, more errors. Try to use &dsi section to old lvds file but problems with lcd pins...

I think we are very close to success

Thanks,
Pekka
Author: peksuj    Time: 6/13/2018 14:44
I also try use "screen-type = <SCREEN_DUAL_MIPI>;" wich I found in kernel/Documentation/devicetree/bindings/video/rockchip_mipidsi_lcd.txt. But get error for that instance...

I use Your sending dts &dsi section and add to &pinctrl section "lcd_panel_pwr_en" function. It now compile but only single LVDS and no picture in display and trying to make two views in display.

I think that I need go back to Raspberry Pi... I use now about 100 hour and three week only trying to get dual LVDS port to work...


Pekka
Author: peksuj    Time: 6/18/2018 13:58
Hi,

How I can get second LVDS channel to work? I cant get there any signals. I look output with osciloscope and I find signals in first channel but nothing in second channel.


Thanks,
Pekka




Welcome Firefly Open Source Community (https://bbs.t-firefly.com/) Powered by Discuz! X3.1