Chip mfr who sells small quantities?


#1

So I found out about 96Boards yesterday for the first time through the HiKey Launch livestream, which seemed pretty cool and was interesting. The question I asked then, I was told I’d have luck if I reiterated it here, what brands of processor (Cortex-A), especially ones that 96Boards hawks, are good if you want to end up doing your own board runs in small quantities?


#2

hi,

the Dragonboard 410c , i believe, would satisfy this requirement.

It’s using the Qualcomm Snapdragon 410E processor (https://www.qualcomm.com/products/snapdragon/processors/410e) and this SoC is available for purchase as single unit on Arrow.com : https://www.arrow.com/en/products/apq-8016e-1-760nsp-tr-010/qualcomm

cheers.


#3

Hey, I think you’re right! It looks really promising, it’s a great chip, and a great board.

I’m worried that I’m going to start using it for my product and find out that some part of it is crippled by proprietary technology, or that I’m going to want to get information about registers/subunits and it’s a 100k minimum order or something. I understand the 96 boards philosophy, but if anyone knows if there’s a list of binary blobs that aren’t FOSS for this board that would be very helpful.


#4

hi,

there are indeed several ‘black box’ areas on this specific SoC. While there is no proprietary user space lib in the Linux release from Linaro (as of yet), there are firmware blobs that are needed. There are at least 2 different types of blobs

  • the bootloaders (e.g. anything that is needed before we bring up the kernel)
  • firmware blob for co-processors (e.g. s/w not running on the main ARM cores)

The boot chain is a 3-phase process:

  1. SoC ROM code (PBL) [proprietary]
  2. Second stage bootloader (SBL) that is loaded from SD card or eMMC [proprietary]
  3. Application bootloader, e.g. LK (loaded from SD/eMMC as well) [open source]

During the proprietary part of the boot the trusted firmware (TZ) is loaded as well as the RPM firmware (the RPM is a small co processor that handles some clk/power management).

Then the following use case require a firmware blob loaded at run/boot time by Linux kernel:

  • GPU
  • WLAN
  • GPS
  • H/w accelerated video