Seriously, Securing a SoC Is NOT Easy

cortex

When some company releases a new device, it’s fairly easy to jump on your gun and point out “Hey, Are You Stupid? Why didn’t you choose THAT SoC instead? It’s more powerful!”. Well, most people actually forget one of the key market constraints: Supply. EvilDragon shares his story behind the choice of the TI OMAP5 SoC for the upcoming DragonBox Pyra. This is a great reminder that it’s never as straightforward as you think.

In case you didn’t follow the recent news, the DragonBox Pyra is a newly announced “Open” Linux-Based Handheld Computer with Gaming Controls (and a Keyboard). It is the spiritual successor of the Pandora, and it was unveiled (at least as a prototype) at the FOSDEM 2014 a couple of days ago. We don’t have a release date yet, but the head of the project, Michael Mozrek, aka Evil Dragon, mentioned what he went through to find the SOC he chose for the Pyra.

The SoC had to meet a number of criteria:

  • It should be obtainable, in small quantities. We don’t know the market size of the upcoming Pyra, but the Pandora was only manufactured in the range of thousands of units, so it’s not realistic to plan for hundred of thousands of parts as a start, and the company has limited capital.
  • It should have Linux drivers.
  • It should be documented (in English) to enable overall board design.
  • It should be available in 2014 for prototyping purposes.
  • If possible, Open Source drivers would be preferred.

The Pandora currently uses the TI OMAP 3730 (1Ghz, 512 Mb RAM) as SOC, therefore it was natural for the team to consider using a newer processor from TI for the new model.

omap5

EvilDragon: Back in 2011/2012, when the OMAP5 had just been announced, we decided to use it for the successor. It was, once again, faster than anything else. But it seemed like TI would never even release the OMAP5… Early 2013, TI still couldn’t give any clear dates – and now Samsung, NVidia, MediaTek, etc. were all catching up. It was clear for me that I WOULD work on a successor – and it was pretty clear that the most complicated things to source would be the SoC and the LCD. So I started as early as I could and contacted various other companies.

So, what suppliers do you have ?

samsung

ED: Samsung was the first company I contacted, since the German Headquarters are in Munich, just 45 minutes away from me. The German team did pay me a visit and they really liked the Pandora and the idea to use a Samsung SoC for the successor. They did their best to convince the Korean HQ, but without success. Samsung did not want to sell us their SoC.

One down. For political reasons, probably. The search went on.

Freescales-iMX6-series-processor

ED: I contacted the Freescale distributor, as their Cortex-A9 SoCs could be bought without any registration and in small quantities – but unfortunately, they decided to not produce a Cortex A15.

Another down, failing to deliver on their initial plans. You can’t really do anything about that. Luckily there were still some choices available.

mediatek

ED: Next stop: MediaTek. Asian company, so probably easier to get than from the huge global players. However, MediaTek only offers Android drivers, and they do not plan to support Linux – well, not for our small quantities anyways. So they decided to not sell them to us as well.

Another down, because it does not meet one criteria here. The Pyra is not made to be an Android-only device.

Then there was another asian company, Rockchips.

rockchip

ED: I knew from some developers that Rockchips English design manuals were never really usable – so even if we could get the chip, we couldn’t make the hardware design without a good manual.

Here goes another one down the drain, because of documentation issues. So what’s left? Well, the elephant in the room…

nvidia

ED: I tried to call nVidia a few times, but the German Headquarters never really picked up the phone. Thanks to some contacts I had, I finally got the right persons from nVidia worldwide headquarters on the phone – however, only to get another “no”. They explained to me that in order to be able to use the Tegra, I need to let the hardware be designed and produced by a contracted partner [of their choice]. That’s certainly not what we wanted – and my guess is that no company would do such a complex design as we need for such a low quantity anyways.

NVidia was always a potential big player to consider as a partner for the Pyra, and this was clearly disappointing to be turned down at this stage. It may also be that they are unwilling to make things easy for a device which could potentially be seen as a Shield competitor.

ED: Things didn’t look good at that time. There were still a few more companies who licensed ARMs big.LITTLE architecture, so I contacted them one after another. Most of them were in industrial / automotive business, and they planned to have their SoC ready in 2016… a bit too late for us.

A SOC ready by 2016 would mean an actual launch date at least in 2017 or so. Way too late for a Pandora successor, and at that time the OMAP5 would probably not look as attractive anyway.

ED: Then TI’s distributor contacted us – apparently, the OMAP5 was finished and would go into mass production in November 2013. We could still get it if we wanted.

Wow, that was a hell of a ride to end up actually where they started. If TI had been out of the equation, one can easily see it could have been very hard to actually secure anything for the project. And there were still ongoing discussions in the team whether going for an OMAP5 for the new device was actually a good idea or not…

