BayLibre is working on mainline Linux for Amlogic SoC, and in February of last year, Neil Armstrong gave a presentation entitled “Mainline Linux on AmLogic SoCs” at the Embedded Linux Conference 2017.
Neil has recently (actually yesterday) given another presentation about the status of mainline Linux on Amlogic processor at linux.conf.au 2018, so we have some updated information now. He goes through the whole history of upstreaming Linux for Amlogic SoCs, but I’ll provided summary of the new features, and if you have time you can watch the video (25 minutes) embed below, or the slides.
Early last year, Linux 4.10 already supported general I/Os, USB host (for S905), Gigabit Ethernet, eMMC/SD/SDIO, PSCI for SMP, and SCPI for DVFS for Amlogic processor, and BayLibre was said to be working on HDMI display support, Mali (as external module), audio input/output, and high-speed eMMC modes.
Based on the slide above, with Linux 4.14, the (e)MMC driver now support HS200 @ 50 MHz, the DRM driver for composite (CVBS) and HDMI video output is working, further work for the USB driver for GXBB (S905) has been done, as well as for I2C, SPI, PWM, Ethernet, and others. HDMI CEC is also supported in Linux 4.14 using the CEC Framework, and a Fix for Gigabit Ethernet stability & reliability has also been pushed for Linux 4.16.
He also talked about Arm Mali-450MP integration, and they currently have out of tree support for GXBB (S905) and GXL (S905X), but more work is needed for GXM (S912) using an Arm Mali-820MP GPU. The user-space library is closed source, must be updated by Amlogic, and they have support for the three versions: fb (framebuffer), X11, and Wayland. LIMA has also be resurrected by another developer (mesa-lima), there’s basic support for Arm Mali-450 GPU, and it has successfully been tested by Baylibre.
Going forward, there’s still lots of work on the video display driver including cursor plane, overlay planes, OSD scaling, overlay scaling, and MIPI DSI output.Vide hardware acceleration will also be challenging as Amlogic is currently using a custom software implementation, and it will have to be supported through V4L2 in mainline, so it will take some time. Some Audio features have yet to be implemented including S/PDIF input and output, I2S input, PCM input and output, and the embedded stereo DAC in S905X and S912.
At the end of the presentation he also covers the community involvement, and development boards such as ODROID-C2, and the more recent Khadas VIM or Libre Computer boards.
You may also want to check out the slides.