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:
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.