Olimex A20-OLinuXino-Lime2

The A20 Olinuxino LIME2 is an OSHW board produced by Olimex.

The A20-OLinuXino-LIME2 is an upgrade of the Olimex A20-OLinuXino-Lime, but it comes with 1GiB RAM and gigabit ethernet. There are also two extra variants with onboard storage: A20-OLinuXIno-LIME2-4GB with 4GB NAND and A20-OLinuXino-LIME2-eMMC with 4GB eMMC.

= Identification =

The board is marked as A20-OLinuXino-Lime on both the top and bottom of the PCB.

Note that it is not marked as Lime2. The Lime2 variant can be distinguished by the presence of two dram chips on the top of the board between the SoC and the USB connectors, also the ethernet phy is on the bottom of the board instead of the top.

= Sunxi support =

Current status
Supported.
 * Mainline kernel patches posted to linux-arm-kernel mailing list 2014-09-28
 * Mainline u-boot patches posted to u-boot mailing list 2014-09-28

Manual build
You can build things for yourself by following our Manual build howto and by choosing from the configurations available below.

Sunxi/Legacy U-Boot
Use the A20-OLinuXino_Lime2 build target. _FEL version is also available for USB booting.

Mainline U-Boot
Use the A20-OLinuXino-Lime2_defconfig build target or A20-OLinuXino-Lime2-eMMC_defconfig if you have the eMMC version.

WARNING Revisions H and newer need an extra u-boot config.

Sunxi/Legacy Kernel
Use the a20-olinuxino_lime2.fex file. (Please note that this fex file adopted DRAM clock setting from the Lime2's predecessor - only dram_tpr4 differs for unknown reasons. Using this fex file the DRAM is clocked with just 384 MHz, which costs some few percent performance depending on the application used.)

Mainline kernel
Use the sun7i-a20-olinuxino-lime2.dtb device-tree binary.

= Tips, Tricks, Caveats =

FEL mode
The Recovery button (under sata connector, nearest hdmi connector) triggers FEL mode.



GMAC u-boot config
From Revision H onward, the Lime2 comes with a Microchip KSZ9031 gigabit ethernet phyceiver. These need the following line added to the u-boot config (in configs/A20-OLinuXino-Lime2_defconfig): CONFIG_GMAC_TX_DELAY=3 Do not set this to another value but 3.

This Microchip PHY chip is also getting significantly hotter than the old Realtek RTL8201CP PHY.

Expansion ports
The internal GPIO headers appear to be mirrored compared to the original Lime boards. Due to this there are specific A20-OLinuXino-Lime2-UEXT adapters, however as of 2014-09-28 these do not appear to be available directly from the Olimex shop.

Booting from SPI Flash
See the main Bootable_SPI_flash article for generic guides on how to boot from SPI flash. Included here are two pictures of a SPI NOR Flash setup with a LIME2. This requires soldering wires to 3 pads on the empty NAND socket in order to get access to the PC0,PC1,PC2 pins, which makes it more or less just a proof of concept solution. But it would be great if Olimex considers adding an on-board SPI flash to the future revisions of the A20-OLinuXino-Lime2 board just like they have recently done this with eMMC. Because this can allow having SATA or network boot without any need to use an SD card for storing the U-Boot bootloader.

SATA power connector
Unlike other sunxi boards the Olimex boards don't use the JST XH 0.1"/2.5mm header for SATA power but the smaller JST PHR-2 header normally used for connecting LiPo batteries.

Hardware reliability
There are known cases where Lime2 boards are failing in the wild. The main suspects are DRAM clock speed and CPU core voltage. For more information see [Hardware Reliability Tests].

DRAM clock speed limit
DRAM is clocked at 480 MHz by the hardware vendor (in fact even 532Mhz is mentioned in the blog). The board uses somewhat non-standard resistors for ZQ calibration (ZQ = 330 Ohm, SZQ = 330 Ohm), but at least they seem to be the same in Lime2 revisions from Rev.B to Rev.E according to the board schematics. Still it's best to always mention the board revision in the results table in order to avoid any surprises.

DRAM test results
Having done runs on a larger set of boards, initial test results looked appalling. Machines that where known to have caused trouble in the past, failed within the hour. Others kept going for a few hours actually. We did notice temperature variation influences. On a Monday, the heating in the building was broken and the ambient temperature was only 20 degrees Celsius and 3 boards ran overnight without a problem. On Wednesday the heating was fixed and the ambient temperature rose to 23 degrees Celsius and all three boards had crashed. All of the initial 6 test subjects crashed and failed at their stock 480 DRAM frequency setting!

Expanding this test to influence ambient temperature, even more interesting results where found. For example, 456 Mhz seemed stable at 22 degrees Celsius, but with an ambient temperature of 50 degrees Celsius a few boards still crashed. Lowering the frequency even more, to 432 MHz stabilized that and thus the ambient temperature was increased to 70 degrees Celsius. Here the sunxi_tp_temp, which is very unreliable, reported core temperatures of about 77 degrees Celsius. The board however remained running stable at least one hour.

The full tests results can be seen in this sheet, and can eventually be modified into table below.

= Adding a serial port =



There is a clearly marked UART0 connector on the edge of the board beside the ethernet connector. All you have to do is attach some leads according to our UART howto.

= Pictures =

= See also =


 * Olimex A10-OLinuXino-Lime
 * Olimex A20-OLinuXino-Lime
 * Lime2 schematics & CAD files

Manufacturer images
Olimex images for Lime2