The 96boards project promises to bring standards, order and decorum to an otherwise fragmented and mutually incompatible world of development boards, be it for "consumer edition" or "enterprise edition" electronics. This is a laudable goal.
It also promises "Makers" standardized interfaces, electrically and mechanically to build things around those boards. For anyone who tried to use an extension board from one board with another before, this will be close to promised land.
To maintain order, one needs to maintain authority. In the world of 96 Borads this comes in the form of "compliance". Much thought was apparently spent by great minds on building up a system of compliance definitions, specifications and requirements. Both for Hardware and Software they covered a lot of bases. [1][2][3] They also recognized the needs of protecting the intellectual design property of board manufacturers and decided against mandating full documentation that would allow one to directly modify and produce an own board, based on a certified 96 board.
The great goal is, that by the end of 2015 we shall see 96 boards available and compliant with 96 Boards. Oh what a hootenanny that will be!
So far we've seen two CE boards reach availability on the market. Some CE boards and an EE boards are in various stages of publicity. It is logical to assume that not only will those companies with announced boards, but also those who are going to announce and bring the remaining 90 boards to market, will turn not only to the aforementioned compliance documentation, but they will also closely examine the two boards that have already received the prestigious 96 Borads certification. For those two Boards must be shining examples, pioneering these waters with the expert help of Navigators who drew the compliance maps of the 96 Boards world and provided exact steps.
…
That is where I become sad, because I fail to resolve the dissonance between reality and the maps of the world, vulgo the compliance spec. Bear with me while I explain. I recently found myself trying to understand how the GPS in the Dragonboard 410c that I recently bought, to gain some AArch64 experience, is wired to the APQ8016 SoC. Someone had asked me if it would be possible to get NMEA from it, and I thought, well that's going to be easy to find out, after all it's a 96 Board compliant product, as it prominently features on their page.
I turned to the 96boards.org page for the 410c [4], as there I would find the necessary documentation. You won't be able to imagine my surprise, when I reached the page and where the hyperlink to the schematics should be stands this text:
"The DragonBoard 410c Schematics/BOM (Coming soon)"
I then looked at the Hardware Manual [5], trying to keep my hopes up, grasping for the last straw. Well it told me something about "SSBI + IQ", that was something, although I'm still not sure what this actually means. The "Qualcomm ® Snapdragon TM 410 Processor (APQ8016) - Device Specification", linked from [4] mentions it as a "Single-wire SBI", where SBI is apparently some kind of "Serial bus interface". But in which way it is _actually_ wired up, we possibly might never find out.
This led me to another train of thought. I hopped on and crossed the land of 96 Boards to arrive back at the compliance page [1]. For it states: "An SoC technical reference manual *shall* be available This *shall* include sufficient information for developers to be able to create board drivers and software interfaces for the supported SoC features." (emphasis from [1]) This confuses me even more, as I can't find from the linked documentation in [4] anything that would cover information necessary to "create board drivers" for the WGR640 GNSS (GPS) chip on the 410c board.
Also there *shall* be a open source boot loader. Maybe I've embarked on too many optical experiments, but I can't see the Aboot source for the Ubuntu builds[6]
I didn't bother looking at the HiKey board and how it fares in comparison. It's made out of the usual unobtainium as previous animal boards and will probably only ship in homeopathic doses for the next few months. That makes it rather uninteresting and unlikely to acquire a significant community, certainly not going to usurp the RPi throne.
Personally this leaves me seeing "Mene, Mene, Tekel, Upharsin." written on the wall, for 96 Boards thou art weighed and thou art found wanting.
Of course I might be wrong, maybe the RFC 2119 style language found in [1][2][3] uses different definitions of terms like SHALL, maybe it doesn't mean MUST, but "should, maybe, at some point"? Then I guess everything could be just A-OK and all the remaining boards will all start shipping by the end of the year. What this would mean in relation to the initially stated goals, I'm not sure.
I guess it's compliant, depending on your definition of compliant.
Thomas
1: https://www.96boards.org/about/compliance/ 2: http://www.96boards.org/ce-specification 3: http://www.96boards.org/ee-specification 4: https://www.96boards.org/products/ce/dragonboard410c/ 5: https://github.com/96boards/documentation/raw/master/dragonboard410c/Hardwar... 6: http://builds.96boards.org/releases/dragonboard410c/linaro/ubuntu/latest/
On Sun, Aug 2, 2015 at 8:14 PM, "Thomas B. Rücker" thomas@ruecker.fi wrote:
Also there *shall* be a open source boot loader. Maybe I've embarked on too many optical experiments, but I can't see the Aboot source for the Ubuntu builds[6]
I can (and should, and will..) fix that point. the aboot source code is indeed public/open, and available from CodeAurora. I actually built the aboot binary that we use for our Ubuntu bases releases. I will update the release notes later this week. Note that this only covers 'aboot' (e.g. emmc_appsboot.bin which gets flashed into aboot partition), that corresponds to the second stage bootloader. The first stage bootloader (sbl, hyp, tz and rpm partition) is not open source, but available from QCOM on Qualcomm Dev Net.
cheers nico
On 08/03/2015 07:50 AM, Nicolas Dechesne wrote:
On Sun, Aug 2, 2015 at 8:14 PM, "Thomas B. Rücker" thomas@ruecker.fi wrote:
Also there *shall* be a open source boot loader. Maybe I've embarked on too many optical experiments, but I can't see the Aboot source for the Ubuntu builds[6]
I can (and should, and will..) fix that point. the aboot source code is indeed public/open, and available from CodeAurora. I actually built the aboot binary that we use for our Ubuntu bases releases. I will update the release notes later this week. Note that this only covers 'aboot' (e.g. emmc_appsboot.bin which gets flashed into aboot partition), that corresponds to the second stage bootloader.
That's great to hear and much appreciated! Thanks!
The first stage bootloader (sbl, hyp, tz and rpm partition) is not open source, but available from QCOM on Qualcomm Dev Net.
"At least one open source bootloader *shall* be provided for the board that executes immediately after the internal SoC startup code. The source for this bootloader should be available from a publicly accessible site or integrated into the bootloader trees on https://github.com/96boards" [1] (emphasis as in original)
For some definition of compliant…
Cheers
Thomas