Group: Hardware/Components/SOCs

From LibrePlanet
Jump to: navigation, search



Vendor Product CPU architecture GPU RYF issues Linux upstream status Bootloader upstream status Busses for WiFi Companion chips Documentation Minumum quantities Available until
Rockchip RK3399 arm64
  • Well supported by Panfrost (the main target is the RK3399)
  • Can run Supertuxkart
  • A nonfree firmware is required for using the USB Type-C display port output
  • There is now a free software implementation for the RAM initialization in u-boot
  • Can boot with fully free software
  • May have nonfree firmware for hardware video decoding
  • Probably has free software USB3/XHCI
? ?
  • PCIe
  • USB
  • Other?
? ? ? ?
Amlogic S805X Aarch64 Mali-450 (Lima)
  • Free software images tools WIP
  • nonfree binaries in the bootloader[1][2]:
    • bl301.bin: ?
    • bl21.bin: ?
    • acs.bin: ?
    • bl2.bin: First stage bootloader. Initialize the RAM.
    • bl30.bin: part of the SCP (power management) firmware. Runs on a cortex-M3?
    • bl31.img: secure monitor or ATF runtime.
TODO: Look at status TODO: Look at status
Texas instruments DM370(like omap3 but higher speed) ARMv7 Powervr
  • No free GPU driver
Good
  • good (free software unsigned possible)
  • USB Host
  • Probably has no mPCIe
? ? ? ?
Texas instruments omap4 ARMv7 Powervr
  • No free GPU driver
Probably good
  • Good
  • USB Host
  • Probably has no mPCIe
? ? ? ?
Allwinner Tech A31 ARMv7 Powervr
  • No free driver for the GPU (PowerVR)
very few missing drivers ?
  • USB Host
? ? ? ?
Allwinner Tech
  • A10
  • A10s
  • A13
  • A20
ARMv7 Mali
  • GPU (WIP)
  • Video encoding/decoding offload processor (WIP)
very few missing drivers Good
  • USB Host
? ? ? ?
Samsung Exynos 3 Single -> Exynos 5 dual armv7 Mali
  • signed bootloaders
? ?
  • USB Host
? ? ? ?
Samsung Exynos 5 Octa ? Powervr
  • Probably has signed bootloaders
? ?
  • USB Host
? ? ? ?
Ingenic JZ4760 ? Vivante GC200 ? ?
  • Free software bootloader exist
  • TODO: check upstream status
  • USB Host
?
  • TODO: find the documentation
1 ?
NXP I.MX 25 ARM 32bit (which one?) No GPU No known issues Mostly complete Mostly complete? (bareobx?, u-boot?)
  • USB host
  •  ?
? ? ?
NXP I.MX 50 ARMv7? ?

Issues:

  • GPU
  • Video decoding offload

TODO:

Mostly complete Mostly complete? (bareobx?, u-boot?)
  • USB host
  •  ?
? ? ?
NXP I.MX 51 ARMv7? ?

Issues:

  • GPU
  • Video decoding offload

Optional:

Mostly complete Mostly complete? (bareobx?, u-boot?)
  • USB host
  •  ?
? ? ?
NXP
  • i.MX6 Dual
  • i.MX6 Quad
  • i.MX6 DualPlus
  • i.MX6 QuadPlus
ARMv7 Vivante

Issues:

  • GPU (WIP)
  • Video encoding/decoding offload processor

Optional:

Mostly complete Mostly complete? (bareobx?, u-boot?)
  • USB host
  •  ?
? ? ?
NXP
  • i.MX6 i.MX6 SoloLite
  • i.MX6 i.MX6 SoloX
ARMv7 ?

Good:

  • No video decoding/encoding offload processor

Issues:

Optional:

Mostly complete Mostly complete? (bareobx?, u-boot?)
  • USB host
  •  ?
? ? ?
NXP
  • I.MX6 UltraLite
  • I.MX6 UUL
ARMv7 No GPU Good:
  • No GPU
  • No video decoding/encoding offload processor

Optional:

Good Good
  • USB host
  •  ?
? ? ?
Samsung
  • S3C2410
  • S3C2440
  • S3C2442
ARMv4? No GPU? No known issues Needs to be ported to the devicetree ?
  • USB host
  •  ?
? ? ?

TODO

References

  1. https://gitlab.denx.de/u-boot/u-boot/raw/master/board/amlogic/p212/README.libretech-ac
  2. From #linux-amlogic on Freenode:
    10:10 < repk> GNUtoo: bl31 is secure monitor or the ATF runtime, it runs in EL3 and dispatch SMC to secure/non-secure world. bl301 is a part of the SCP firmware. On meson the SCP is run by a microcontroller (cortex-M3) and handles power related stuff.
    10:10 < repk> see https://trustedfirmware-a.readthedocs.io/en/latest/ for more on that
    10:15 < repk> So BL1 is the CPU boot ROM code executes in SRAM and lunch BL2 which initializes DDR load all remaining firmwares (BL30 SCP, BL31 secure monitor, BL32 TEE, BL33 u-boot) in it. Then BL31 installs the secure monitor sends bl30 to SCP, and gives control to BL32 (if exists e.g. OPTEE) and BL33 (usually u-boot). Then u-boot loads boots linux.