A20, VGA

100 views
Skip to first unread message

Daft Soft

unread,
Apr 29, 2022, 5:53:07 AM4/29/22
to linux-sunxi
Hi, All!
I've spent a lot of time trying to bring VGA output on A20 up. But no luck at all.
I've managed to configure U-Boot to output to VGA by just enabling hidden line in .config.
I know this should be somehow "routed" through Allwinner's DE, BE, FE, TCON, connectors, bridges, panels...
Could someone please help or give some hints on how to configure DT? I have a lot of mess there around display engine, tcons, front ends and etc in my DT and I'm out of ideas at the moment.

My kernel is 5.2.21. Ask for any additional information.
At the moment I have:
[drm] Initialized lima 1.0.0 20190217 for 1c40000.gpu on minor 0
sun4i-drm display-engine: bound 1e00000.display-frontend (ops 0xc085dc28)
sun4i-drm display-engine: bound 1e20000.display-frontend (ops 0xc085dc28)
sun4i-drm display-engine: bound 1e60000.display-backend (ops 0xc085d2ec)
sun4i-drm display-engine: bound 1e40000.display-backend (ops 0xc085d2ec)
sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops 0xc085c014)
sun4i-drm display-engine: No panel or bridge found... RGB output disabled
sun4i-drm display-engine: bound 1c0d000.lcd-controller (ops 0xc085c014)
sun4i-drm display-engine: bound 1c16000.hdmi (ops 0xc085e140)
sun4i-drm display-engine: bound 1c0a000.tv-encoder (ops 0xc085cbac)
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] No driver support for vblank timestamp query.
[drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 1
sun4i-drm display-engine: fb0: sun4i-drmdrmfb frame buffer device


Daft Soft

unread,
Apr 29, 2022, 6:58:18 AM4/29/22
to linux-sunxi
Sorry, forgot to mention. My DT settings are:


    vga {
        compatible = "vga-connector";
        status = "okay";
        port {
            vga_con_in: endpoint {
                remote-endpoint = <&vga_bridge_out>;
            };
        };
    };

    bridge {
        compatible = "dumb-vga-dac";
        status = "okay";
        ports {
            #address-cells = <1>;
            #size-cells = <0>;

            port@0 {
                reg = <0>;

                vga_bridge_in: endpoint {
                    remote-endpoint = <&tcon0_out_vga>;
                };
            };

            port@1 {
                reg = <1>;

                vga_bridge_out: endpoint {
                    remote-endpoint = <&vga_con_in>;
                };
            };
        };
    };


and in ports of tcon0:

                tcon0_out: port@1 {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    reg = <1>;
                    tcon0_out_hdmi: endpoint@1 {
                        reg = <1>;
                        remote-endpoint = <&hdmi_p0_ep0>;//<0x12>;
                        allwinner,tcon-channel = <1>;
                    };

                    tcon0_out_vga: endpoint@0 {
                        reg = <0>;
                        remote-endpoint = <&vga_bridge_in>;
                    };

                    tcon0_out_tve0: endpoint@2 {
                        reg = <2>;
                        remote-endpoint = <&tve0_in_tcon0>;
                        allwinner,tcon-channel = <0>;
                    };
                };

Arti Zirk

unread,
May 1, 2022, 10:03:28 AM5/1/22
to daft...@yandex.ru, linux-sunxi
On R, 2022-04-29 at 03:58 -0700, Daft Soft wrote:
> Sorry, forgot to mention. My DT settings are:
It maynot help but some time ago I used this Armbian device tree
overlay to get VGA working on A20 Cubietruck
https://gist.github.com/artizirk/636e3fe9320bb0f6af9c419a79157346

Daft Soft

unread,
May 4, 2022, 10:20:31 AM5/4/22
to linux-sunxi
Hi, Arti!
Of course I've tried your overlay.
At the moment I have 14 pairs of lines in dmesg (with some my extra output):
sun4i_drv_add_endpoints: Adding component /vga-connector
sun4i_drv_traverse_endpoints: No output to bind on port, 1, node name: vga-connector, node full name: vga-connector

Searching "No output to bind on port" gives few results (all of them are in Chinese and give unrelated answers).

By the way. I have another question:
How should I set the rest of graphics output? Should I set cmdline or another OF/DT nodes to set kernel output console to exact video output?
If I knew how to set up console output properly, I could start with setting up HDMI (which, I suppose, is much easier).
And after setting up HDMI switch back to VGA.
Reply all
Reply to author
Forward
0 new messages