The A20 driver for HDMI audio is almost done!


UPDATE 20-01-2020: Now the A20 HDMI Audio driver patches are submitted  and KODI images with working HDMI Audio are on our ftp

We blogged few weeks ago about the KODI image done for A20 and A64 by our friends Dimitar Gamishev and Stefan Saraev.

A64 had everything working fine, but the A20 image had no HDMI audio, as there is no such driver in the mainline kernel. This of course made A20 not useful for media center.

We decided to try to solve this problem by ourselves by writing this missing driver and today we have success!

The audio driver for HDMI is working, but is still far from complete as we have to add channel management etc, but with our driver we can hear audio via the HDMI with A20!

We will complete and send the patches to mainline after our Christmas-New Year vacation, so somewhere in January the KODI image (and of course all Olimex official images) for A20 will be updated and will have HDMI audio too!


TERES-I has patch and can work with both LCD and HDMI together


This picture was sent by Roman Beránek from Prusa Research.

He is using two displays one LCD and another HDMI with different resolution.

His patch is being reviewing now.

We also are working on this dual display use for some time, but we want to may dynamically switch between LCD and HDMI so TERES-I can work with projectors, we are close to release it in new image.

Beware! Non grounded TV monitors can damage your OLinuXino


We use cheap TV HDMI monitor to test OLinuXino boards, and we noticed that several OLinuXino boards got burned when connected to the TV monitor and USB-SERIAL-CABLE to the console. UART Tx signal got burned when TV is connected, so we decided to investigate further.

The TV monitor have no grounding on the power supply cable:


We measure the voltage potential between board ground and HDMI cable ground and see 103V:


We usually do this sequanece:

  1. attach HDMI cable to the board
  2. attach UART cable to the board console
  3. plug power supply cable

exactly between point 1 and 2 board burns as 103V voltage potential is between HDMI and UART, the USB cable is connected to PC and grounded.

Board is still safe when UART is not connected but power supply jack just you will see sparks when connect HDMI cable with such TV.

What is the solution? Adding USB-ISO between USB-SERIAL cable and PC solves the burning issues.

More safe solution would be to open the TV and to add grounding cable to chassis and replacing the power connector to one who have grounding too, then the TV will have no such big voltage potentials.

The bottom line is avoid TVs which have no grounding on their power supply cable! If you can’t avoid them try to add grounding yourself, if this is not possible please use USB-ISO to save your OLinuXino from these high potential voltages.

A10s-OLinuXino-MICRO progress


About the hardware:

We made two versions of the A10s prototypes – Rev.A with all components on top and Rev.B with decouplung capacitors on bottom near the BGA chip (both versions are on GitHub).

Then assembled both versions, none of Rev.A worked, so plasing the decouplung capcitors under the BGA is mandatory for the board to work correctly.

From Rev.B the boards work but not stabile, from time to time DDR memory crash and board freezes, this is because we decided that A10s is similar to A10 and the resistor matrixes on the DDR are not mandatory. What we see is that in Linux A10s have same processor ID as A13 which makes us to believe that A10s and A13 are same silicon die just with different ports wired to the different packages TQFP and BGA. The same unstability we see on A13 when try to remove these resistor matrixes, so in the new REV.C we have to keep them.

Another change we will do in Rev.C we are working on now is to add NAND flash on board, which will be optional i.e. we will offer boards with and without NAND assembled.

One bad feature of A10s with the BGA package is that it overheats significant when work at 1Ghz, same we see on the A10 MK802 dongle we have the processor IC overheats up to 60-70C so you cant touch it with finger even at ambient temperature.

A13 do not have such issues as it have big metal pad on bottom side which we connect to large GND ground plane so A13 never ever got temperature higher than the temperature it operates, this makes A13 much more suitable for industrial and automotive applications.

A10 and A10s overheat and we should think for proper heatsink which we to assembly on top of the BGA to dissipate this heat they generate.

As you can see from the picture we added heat sink to A10s as without it it freezes after some hours of work.

The new Rev.C will be ready by the end of February for more extensive testings, this will delay the planned mass production with few weeks.

About the software:


Android 4.0.4 image generated with A10S-SDK from Allwinner is working fine, but do not support Ethernet by default.



Angry Birds works well on HD screen:



You can see here in action Angry Birds on A10s

The Android video player is pretty good at HD playback

for some reason XBMC on Android works worse

Linux support patches are submitted to Linux-Sunxi so A10s software support have no issues.

HDMI doubts


I got many e-mails from people who want to use A13-OLinuXino as home multimedia center and intend to port different media players on it. All they ask can Olimex add HDMI to this board???

I did a little research and actually there are cheap HDMI transceivers which could take the LCD-RGB signals and convert them to HDMI.

One of these ICs is SIL9022A for instance, it seems perfect and we could easily build HDMI shield with it which to connects to the GPIO connector where the LCD signals are present and to make easy connection with HDMI TVs and other appliances.

Silicon Image, the company which produce SIL9022A is very skinny on datasheet and info for this IC though.

I did request info about it and this is what I got as reply:

To provide you with the requested data it is essential to get more detailed information regarding your project.
The whole documentation is under NDA. Please find attached the NDA-Request. Please fill out very carefully.
The most important information are those of the project. After receiving the filled NDA-Request will we forward it to the manufacturer who will generate the data and the agreement.
For using the requested ICs is it binding to be a HDMI licensee. This licensing is related to a yearly fee of 10.000US$ for HDMI-Membership.
The procedure will be directly executed by the HDMI organization. Further information can be found by the help of the following links:

So if we have to build the HDMI shield we will have to pay $10 000 yearly fee to may buy the chips 😎

For A10 processor which have build-in HDMI I guess this licensee is paid by the SoC vendor i.e. Allwinner, as there is no requirement to have HDMI membership in order to buy these processors and make something with them.

So we may drop the idea for HDMI output for A13 and leave the HDMI output for the next A10-OLinuXino which we will develop after we finish with A13 😉


After posting this article I did some more search for HDMI transcievers, TDA9981 seems to be similar to SIL9022A and about same price (well a little bit up) but the datasheet is free to download, so I upload on OLinuXino  GitHub repostory and we are about to make one prototype and test if it works correctly, then prepare the A13-HDMI-SHIELD.

I’m still puzzled why Silicone Image have this weird policy to not allow development with their IC if you first do not pay HDMI organization membership, this stops all small volume projects for sure, but it’t their choice, fortunately for us there are also Analog Devices, NXP and many others who offer similar solutions.

EDIT 21.05.2012:

I’m just looking CH7009B datasheets
it have both DVI and analog RGB video, so will be possible to implement both HDMI without sound (as DVI and HDMI encoding is same) + VGA with one single chip

This may be the best approach as DVI have no royalties, and we will be able to make resolutions 1980x1080p via DVI and 1024x768p by VGA