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
Bubblegum-96 development board was unveiled nearly a year ago, and finally the Actions Semi S900 quad core Cortex A53 board compliant with Linaro’s 96Boards specifications will soon go on sale for $89. Most 96Boards development boards take a while to come to market, likely due to the software requirements.
Click to Enlarge
uCRobotics Bubblegum-96 specifications:
SoC – Actions Semi S900 quad core Cortex A53 @ up to 1.8 GHz with PowerVR G6230 GPU @ 600 MHz
Misc – On/off, reset, and ADFU (firmware update) buttons
Power Supply – 8-18V DC via 4.8/1.7mm power barrel; ATC2609 PMIC;
Dimensions – 85 x 54 mm (96Boards compliant)
Certifications – CE, FCC, Google GMS
The board runs Android 5.1 Lollipop, Debian Linux, Remix OS 2.0, and while not listed Phoenix OS logo is also shown. Several person has recently asked about the manufacturing process of the 64-bit ARM SoC, and S900 is built with 28nm LP process. Generally, processors using 40nm process are limited to around 1.2 GHz, while processor manufacturer using 28nm process technology can be clocked much higher and up to 2.0 GHz. Whether they can sustain that depend on software and the cooling solution.
The board is listed on 96boards.org website, and the Wiki page on Github has been setup but so far very little info has been posted, and the forums are completely inactive, but I’m sure soon enough many more details will be provided. It’s supposedly for sale, but all you can do is to “subscribe an order” for $89 by leaving your name and email on uCRobotics’ Bubblegum-96 product page.
Linaro Connect Bangkok (BKK16) will take place on March 7 – 11, 2016, and the schedule is now available for the 5-day event with keynotes and sessions. Whether you’re going to attend or not, it’s always interesting to check the schedule to find out what’s going on in terms of ARM Linux development.
The five days will focus on work by different Linaro groups, but really sessions are mixed for any given day, and I’ve created a virtual schedule for each day with available information, as Linaro has become a little more closed to the outside than when it was launched a few years ago.
Monday 7 – LITE (Linaro IoT & Embedded Group)
1400 – 14:50 – Evolution of the Reference Software Platform Project
The Reference Software Platform lead project was introduced in Linaro Connect San Francisco 2015, and since then it evolved and matured with the completion of the first tree big milestones (the 15.10, 15.12 and 16.03 releases). This session will revisit the work done as part of the previous releases, covering the projects that were incorporated through the process and our vision for the future milestones.
15:00 – 15:50 – Budget Fair Queueing heuristics in the block layer
The Budget Fair Queue (BFQ) I/O scheduler in the Linux block layer is a new heuristic approach to improving user-perceived latencies in block accessible media such as hard disks, SSD and (e)MMC and SD cards. Linaro is investing and helping in pushing this development ahead. The session describes what the BFQ patch set does and how.
– – A Gentle Introduction to Trusted Execution and OP-TEE
Smart connected devices such as mobile phones, tablets and Digital TVs are required to handle data with strong security and confidentiality requirements. A “Trusted Execution Environment” (TEE) provides an environment for processing data securely, protected from normal platform applications. This talk is intended as an introduction to Trusted Execution, and the open-source Trusted Execution Environment OP-TEE in particular. It introduces the GlobalPlatform TEE Specifications, explains how Trusted Execution is implemented by ARM TrustZone and OP-TEE, and outlines how trusted boot software manages the secure boot of an ARM platform. Finally, it gives some pointers on how to get started with OP-TEE.
Tuesday 8 – LHG & LMG (Linaro Digital Home Group and MObile Group)
– – PlayReady OPTEE Integration with Secure Video Path
This presentation provides a current view of the Security work performed in LHG. The focus is on hardware protected DRM integrated with OP TEE, creation of a Secure Data Path coupled with the Open Content Decryption Module, and the lessons learned from integrating third party libraries into trusted applications.
– – AOSP RAM reduction project retrospective
The Goal: Reduce AOSP memory requirements without hurting performance too badly.
What was tried:
Make use of new features in updated toolchains
Split libraries into smaller parts
Replace the memory allocator
– – Chromium with V4L2 playback – is it ready today?
This BOF session will analyze architectural challenges migrating Chromium from the desktop to embedded devices. The impacts of different GPU libraries with their respective limitations will be discussed. We welcome audience participation in an open discussion on the V4L2 adaptation in Chromium.
– – What’s broken on ARM64?
The arm64 port is now in pretty good shape with most things ported and built in distros. However we know that there is plenty of software that is not optimised and some may not actually work at all. Please come along and moan about anything you have found which doesn’t work as well on arm64 as it does on x86. We (Linaro, ARM and Debian) want your feedback on where to direct effort next.
– – How to generate power models for EAS and IPA (without talking to a hardware engineer)
Generating a specific power model for the platform is a pre-requirement for deploying EAS (Energy Aware Scheduler) and IPA (Intelligent Power Allocation). This makes understanding power models and how to generate parameters for them a useful skill. In this session we demonstrate how to use workload automation to gather power data from a board. We will then describe how to derive rough values for the EAS and IPA power models using nothing but this easily observable data. We will not rely on any information provided by OEM or SoC vendor.
– – Upstreaming 201
This session is an advanced course on Linux kernel upstreaming fundamentals. The course covers how the arm-soc kernel tree is maintained and why that is important to ARM Linux kernel developers. The focus of the course is the explanation of the detailed mechanics of creating and posting patch series to upstream mailing lists for several common cases. Annotated session content is made up of previously upstreamed ARM support captured from emails to the kernel mailing lists. The target audience is both software engineers and engineering managers preparing to upstream software into the kernel. The topic requires a solid background in software configuration management terminology and the git SCM tool as well as a good technical understanding of the Linux kernel itself.
Wednesday 9 – LEG (Linaro Enterprise Group)
This presentation provides the background for the requirements of the latest 96Boards TV Platform specification. It describes the range of set-top features that can be delivered and focuses on the key software and firmware support.
– – ARMv8 Server Lab Users BoF
The ARMv8 Server Lab has been up and running for more than a year since the inception in the late Fall of 2014 and helped continuously those who need server-grade hardware to verify their software, from the kernel to user applications. In this BoF at BKK16, the Server Lab users get together for the first time to review what we have accomplished so far and share knowledge obtained from our experiences in the Lab. Constructive feedback from the users should shape the direction of the Lab in the coming months of 2016. The BoF structure is as follows: possibly a few short talks from the users, 10-15 minutes each, will be given after the introductory address of the status of the Lab from the managers, followed by a discussion between the attendees.
– – ILP32 Performance on AArch64
ILP32 is a programming model that may be useful on AArch64 systems for performance and also for legacy code with 32-bit data size assumptions. We combined ILP32 support from upstream projects with the LEAP distribution to enable experimentation with this model. This talk discusses the relative benchmark performance of the LP64 and ILP32 programming models under AArch64.
– – The tool called Auto-Tuned Optimization System (ATOS)
ATOS is an Auto Tuning Optimization System that is able to find automatically the best performance/size tradeoff from a build system and a training application. The input of ATOS tools are a build command and a run command. From the build command, ATOS will infer an internal build configuration that it will run with different sets of compiler options. These build configurations are executed with the run command from which code size and performance will be extracted.
From the set of build configurations that ATOS explores, one can extract the preferred trade-off between code size and performance. The extracted build configuration can be archived and replayed later in order to generate the optimized executable without any modification into the initial build system.
The nice property of ATOS is that NO modification of the sources or the makefiles are needed. ATOS can work on any large/deep project, as soon as the compiler used is gcc or LLVM under Linux.
– – Integrating and controlling embedded devices in LAVA
Previous introductory tutorials on LAVA have focused on virtual platforms. This is an end-to-end tutorial as a basis to evaluate LAVA with one or more embedded targets using U-Boot. It integrates both a physical bootloader device with a stand-alone installation of LAVA, along with a simple PDU for target power control which is based on off-the-shelf Arduino components and fully integrated with pdudaemon. It covers device requirements, device configuration for 32- and 64-bit platforms, use of lavatool, tftp, pduclient and logging via the LAVA web interface and /var.
– – ARMv8 Firmware Mini-Summit
Current state of ACPI on ARM
Support/backing for a longer term organization: mailing lists ([email protected]), web sites, further meetings…
Use of _DSD device properties
Follow-up on others items from the last meeting (mostly promised documents).
Thursday 10 – LNG (Linaro Networking Group)
– – Android HAL Consolidation Status
Update on progress and discuss next steps on Android HAL consolidation Lead Project
– – Applications on ODP
Session discussion on various opensource applications on ODP and their implementations. Applications to be discussed include NGiNX, TRex, OFP
– – Device Tree Standardization
Announcement of the process to update the old specs and kernel documentation into a new Device Tree Specification
– – Workspace setup tips and tricks
The complexity of the tools and working environments is very high in IT area, especially in software engineering field. Thanks to Linux’s freedom of choice and flexibility it gets even higher. Due to the amount of time needed for learning all those bits of technology, it is not practically possible to set up an ideal workspace without talking to others and learning the results of their research. So, let’s come together and discuss hardware/software setups for our workspaces and learn from each other.
Friday 11 – 96Boards and Community
– – Kernel and bootloader consolidation and upstreaming
An update to the state of reference platform kernel and bootloader and a discussion about the patch-inclusion policy. We’ll also cover roadmap plans. Participation is invited if you have ideas on how we can make it easy to use the reference platform kernel for your development projects.
– – 96Boards mezzanine hardware ecosystem
An overview of the work being done to support the mezzanine hardware ecosystem. Will cover the tools available, the boards that have already been created, and materials provided to support mezzanine board designers.
Materials require having registered to Linaro Connect BKK16, but several PDF slides have been uploaded to Linaro slideshare, you can get a peak if one subject interests you.
Anybody can attend, but you’ll need to purchase tickets ranging from 500 GBP ($726) for one day to 1,600 GBP ($2323) for the full week, unless you are a student,work in academia, or open source projects connected with ARM development, in which case you may get a free ticket.
We first found out about CubieTruck Plus (aka Cubieboard 5) this summer, and while at the time we did not have the full details, it was clear from the board picture and name, that is was an update to CubieTruck board, replacing Allwinner A20 dual core processor by Allwinner A8 octa-core processor, and ditching the VGA port for DisplayPort while keeping most of the same features of the original version.
On-board microphone, and audio jack with microphone support
2x USB 2.0 host ports, 1x USB 2.0 OTG port
Rechargeable 40 mAh @ 3.0V
Reset, power, and u-boot
4x user LEDs
So that means other improvements include a faster eMMC interface, on-board microphone, full support for headset via the 3.5 mm audio jack, and 16 more I/O pins. The main disadvantage is that due to the USB to SATA bridge, the SATA interface will now be much slower, closer to 30MB/s sequential read and write speeds if properly implemented, instead of the 180MB/s SATA read speed I measured in CubieTruck using a 128GB SSD.
The CubieTruck Plus will ship with an acrylic case, a fan, a SATA cable, a USB OTG adapter, a mini USB to USB cable, and a USB to power cable. Since the dimensions of the new and old boards are the same, CubieTruck Metal Kit case will also be compatible, except they’ve made some modifications to the back plate due to the VGA to DisplayPort replacement.
The company has also released tools, documentation, schematics (PDF), source code, and firmware image on CubieBoard5 download page with Android 4.4 and Linaro Ubuntu desktop images bootable from SD card or the eMMC flash.
Linaro’s 96Boards initiative was launched at the beginning of the year with Hikey board, and beside the hardware specifications, 96Boards also has some software requirements that include support for “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, or the last two LTS kernels, and one of more of the following operating systems: Android, Debian/Ubuntu, Fedora/Red Hat, or an OpenEmbedded/Yocto build of a Linux distribution”.
Click to Enlarge
In order to achieve this goal, Linaro introduced the Reference Software Platform for 96Boards, and they’ve now pushed the first Alpha release for Hikey and DragonBoard 410c boards. The release includes a bootloader, the Linux kernel, Debian and AOSP with firmware, source code, and documentation.
Some highlights of the Reference Software Platform 15.10 Alpha release include:
CE Debian RPB (Reference Platform Build)
Debian 8.2 “Jessie”
Linux 4.3 kernel with additional patches
OpenJDK 8 included by default
96Boards artworks and default settings
CE AOSP RPB (Hikey board only)
AOSP Android Marshmallow 6.0
Linux 3.18 based kernel
CE refers to the consumer edition of 96Boards specifications, as there’s also an Enterprise Edition (EE), which is not covered by this release.
Inforce Computing announced their 6501 Micro SOM system-on-module based on Qualcomm Snapdragon 805 processor in Q2 2015, and the company informed me that they had just unveiled a lower power version based on Snapdragon 600 processor called 6401 Micro SOM, and still featuring WiFi, Bluetooth 4.0, and GPS connectivity on module.
Inforce 6401 Micro SOM:
SoC – Qualcomm Snapdragon 600 (APQ8064) quad core Krait processor up to 1.7 GHz with Adreno 320 GPU, and Hexagon DSP v4 up to 500MHz
System Memory – 2GB PoP LPDDR2 @533Mhz (Optional 3GB)
Storage – 4GB eMMC v4.4.1/v4.5, with options up to 64GB
Connectivity – BT 4.0 , dual band 802.11n/ac Wi-Fi (QCA6234), and GPS (WGR7640) with WiFi and GPS antennas on carrier board
Peripherals and I/O via two 100-pin SoM connectors:
8-channel 7.1 surround sound, Dolby Digital plus, Dolby True HD and DTS-HD via HDMI
On-board WDC9311 audio codec
Camera – 2x MIPI-CSI (2/4-lane)
USB – 2x USB 2.0 host, 1x USB 2.0 OTG
1x PCIe, SDC, SLIMBUS
JTAG, 8x GPIO, UART via 3-pin RS232, 2x I2C, SPI
Video / Image Capabilities
1080p Full HD video with AVC (H.264) encode and decode
Image signal processor (ISP) with support for image sensors up to 20MP
Power Supply – +3.3V/6A input
Dimensions – 50 x 28 mm
Temperature Range – Operating: 0° C to 70° C; Storage: -20° C to 80° C
Android KitKat 4.4 BSP, Linaro Ubuntu Linux 14.04 BSP, as well as device drivers for cameras, displays, and peripherals are provided to customers. The datasheet (actually a product brief) and mechanical dimensions can be downloaded freely, but most of the documentation can only be downloaded after having purchased the board.
Inforce SYS6401 development platform can be used for evaluation and speed the early stage of development. The kit includes one Inforce 6401 Micro SOM, a mini-ITX carrier board, a 12V power supply, a micro-USB cable, and an acrylic base.
SYS6401 baseboard with 6401 Micro SOM
It’s basically the same carrier board found in SYS6510 devkit with Snapdragon 805 processor, except some minor modifications. It still comes with HDMI embedded DisplayPort), MIPI-DSI connector, Gigabit Ethernet, 7.1 audio output, a mini PCIe slot, battery support, and more.