ED: Well, we talked about the various options [on the table]. PowerVR’s GPU source code is not released – but then again, all other GPU drivers in SoCs are closed source as well. I know a few will now shout “But for MALI there’s an OpenSource driver available!” – well, yes and no. Yes, there’s a driver available – but it’s for the old MALI GPU. Not a single Cortex-A15 SoC uses the old one. And it’s unknown when and whether there will be an OpenSource driver for the new Mali as well. TI offers Linux drivers. for their SoC and for the PowerVR. One thing that’s good about the PowerVR is that the kernel part of the driver is not closed source – which means: While you need a binary blob for the 3D driver, it can still be used on any compiled kernel or OS. So when PowerVR stops its SGX driver development, it doesn’t mean we cannot update the kernel or OS. We can. Only the 3D driver will not be updated anymore. While a fully Open Source driver would be nice, there just isn’t one out there on an ARM SoC. We can’t fix bugs in the 3D driver, but we won’t be stuck with an outdated kernel ever either. You can see that on the current Pandora: There’s a small application available which lets you change the 3D driver version on-the-fly in the running OS. Each version has different bugs, advantages and disadvantages – but they can be run, regardless of the kernel version. We had a long journey, and I talked to various SoC manufacturers – and TI turned out to be the only feasible for us. I’m pretty sure even though it has its flaws, it will be a neat chip for our next handheld.

On the boards in the past couple of months there were several vocal members to suggest moving to an Intel chip instead of staying on anything ARM-based. Well, it’s true that with the recent Intel releases, mobile Intel chips have become certainly more attractive, but…

ED: to be honest: I’d rather be safe and sure than [take risks] and [be] sorry. When we decided what SoC to use, no one knew if the mobile market would ever switch over to Intel. There are many Android games out there that probably wouldn’t work anymore – and we would also lose all the optimized ARM emulators out there like PPSSPP or PCSXReARMed. Yeah, I know, they exist for x86 as well – but it’s probably not as optimized and therefore drains more battery… And it was too risky for a small company like ourselves – so it’s best to stick to ARM right now.

Well, it’s certainly good news that it’s actually possible to even make a successor to the Pandora. As you can see from this story, if you are a small company, only interested in producing a short amount of devices with a relatively recent SoC, no matter what’s available on the market, your choices could actually be very, very limited. Let’s hope that there will always be at least one player to cater to that kind of market.

Leave a Reply

19 Comments on "Seriously, Securing a SoC Is NOT Easy"

avatar
  Subscribe  
newest oldest most voted
Notify of
sehs33
Guest

Thanks for this piece; very insightful, one of the things I learned following the Pandora is how tough is it to actually build such a thing as sophisticated as the Pandora.

I have a small concern though: with such an article telling TI that they are our only viable option, wont they spank us with their prices or lower quality batches?

joerg reisenweber
Guest

TI doesn’t sell to nobodies like us, and if they do nevertheless then just to do us a favor but they are not the only ones to sell TI OMAP. It’s almost like a concern about VW increasing their prices for you or give you a special crappy build when they hear you like their new car.

HardwareGirl
Guest

Surprised that you didn’t consider the leader of the pack – Qualcomm!
They have the best mobile GPU, and meet all of the requirements you list!

Craig
Guest

Maybe you should change the title to:

“Seriously, securing a very recent SoC in tiny quantities is BARELY worth the suppliers time”

Priit Laes
Guest

Why not Allwinner? It has quite a community – linux-sunxi.org

fantomid
Guest

We will not have millions of Pyra sold (but who knows), and I think Allwinner wish to sell lots of SoC. Community hardware is probably not the target and if you got problems, it may be better to ask TI because automative industry is quite important.

@ekianjo, do you think you can post on too ?
I found this article ‘s link on

vec
Guest

alwinners are cortex-A8, or in case of dual core and up cortex-A7, not A15 as the article mentions

primaking
Guest
Michael Mrozek
Guest

Sadly, Rockchip doesn’t really have a good design manual available, and no official devboards with schematics, which would make designing a PCB really really hard.

hag
Guest

I know they are not A15 but did anyone know more about the zms40 ?
http://www.ziilabs.com/products/processors/zms40.php

Because I think the 96 StemCell Array could be a very interesting benifit for the Pandora (58 GFlops OpenCL)

Tensuke
Guest

Just a slight update, the 1GHz Pandora uses the DM3730, not the 3530, that’s the SoC used in the 600MHz versions. 😛

AVahne
Guest
I’m just gonna ramble here for a bit. Anyone who wishes to read…well, it’s your time that you’re using. So, I have a PS Vita and a Nexus 5 and plan to get next year’s Shield (if that’s the one that houses the future Tegra “Parker” SoC). Now, I’m pretty satisfied by Vita’s graphics output; with its ability to push beautiful visuals on nearly the same level as the PS3 and 360, but on a handheld device. I also like how the Snapdragon 800 in my Nexus 5 could potentially push out better visuals than the Vita. Now this next… Read more »
Web Design
Guest

Excellent post . I am visiting cool news and concept . What I have found from your internet site , it is actually highly content material . You have spent long time for this post . It’s a very useful and interesting websites . Thank you for discussing .