Firefly Open Source Community

   Login   |   Register   |
New_Topic
12
New Topic
Print Previous Topic Next Topic

AIO-3399J LVDS

211

Credits

0

Prestige

0

Contribution

intermediate

Rank: 3Rank: 3

Credits
211

AIO-3399J LVDS

Posted at 5/29/2018 17:49:47      View:8261 | Replies:14        Print     [Copy Link] 1#
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
Reply

Use props Report

211

Credits

0

Prestige

0

Contribution

intermediate

Rank: 3Rank: 3

Credits
211
Posted at 5/29/2018 19:58:56      2#
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.
Reply

Use props Report

211

Credits

0

Prestige

0

Contribution

intermediate

Rank: 3Rank: 3

Credits
211
Posted at 6/1/2018 21:21:03      3#
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
Reply

Use props Report

211

Credits

0

Prestige

0

Contribution

intermediate

Rank: 3Rank: 3

Credits
211
Posted at 6/5/2018 01:41:27      4#
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
Reply

Use props Report

211

Credits

0

Prestige

0

Contribution

intermediate

Rank: 3Rank: 3

Credits
211
Posted at 6/7/2018 16:51:34      5#
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

Reply

Use props Report

211

Credits

0

Prestige

0

Contribution

intermediate

Rank: 3Rank: 3

Credits
211
Posted at 6/8/2018 13:09:55      6#
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
Reply

Use props Report

211

Credits

0

Prestige

0

Contribution

intermediate

Rank: 3Rank: 3

Credits
211
Posted at 6/10/2018 18:24:13      7#
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
Reply

Use props Report

211

Credits

0

Prestige

0

Contribution

intermediate

Rank: 3Rank: 3

Credits
211
Posted at 6/11/2018 18:20:54      8#
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

Reply

Use props Report

211

Credits

0

Prestige

0

Contribution

intermediate

Rank: 3Rank: 3

Credits
211
Posted at 6/13/2018 13:56:26      9#
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
Reply

Use props Report

211

Credits

0

Prestige

0

Contribution

intermediate

Rank: 3Rank: 3

Credits
211
Posted at 6/13/2018 14:44:53      10#
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
Reply

Use props Report

Return to List
12
You need to log in before you can reply Login | Register

This forum Credits Rules

Quick Reply Back to top Back to list