Teeing up a display for an embedded system is a little more complex than buying a monitor.
At the core of it is one of my favorite sayings, “The wonderful thing about standards is that there are so many to choose from.”
Starting from the screen end of things, I want a screen that is roughly 150x90mm in size. Because I want it viewable from the side and ideally all angles, I have a strong preference for an IPS display. I found a screen that is really nice,Topfoison’s 6″ IPS display.
This display uses MIPI DSI for its video signal, specifically a 4 lane MIPI DSI interface (because standards restrict choice too much many standards allow incompatibility within themselves).
MIPI DSI is an interesting standard, it is a mobile industry standard (Mobile Industry Processor Interface — pronounced lowercase as mipi, like nbn) which essentially specifies a number of half duplex SERDES links for throwing video around. Many mobile phones seem to have adopted the standard as it removes the need for a video converter — reducing part count/cost, simplifying cabling and reducing internal EMI. The display and chip manufacturers have shifted with the market. However as it is fairly new mostly it is new/expensive hardware with support.
If you are meant to be doing something else here is some further reading, nice overview, detail with pretty scope pictures.
So, looking at hardware to plug in to this we have:
- BananaPi M1, the board I have been planning on using.
Is not listed as supporting MIPI DSI, does support relatively generic LVDS output.
Graphics processor is the ARM MALI400 MP2, the newer ARM MALI cores include a display controller but I believe this wasn’t the case for the MALI400. I haven’t been able to find documentation on what display controller Allwinner used in the A20 chipset.
Some websites do claim that BPI has a MIPI DSI output, I think they are wrong and are simply assuming that the RaspberryPi look-alike video header is a function-alike video header.
- BananaPi M2
Uses the Allwinner A31s (datasheet) chipset which does not support MIPI DSI output.
The Allwinner A31 does, but it seems they removed it when pluralising chip.
The SinoVoip website lists the output as “LVDS/RGB/CPU display interface (DSI) for raw LCD panels” on the product page. However the DSI gets dropped when getting into the detailed LCD connection information.
- BananaPi M3
Uses the Allwinner A83T chipset
Specifically states support for MIPI DSI and MIPI CSI interfaces, with dedicated headers.
However this isn’t available yet, when contacted SinoVoip suggested it should be out around the end of this year.
- Raspberry Pi
The Raspberry Pi uses a Broadcom chipset which supports and has a header for 2 lane MIPI DSI output.
However due to driver issues this output isn’t generally useable.
There are complex projects made with custom hardware to convert the HDMI output to MIPI DSI.
The Raspberry foundation produced a screen which uses the MIPI DSI output with kernel support. Apparently they managed to do it in such a way that generic boards aren’t supported, just theirs.
- Lemon Pi
Uses an Actions S500 chipset
Specification states support for MIPI DSI but doesn’t specify how many lanes and the S500 documentation doesn’t mention DSI.
Not yet available, indications that things are happening so may ship this year.
Includes (optional) built in bootable permanent storage.
- Other boards
There are other systems out there which aren’t suitable for various reasons.
For example the H4 Hummingbird uses the Allwinner A31 with MIPI DSI output but at $70 isn’t competitive.
I have ordered the official SinoVoip 7″ LCD touchscreen. This is a non-IPS 7″ display connected to the LCD connector via a dedicated adaptor board. It also includes a touchscreen, no details so am assume it is a capacitive panel. The main reason for getting this screen is that as it is distributed by SinoVoip it should be well supported, the price is rather high but I haven’t inquired about production quantities.
I am also negotiating an order of the Topfoison 6″ IPS screen with HDMI adaptor. The adaptor seems to add about $5 – 10 USD per unit and I expect a HDMI cable will be a few dollars, so the wiring ends up being a substantial percentage of the screen costs. Currently using MIPI DSI directly isn’t an option but I will definitely reevaluate down the track once the next generation of boards comes out.