SoC – HiSilicon Hi3798C V200 quad-core 64-bit ARM Cortex-A53 CPU up to 2.0 GHz per core with ARM Mali-T720 GPU supporting OpenGL ES 3.1/3.0/2.0/1.1/1.0, OpenVG 1.1, OpenCL 1.2/1.1 Full Profile, RenderScript, and Microsoft DirectX 11 FL9_3
Memory – 1 or 2 GB DDR3 (Specs are conflicting depending where you look)
Storage – 8GB eMMC flash + micro SD card slot
Video Output – HDMI 2.0a with HDCP 2.2 up to 4K @ 60Hz
Video Decoding – H.265/HEVC Main/Main10 and VP9 up to 4K @ 60 fps
Audio Output – HDMI, optical S/PDIF, 3.5mm audio jack
Connectivity – Gigabit Ethernet, 802.11 b/g/n/ac WiFi and Bluetooth
USB – 1x USB 3.0 port, 2xUSB 2.0 host ports, 1x micro USB OTG port for console
Misc – IR receiver, boot selection jumper, LEDs, power button
Security – ARM Trustzone, trusted execution environment, secure boot, secure storage, secure video path, DRM, DCAS
Power Supply – 12V / 2A
Dimensions – 160 x 120 mm (96Boards TV platform specs)
Temperature Range – 0°C to +70°C
Hisilicon Hi3798C V200 is quite an interesting processor with many high speed and media interfaces, and while they used most of them, they did not leverage support for SATA. Luckily, there’s still USB 3.0 and PCIe if you need faster storage.
Hi3798C V200 Block Diagram – Click to Enlarge
The board is sold with Android 5.1.1, but it will be the main development platform of Linaro Digital Home Group which aims “to continue creating optimized, high-performance secure media solutions for ARM on both Linux- and Android-based platforms. Licensees of the RDK (Linux) will be able to create Open Embedded/Yocto RDK builds for Poplar. The Poplar board will also serve as a common development platform for Android TV (AOSP) as well as for TVOS-based STB solutions used in China.”
96Boards was born as a hardware and software standard with Consumer (CE) & Enterprise Editions (EE), with different form factors with the latter focusing on server boards, but with similar software requirements requiring recent and mostly open source software. The consumer edition was also split into “Standard” and “Extended” editions, which the latter allowing for larger boards with more features, while the Enterprise Edition has its own larger format, as well as an option for micro-ATX form factor. I’ve just learned that a “fifth” 96Boards standard has been worked on with 96Board TV Platform for Home Gateways, OTT Streaming boxes, and TV boards with prices target of $50 or lower for mid-range boards, and $99 or lower for high-end boards.
96Boards TV Platform Board Layout – Click to Enlarge
96Boards TV Platform hardware requirements:
Dimensions – 160 x 120 mm (EE Standard form factor)
RAM – 1GB minimum; 2GB recommended
Flash – 8GB eMMC minimum
WiFi – 802.11 g/n minimum; 802.11ac recommended
Bluetooth LE – Optional; at least Bluetooth 4.0
96Boards TV Platform Board by Hisilicon
HDMI 1.4 minimum; HDMI 2.0 recommended
HDCP 2.0 minimum; HDCP 2.2 recommended
Optional Video Outputs – Composite, Component, S-Video
Video Input – Optional same requirements as Video output; used for TV boards
Audio – HDMI audio mandatory; options stereo I/O and S/PDIF
Ethernet – RJ45; >= 100 Mbps recommended
Expansion – 40-pin Low Speed Connector as per 96Boards EE specs
Additional functionality options:
User input – Optional IR detector
Security interfaces – Optional smartcard I/F
Transport stream I/F – Optional parallel connector for tuner card (ATSC, DVB-T2, DVB-S2, etc…)
On of the software side, the kernel must be buildable from source code with eventual closed-source binary blobs from either kernel.org, latest Google-supported Android kernel version, or one of the latest two LTS kernels from kernel.org. Supported operating systems must at least one of the latest version of Android, Debian, Ubuntu, Fedora, Red Hat, or Linaro / Vendor supported Linux OS built with OpenEmbedded/Yocto Project. The latter being supported by Linaro Home Group (LHG). Other requirements include support for vendor or open source bootloader, optional but recommended OP-TEE support, ARM Trust Firmware, and royalty-free vendor or open source accelerated graphics support. Note that the specifications are aimed at development boards, and not at commercial products. You can find more details in the slides for 96Boards – TV Platform presentation at Linaro Connect Bangkok 2016, as corresponding YouTube video.
I learned about the new 96Boards specifications through the blog post about a “sprint” at the Huawei/Hisilicon facilities in Shenzhen, China on July 11-14. Hisilicon showcased “Poplar” – manufactured by Tocoding Technologies startup – one of the first 96Boards TV platform boards (pictured above), and worked on/demonstrated support for OP-TEE builds on Linux and Android for PlayReady and Widevine DRMs, AOSP TV with TV input framework, LHG OpenEmbedded builds with Yocto 2.1, automatic testing, and so on…
It’s unclear when 96Boards TV platform specifications will be officially released, and when the boards will come to market.
If you ever wanted to experiment with ARM Trustzone, and IoT security, you’ll soon be able to do so with the Raspberry Pi 3 board thanks to a port of Linaro OP-TEE (Open Portable Trusted Environment Execution) by Sequitur Labs.
OP-TEE Architecture: optee_client, optee_linuxdriver and optee_os
Broadcom BCM2737 SoC found in Raspberry Pi 3 board already had TrustZone hardware for isolation and protection for sensitive material such as cryptographic keys, algorithms and data, but the upcoming software release will mean the feature can now be used, and it’s free for trial/evaluation, and education. Trustzone is also used for DRM (digital rights management), but in the case of Raspberry Pi 3 it will most likely used to teach how to secure the Internet of Things (IoT).
The release is scheduled for July 11, with source code and documentation to be available in OP-TEE github account. All you’ll need to get started is a Raspberry Pi 3 board, a micro SD card to load, a Bus blaster, a custom cable to enable bare metal debugging, a single firmware image with 64-bit Linux, ARM Trusted Firmware, and OP-TEE image, OpenOCD and the configuration file for the Raspberry Pi 3, as well as some code samples and a quick start guide.
Support for OP-TEE will be provided through forums on Linaro.
Last month, we found out that Arrows Electronics was working on DragonBoard 600c development board featuring Qualcomm Snapragon 600 processor and based on 96Boards CE Extended version which allows for extra features such as SATA and Ethernet ports. At the time, the complete specifications were not available, and neither pricing. We do now have more details, as the board designed by Elinfochips is (also) called SD 600eval, and is available on back order for $279.
Click to Enlarge
SD 600eval specifications:
SoC- Qualcomm Snapdragon 600 (APQ8064) quad-core Krait 300 processor @ up to 1.7 GHz with Adreno 320 GPU @ 400MHz supporting OpenGL ES 1.1/2.0, OpenCL 1.1, WebGL 1.0, and DirectX 9.3
System Memory – 2GB PoP LPDDR2 @ 533 MHz
Storage – 16GB eMMC Flash + micro SD 3.0 (UHS-1) slot + SATA port
Dimensions – 100 x 100 mm (96Boards Consumer Edition Extended dimensions specifications)
Operating Temperature Range – 0 to 50 deg. C
Click to Enlarge
The company provides Android 5.1 with Linux 3.4 support for the board, and Linaro will provide the Linux BSP for D 600eval/Dragonboard 600c, so hopefully a more recent Linux kernel will be supported. There are several links to software and hardware documentation, source code and binaries on the “Resources” section of the product page, including schematics (PDF) and hardware user manual.
I purchased Qualcomm DragonBoard 410c development board last year, and first tested it and run some benchmark on the 96Boards compliant hardware with Android. I found that it was still work-in-progress, and decided to wait before trying Debian on the board. I’ve now done so, and will report by experience installing Debian Linux, playing with the board, and running Phoronix benchmarks to compare it to other ARM Linux boards.
Installing Debian on DragonBoard 410c
The first challenge is to navigate through the documentation that is not always clear or up-to-date. I eventually ended up on DragonBoard 410c Wiki on Github.
You then have to decided which image you want. While there are two official operating systems with Android and Debian, you can three “entities” releasiong their own images. For Debian specifically, you have the Linaro image, and Reference Platform Build (RPB) image. I could not find any changelog or known issues with the former, but the latter as its own Wiki with the latest release being RPB 16.03 (March 2016), and the next one scheduled to be RPB 16.06 in June.
That’s the current list of known issues
bug 285 USB host doesn’t detect any plugged devices
bug 121 [RPB] Cannot soft power off or shutdown db410c
bug 284 [RPB] Dragon board Display sleep not working
bug 289 [RPB] USB devices don’t work after reboot
bug 207 [RPB] Bluetooth does not work on Dragon board debian
bug 153 [RPB] Missing information about hwpack usage
USB host not working did not inspire confidence, so I first tested the Linaro image. The (other) Wiki points to the “latest version”, but the link would point to Linaro Debian 16.02 release, while I could find a more recent Linaro Debian 16.04 which I downloaded in a terminal:
I used a micro SD card to install it. If you use Windows, simply use Win32DiskImager, but in computer running Linux or in Windows via Windows subsystem for Linux, you may want to do it in the terminal. First check the SD card device with lsblk. Mine was /dev/sdb, but your may be different, and I use /dev/sdX in the command below tp flash the Debian installer to a micro SD card:
Now remove the micro SD card from your computer and insert it in to the board, set the jumper to boot from SD card on the DragonBoard 410c, and connect the power. I could see LED 1 blinking, but nothing on my HDMI TV. Last time, I did not manage to make the serial console (requiring a 1.8V USB to TTL board or cable) using Hardkernel ODROID board, so I went to the support forums, and after several minutes of reading, I found that the RPB image is recommended, as well as a clear explanation between the Linaro and RPB images:
Use the Reference Platform Build instead of the Linaro release. The Reference Platform is an integrated build with support for multiple boards, and that is where all engineering effort is going. The Linaro build is the old single-platform image that we’re not working on anymore.
The reference platform will run on all 96boards CE (Consumer Edition) and EE (Enterprise Edition), while the Linaro image is built specifically for a given board, and they are not really working on it. [Update: This answer was specific to Hikey board, and for DragonBoard 410c there are two images provided by Qualcomm Landing Team and the Reference Platform team]
So let’s start again from scratch using the RPB image, and download the bootloader, Linux kernel and rootfs to my Ubuntu computer:
That was a lot of commands to install the operating system… Now you can unplug the board, remove the micro USB cable, and connect the power again. After a few seconds, you should see the kernel log, and eventually LXDE desktop environment.
Click to Original Size
You’ll be asked to configure WiFi, and you’re basically done.
DragonBoard 410c Debian System Info
I’ve then run a few command to learn more about the image and system:
Linux linaro-alip4.4.0-104-arm64#1 SMP Debian 4.4.0.linaro.104-1.linarojessie.1 (2016-03-01) aarch64 GNU/Linux
FilesystemSizeUsed Avail Use%Mounted on
Features:fp asimd evtstrm crc32
Features:fp asimd evtstrm crc32
Features:fp asimd evtstrm crc32
Features:fp asimd evtstrm crc32
One of the main advantage of 96Boards should be recent Linux version,and that’s exactly what we have here with Linux 4.4 running on the board. Out of a total of 866MB reported RAM, 64MB is free, and the 6.9GB rootfs has 4.8 GB available to the user. Snapdragon 410 SoC is correctly reported as being a quad core Cortex A53 (0xd03) processor.
I used file utility to make sure a 64-bit rootfs is being used here:
The thing that often do not work on ARM Linux board are 3D graphics and hardware video decoding, so I’ve specifically tested these two, and also played with the pre-installed Chromium browser.
If I understand correctly the debian image comes with Freedreno open source graphics driver, and if that’s the case I have the first ever platform with working open source 3D graphics drivers:
vertex shader info:
fragment shader info:
vertex shader info:
fragment shader info:
So that means both framebuffer and X11 3D graphics acceleration are working. Nice !
I also tried to play Tuxracer as it was part of the board’s test results provided by Linaro.
sudo apt-getinstall extremetuxracer
It works, but it’s so slow that it’s barely playable (see video below).
I installed VLC to play 1080op h.264 videos, but based on the CPU usage the system is clearly using software decoding, and there’s no audio via HDMI. I’ve asked about those two issues on the forums about 24 hours ago, but I have yet to get a reply.
Chromium loads OK, but I did notice some freezes during use, and YouTube will struggle at full screen at 1080p, in similar way to many other low end ARM Linux platforms.
After over 3 hours the results are in. Bear in mind that the board does not have heatsink, just a metallic shield, and this may affects the performance. It’s also running an OS with a 64-bit ARM rootfs, while platforms like Raspberry Pi 3 features a 64-bit processor running 32-bit code.
Click to Enlarge
I like to check John the Ripper for multi-threaded performance.
While FLAC audio encoding is nice to single threaded performance.
In theory the CPU performance of Snapdragon 410 and Broadcom BCM2837 (as found in RPi 3) should be equal since both are quad core Cortex A53 processors @ 1.2 GHz, but for some reasons DragonBoard 410c is a little slower in the multi-threaded benchmark, and quite faster during FLAC audio encoding likely due to software differences (Aarch64 vs Aarch32).
We’ve already seem Intrinsyc’s Snapdragon 820 development board and module, but there’s now an alternative thanks to Inforce Computing 6601 micro SoM which is pin-to-pin compatible to the company’s earlier Inforce 6401 and Inforce 6501 Micro SOMs, also based on Qualcomm Snapdragon processors, and works with the same SYS6501 carrier board.
Click to Enlarge
Inforce Computing 6601 Micro SoM specifications:
SoC – Qualcomm Snapdragon 820 (APQ8096) quad core ARMv8 processor with two “Gold” cores up to 2.2 GHz, two “Silver” cores up to 1.6 GHz, Adreno 530 GPU with support for OpenGL ES 3.2, OpenCL 2.0, and Vulkan, as well as Hexagon 680 DSP up to 825 MHz
System Memory – 4GB LPDDR4 @ 1866 MHz
Storage – 64GB UFS 2.0 gear 3 flash up to 5.83Gbps, 1x micro SD card 3.0 interface for support for to HS400, optional eMMC 5.1 flash.
Connectivity – Bluetooth 4.1 & 2×2 dual band 802.11 b/g/n/ac Wi-Fi (QCA6174), and GPS (WGR4310)
Peripherals and I/O via two 100-pin SoM connectors:
Codec support for MP3, AAC + eAAC, WMA 9/Pro, Dolby AC-3, eAC-3, DTS
Camera – 3x MIPI-CSI (3x 4-lane) up to 28 MP with zero shutter lag
USB – 1x USB 2.0 host port, 1x USB 3.0 host/OTG port
1x PCIe, 1x SDC, SLIMBUS
JTAG, 8x GPIO, 12x BLSPs for UART, I2C, and SPI
Video / Image Capabilities
H.264 playback and capture @4K60
H.265 playback @4K60 and capture @4K30
VP9 playback up to 4K60
Dual 14-bit Spectra ISP with support for up to 1.2GPix/sec throughput
Power Supply – +3.3V/6A DC input; On-module MA8996 MIC
Dimensions – 50 x 28 mm
Weight – 11 grams
Temperature Range – Operating: 0° C to 70° C; Storage: -20° C to 80° C
Certifications – RoHS and WEEE compliant, FCC.
6601 Micro SoM Block Diagram – Click to Enlarge
The company provides Android 6.0 Marshmallow / Linaro Ubuntu Linux BSPs for the module, as well as several free Qualcomm SDK such as Vuforia VR, Alljoyn proximity connectivity, FastCV computer vision, Symphony System Manager, and Snapdragon for facial recognition. SYS6601 development kit includes a Inforce 6601 Micro SOM pre-loaded with either Linux and Android, a mini-ITX baseboard, and other accessories.
Hikey is a one of the first 96Boards compliant development board manufactured by either LeMaker in China and CircuitCo in the US, and while the hardware requirements of 96Boards specifications are rather easy to meet, the software requirements including “bootloader (open source), accelerated graphics support (binary or open source), a Linux kernel buildable from source code based from mainline, or the latest Google-supported Android kernel version” are much harder to comply with. Linaro had a very good news for Linaro Connect Bangkok as they announced Hikey board was supported in Android Open Source Project (AOSP).
So that means Hikey board will run the latest version of Android like Google Nexus devices, with the advantage of also getting more recent devices.
If you want to build an Android image from AOSP just retrieve the source code:
If you are interested in finding out how Linaro managed to do this feat, and what kind of challenges they had to overcome, you may want to watch Linaro Connect “HiKey and AOSP collaborative experience” presentation.
You can also download the presentation slides for a quick look. Some interesting tidbits in the talk include that Google plans to use Linaro’s Linux 4.4 experimental tree, and Rockchip is also working on doing porting some hardware to AOSP.
There are two versions of Linaro’s 96Boards specifications the Consumer Edition (CE) and the Enterprise Edition (EE) with higher hardware requirements, and while several boards mostly compliant with 96Boards CE are available such as DragonBoard 410c and Hikey boards, the only board announced to be compliant with 96Boards EE specifications was AMD Huskyboard based on Opteron A1100 series processor and is yet to be available for sale. LeMaker has now designed a similar EE boards called Cello.
Debugging – micro USB port for console access, 10-pin JTAG connector
Power Supply – 4-pin power connector
Dimensions – 160×120 mm as per 96Boards EE specifications
Weight – 500 grams (Package weight)
The board don’t show an heatsink, but the holes are there, and considering the SoC has a whopping 25W TDP, an heatsink and likely fan will likely be required. There’s also no information about operating systems, but the latest Linaro Reference Platform release for Enterprise supports Debian 8.3 and an image based on Centos 7.2, as well as UEFI with ACPI, KVM and PCIe support.
[Update: So I’ve been watching Linaro BKK 2016 keynote, and there was a demo with Huskyboard (similar to Cello featured in that post) running the developer preview of Red Hat Enterprise Linux Server release 7.2 (MaiPo). That’s what the board is supposed to look like with a heatsink and fan. They’ve also added a PCIe network card to show that PCIe is also working