Mainline Linux on Amlogic S905/S905X/S912 SoCs – 2018 Status Update

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 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.

Amlogic DRM Display Driver Status – Outlined = Done, Otherwise = To do.

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.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard

16 Replies to “Mainline Linux on Amlogic S905/S905X/S912 SoCs – 2018 Status Update”

  1. So they are trying to opensource everypart of the soc ?

    if so it could be competitive against the imx 8m socs ,or am i wrong ?

  2. It’s amazing that the first man on the moon is able to turn his hand to linux development like that. Thanks Neil!

    1. Great summary. Quickly looked at the BayLibre slides you linked, and got a bit confused:

      1. Slide#4 ( Title being #1) mentions S905X ( GXL) as having video encoding and decoding, but is it still not supported in Linux 4.10+ ?

      2. Is it safe to assume that Ubuntu will run on S905X with SMP enabled, i.e. quadcore multiprocessor support ?
      How about for multicore Mali GPU support?

      3. BayLibre omitted mention of balbe150 on in its hacker list, who seems to have made some major (out of tree?) contributions to running Ubuntu- Debian on Amlogic boards.

      Does anyone know if SMP and multi core GPU is supported by balbe150 mods under Linux 4.10+ ? Think his versions are now 5.42+ but don’t know about SMP and video acceleration capabilities…

  3. They are partnering and working with AmLogic and yet user-space drivers have to be reverse engineered by someone else? Is it b/c of contractual issues with ARM that AmLogic has that it can’t release code? I never understood how that works

    Khadas Vim has an experimental build for 4.14.11

    I think the they use is from 4.9 so … it works.. but you get 8FPS

  4. They still missing one simple stuff
    working v-sync on DRM driver
    I did report this problem mouth ago on IRC and nothing 🙂

  5. Sheet 13 says “BayLibre develops and maintains the AmLogic kernel upstream”.
    The BayLibre site says “It was a match made in heaven: two years ago AmLogic and BayLibre joined forces to bring top-notch support for AmLogic SoCs into the mainline Linux kernel.”
    So I assume AmLogic pays BayLibre for their work?

  6. As far as I knew Amlogic had contracted BayLibre to upstream their kernel to mainline but the money had run out and Amlogic refused to fund the collaboration any further because they have already moved on from S905 and development had stalled.

    @geokon the 9fps problem with the latest kernel can be solved with the following patch,

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC