LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Embedded & Single-board computer (https://www.linuxquestions.org/questions/linux-embedded-and-single-board-computer-78/)
-   -   How to choose a ARM SoC vendor and model with mainline Linux support for a startup project? (https://www.linuxquestions.org/questions/linux-embedded-and-single-board-computer-78/how-to-choose-a-arm-soc-vendor-and-model-with-mainline-linux-support-for-a-startup-project-4175583513/)

midiox 07-01-2016 03:17 AM

How to choose a ARM SoC vendor and model with mainline Linux support for a startup project?
 
We are a small startup company working on a project which involves developing a relatively simple hardware platform for a end-user device (I can disclose only that it would be something akin to a media player or networked speakers, but not exactly).

There are lots of options and we don't want to spend too much time to evaluate all the options, but we have collected a short list of criteria:

- price of SoC

- solid and open support, especially free community support (although we are ready for paid support it if we get stuck, we hope that we won't need it). It seems, these days vendors still like to close their GPU code in binary blobs, but for us this should not be the "show stopper" - we don't intend to use video output at all, but we would like to avoid some weird SoCs that have convoluted GPU architecture (think about RaspberryPi with Broadcom's GPU bootloader, yuck).

- solid and evolving mainline GNU/Linux support (especially for Debian). We hope to avoid vendor-specific drivers as much as possible.

- ability to buy SoCs in small quantities. We are a startup - at first we'll need just a few SoCs for prototyping and when/if we go to production, we will start small; think about under 1000. I've heard there are vendors who don't deal with small unknown companies; so I'd like to rule those out to avoid wasting our time for prototyping on a SoC which we cannot use for production afterwards.

- reliable supply chain with possibility to replace SoC in case if vendor makes their current SoC model obsolete. Which vendor is known for slower phasing out of their models, most reliable supply chain (including to China) and backward compatibility? Our project won't need a powerful SoC, so we could pick an older, weaker and cheaper model if only the vendor is known to support it for next 5 years or so.

- easy to develop for. We'd like to avoid SoCs with convoluted or quirky architecture requiring various workarounds, patches, undocumented gotchas etc.

I understand that vendor policies might change with time, but still, considering all the criteria above, which vendor (and maybe even SoC model line) would you suggest?

My current understanding is that we should avoid vendors who are producing SoCs mostly for use in their own products, and selling SoCs is not their main interest (e.g., Samsung, nVidia).

This leaves us with vendors who are highly specialized and interested in supplying SoCs to their customers - TexasInstruments, Atmel, Marvell, Allwinner, NXP/Freescale (in no particular order).

We have already picked our favorite from the list based on the information presented on vendors' sites, but the reality might be completely different story, so we are still in doubt.

Also related question - should we go for NAND or eMMC? I have seen arguments for NAND that it's cheaper and allows fine-tuning in software, while eMMC is easier to develop for.
But how it is in real life - is NAND well enough supported in Linux mainline kernel to say that we can surely pick raw NAND chips and get along without any additional coding (expect partition table) and avoid dealing with vendor eMMC controller implementations?

I'd really appreciate advice from engineers who have gone through similar experiences and made the right choice (confirmed by successful launch of their product) considering the criteria above (and maybe some more criteria I've not thought of).

In case if this is not the best place to ask this kind of question, I'd appreciate links to some message boards where there are people who might be experienced with choosing SoCs for their projects (production, not hobby).

business_kid 07-02-2016 02:19 AM

It sounds like you're a manager type taking on the job of an Electronic Engineer. Hire an EE and look at what he chooses. He is the expert. If you try to micromanage, your startup will fail. Skilled staff need room and independence to manoeuvre.


All times are GMT -5. The time now is 01:52 AM.