LVDS (LCD) on mainline kernel A20 (olimex-micro)

Recommended Posts

I am really confused about how to connect an LVDS monitor to the board.

We used 3.x legacy kernel and used a .fex file for this in the past.

But it is time to move to mainline, and it is confusing me.


Since LVDS is not plug and play, we need to tell the parameters of the screen somehow. That is clear.

I found several ways of pushing parameters to the system:

1. Compile into kernel

2. Compile into U-boot

3. Device Tree

4. Device Tree Overlay

5. Kernel command line


According to these articles i have to compile them into U-boot:


But it seems to me that it is a step backwards compared to .fex files.

(and I have not figured out how to recompile U-boot in armbian yet)


I found a commit, which states that there is some support for LVDS on A20s:

This suggest that i could somehow use Device Tree.

Which i guess would be more future proof, but i do not know how to tell the exact parameters of the screen.


Also i need to set the brightness, and turn off the monitor sometimes, how do I do that nowadays?


Link to post
Share on other sites
Armbian is a community driven open source project. Do you like to contribute your code?

I'm also interested in information about getting the 5" LVDS display running.


The documentation says it's only running on the legacy kernel - but legacy today is kernel 5.4.82, while the current kernel is 5.9.something. There is no /boot/script.bin that can be modified anymore.

The Banana Pi wiki page links to a separate LCD page that talks about some uboot and kernel patches from PaulK that are from 2018, 2 years ago.


So what is the current status?

Link to post
Share on other sites

I was going through docs somewhat recently (just fixing links) and came across that section (the one @cweiske linked to in our docs).


It struck me as possibly quite out of date (as many things have moved along in the meantime) however I do not own this hardware and have never tried to get it working, myself.


Therefore, if you guys tinker with this, please keep notes and post them back here to help everyone else.  Even if you make any partial progress in the meantime, post your results and others can possibly come along and help.


If and when someone is able to get this working, a PR updating the docs would be best, however even if you leave some halfway decent notes here I should be able to clean those up and get them into the docs at some point, as I have all the repos and everything set up already and I know how to use git.


Sorry I don't know anything more specific to help you with the actual problem at hand.  Best of luck!

Link to post
Share on other sites

Seems to be possible
[v5,00/12] drm/sun4i: Add A83t LVDS support*
Andrey Lebedev

check a20, a83t and tbs-a711 device trees

drm/sun4i: lvds: Invert the LVDS polarity

Link to post
Share on other sites


I am trying it but without success. I use this tutorial:

LCD is switched on during U-Boot but when kernel is starting I have only red screen (without signal) :-/ but it's half success.

There is info how to add drivers to kernel for LVDS but still cannot compile. Compile is stopped with error:

Problem is, that I want to add other LCD without touch driver. And I am not sure where I have to add "panel: panel {" to. I am not expert, so if you have success or any tips, please share it


Thank you

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.