Amlogic designs Multimedia System-On-Chips for :
Latest ARM 64bit based Families are
Older ARM 32bit Families includes :
Well-Known products are essentially based on the :
More Informations on : https://en.wikipedia.org/wiki/Amlogic
Amlogic GX Family (GXBB, GXL, GXM) has :
All SoCs have off-tree linux support,
Kernel and U-boot source are available from the official Amlogic website :
Only heavily changed 3.10/3.14 kernel for Android is available.
But most of the changes are in drivers/amlogic kernel source directory
Before 4.7, only some minimal support was pushed by some independent kernel hackers :
Minimal boot was supported on S805, AML7826MX and very early GXBB support. Community work started on :
BayLibre develops and maintains the AmLogic kernel upstream, along with community contributions.
Linux Maintainers are :
I recently been added to the experimental drm-misc write group where I can push Acked patches for small changes in drivers directly in the git repository.
Work was concentrated on 64bit SoCs, but support for older SoCs is added if possible (i.e PWM, Reset, ...)
Support for GXBB landed and evolved since 4.7
Support for GXL and GXM landed on 4.10
Best support is from 4.10 with :
"Basic" support was pushed/fixed first :
System Control and Power Interface is the protocol implementation between the ARM Cortex cores and the "System Control Processor" useally implemented using a Cortex-M3 core in an Always-On power domain.
Having stable Firmware protocols seems a good idea, but in this case Amlogic based it's SCPI firmware implementation on an early Juno released to Cortex-A53 licensees.
But ARM reworked and pushed an updated version of the SCPI protocols upstream.
Hopefully (sic), Rockchip used the same SCPI version for their SCPI implementation.
All communications to the SCP firmware are required to use a Mailbox to synchronize.
The driver was pushed for Linux 4.9
SCPI now supports GXBB on Linux 4.10.
Support for GXL and GXM will be done in 4.11 by :
Kevin Hilman wrote a brand new MMC host driver from Amlogic's implementation and the provided public Datasheet.
The hardware supports :
The driver was pushed for Linux 4.10 with only support for :
In the end of 2016 Amlogic published the code for their GXL ang GXM family variants.
These SoCs are enhanced version of the S905 with support for 4k VP9 and H.265 decoding.
Since these SoCs are very close to thre S905, a new hierarchical DT structure has been pushed for 4.10 :
Amlogic SoCs has a complex and feature-full Video Display pipeline that can easily match the Linux DRM structure.
Classic view in DRM Structure :
Mapping of Amlogic Video Processing Unit :
The new GXL and GXM SoCs features an embedded RMII 10/100 Ethernet PHY muxed with the external RGMII 10/100/1000 interface.
Support for 32bit mux registers for MDIO has been pushed along the PHY support for Linux 4.10
To Achieve max performances the following are in the work :
Last round of optimization make possible to achieve 140Mbytes/s on eMMC.
Heiner Kallweit, an hobbyist is currently pushing support for these features.
GXBB embeds a Mali-450 MP3 IP that renders OpenGL ES 1 & ES 2.
ARM provides a GPL kernel driver that discusses with the user-space OpenGL shared library.
Support for GXBB and GXL has been added to the ARM Mali kernel driver :
Still need some work on GXM to support the Mali-T820.
User-Space library must be generate by the SoC vendor and must match the hardware config and kernel driver version.
To provide better display experience the support of the following are necessary :
The Amlogic SoCs uses a Synopsys DesignWare HDMI Controller like multiple other SoCs.
Hopefully, a clean dw-hdmi bridge driver has been pushed a while ago.
But :
Patches are ready, we target Linux 4.12
Current Situation :
Missing support :
The SoC provide S/PDIF, I2S, PCM input and output.
Basic I2S output has been written and works throught HDMI or external DAC.
Missing support of :
One of the best features of those Amlogic SoCs is the Hardware Video Decoding and Encoding.
This will be handled as V4L2 driver to support full control from user-space application.
With support of Overlay planes in the DRM Display Driver, such decoded video frames could be played from graphical applications like VLC.
A lot of people loves to hack the Odroid-C2 board, and great applications like OpenELEC, LibreELEC of KODI runs on these platforms.
A big part of Raspberry Pi projects are modified to run on the S905 platform, thanks to it's more powefull Mali-450 GPU and 4K Video Output and Video Decoding capability.
A few independent hacker pushes regurlary patchs to fix and support more features on the Amlogic SoCs.
For example, USB support for S905 ans ADC support was pushed by an independant german hacker on his spare time (thanks Martin Blumenstingl !)
Such work keeps us focus on bigger features and we provide the community tests and integration to kernelci for automated boot testing.
Espace | Suite |
---|---|
→, ←, molette | Diapo suivante, précédente |
↑, double-clic | Vue d'ensemble |
P | Console de présentation |
H | Cette aide |