We’ve had a lot of people asking about alternative processors; a lot of suggestions on what we should be making available in EOMA68 form-factor, as well as quite a lot of criticism for only having a Dual-core ARM Cortex A7 1.2ghz. The list of checkboxes needed to be ticked for an ethical eco-conscious Computer Card is really quite long: no NDAs, full sources, no spying built into the hardware, reference designs available, datasheets, and much more, so we thought we’d take you through some of the top ones…
|Processor||Ingenic jz4775||Rockchip RK3188||Allwinner A64||Qualcomm Snapdragon 410c||Allwinner A20||Freescale iMX6||Any Intel Atom SoC|
|Power consumption||2 watts||Est 4-5 watts||Est 5 watts (clock-limited)||Est. 4 watts||Max of 3.5 watts||6 watts||TOO MUCH|
|NDA||NO||YES||YES||YES||YES (most info is public)||No||YES|
|Reference Schematics||YES||Yes (thank you Tom Cubie)||Yes||Yes||YES||Yes||NO|
|Reference PCB||YES||Yes (thank you Tom Cubie)||Yes||NO (PDFs only)||YES||Yes||NO|
|GPL-compliant bootloader||YES||MAYBE (have to check)||NO (libdram)||YES||YES||Yes||Under NDA only|
|GPL-compliant u-boot||YES||Yes||YES (sort-of)||YES||YES||Yes||NO (contains spying hardware)|
|GPL-compliant kernel||YES||Yes||YES||YES||YES||Yes||Yes (but with spying software)|
|GPL-compliant 3D GPU||YES||NO (MALI)||NO (MALI)||YES (Freedreno)||NO (MALI)||Yes (Etnaviv)||YES|
|GPL-compliant Video Engine||YES||NO||NO (reverse-engineered partly)||NO||NO (part rev-engineered)||NO (proprietary)||YES|
|Example OS (full source)||Yes (but none "Libre" (too old)||Yes||Yes||YES||YES (huge!)||Yes||YES|
|Estimated time||2-3 months||2-3 months||2-3 months||4-6 months||2-3 months||2-3 months||8-10 months|
|Estimated cost||$10,000+||$10,000+||$10,000+||$25,000+||$10,000 appx||$10,000 appx||$100,000+|
Other SoCs such as the Allwinner A31 and many like it were excluded from this list because of restricted video output resolutions (the A31 and other budget processors can only handle 1280x800). EOMA68 requires a minimum of 1366x768. It was only through persistent questioning of Ingenic tech support that the Ingenic jz4775 was included because it turns out it’s the VPU that is only able to do 1280x720 whereas the LCD controller can handle 1920x1080. Samsung Exynos processors are off the table completely because Samsung won’t deal with anyone outside of Korea: Hardkernel are based in Korea, and they enable the e-fuses to blow a proprietary bootloader into the internal NAND which only they have control over. Texas Instruments OMAP4 and OMAP5 processors are off the table because they are considered to be "Weapons" - just like those 100-foot long tapered "oil pipes" - and so are restricted under U.S. BXPA munitions laws, despite the fact that they’re manufactured in the Far East.
So we are left with those on the above table, and it should be clear that there really is only one winner here: the A20. It should also be pretty clear that there is literally not a single processor that checks every single box! As in, there is not a single processor in the world that is eco-conscious, respects software freedom, is ethical and accessible. This is a pretty insane situation to be in, in the year 2016. Let’s highlight the issues with each:
(CEDAR) which has only been partly reverse-engineered. The range of OSes available are enormous: it even has the L4 Microkernel OSes L4Linux and L4Android.
1.2ghz MIPS, with performance being somewhat lacking. The only decent OSes left for it are Debian, but the Libre variants were abandoned years ago due to lack of available MIPS32 hardware.
out of their minds. 17 mm SoCs with 1380 pins means that 12-layer PCBs are needed, with track clearances almost 3 times narrower than any reasonable factory in China can manage, and VIAs required to be made with laser drilling (which is incredibly expensive). Most notably, Intel has forgotten to make available a Power Management Chip. What’s the point of giving people access to a processor - under NDA - if there’s no way to power it? And, how are we going to bring you a long-term eco-conscious design where the processor is only available from its manufacturer for under one year and it takes longer than that to design the board? No wonder Intel have shut down their tablet and smartphone division!
independent, just like all the teams inside Allwinner) seem to have not got the memo about the fact that they’re a hardware company. If you sell hardware, stop trying to make the software proprietary. Give us the 200 lines of code in libdram, we’ll make the board. Don’t give us the full source, we won’t!
They’ve clearly taken Linaro’s advice to heart and come up with the goods: even created an example developer board (the DragonBoard). The only things left are that they need to provide a full reference design (PCB CAD files) and to provide the full source of the VPU: they would then take absolute first place as being the fully-libre, ethical, eco-conscious fabless semiconductor company. Despite rampant spyware-capable, NSA-friendly hardware in the past. Huge irony there, but we don’t judge them on past performance, as they might get scared and stop doing the ethical stuff.
power-hungry monster, and it’s expensive. The inrush (startup) current is a whopping 4 amps, which is of huge concern. Also, the VPU is still not free. Let’s see what they do for the iMX8.
as the iMX6, but we bought a dev board: it has a heat-sink on top, which is a bad sign. There is some concern about the VPU and also the 1st stage bootloader. Also the GPU is MALI. In its favour is the fact that Tom Cubie’s team have released full PCB CAD files.
The long and short of it is we’re going with the one processor on the list that is "good enough," respects your privacy, respects your freedom, and that we feel comfortable to offer in an ethical and eco-conscious way.
Update 17 Jul 2016: We’ve kindly been contacted by someone who has investigated the Qualcomm 410c as they were seeking a processor that did not have arbitrary untrusted code execution as part of the boot sequence. On close inspection of the installation guide for the 410c they learned of a whopping 25 MB of arbitrary untrusted boot-sequence-level binaries which are RSA-signed and thus cannot be replaced even if people had the source code and associated compilers.
What is particularly disappointing is to find that Linaro’s 96 boards compliance specification is "realistic" in its acceptance of this approach to permit arbitrary boot-level code execution. Twenty-five megabytes of boot-sequence-level blobs is however pushing even Linaro’s "realism" a bit too far.