April 17, 2018
A quick look into the 2018Q1 status of the i.MX 6 & 8 platforms.
The i.MX 6 platform has for the past few years enjoyed a large effort to add upstream support to Linux and surrounding projects. Now it is at the point where nothing is really missing any more. Improvements are still being made, to the graphics driver for i.MX 6, but functionally it is complete.
The i.MX8 is a different story. The newly introduced platform, with hardware still difficult to get access to, is seeing lots of work being done, but much still remains to be done.
That being said, initial support for the GPU, the Vivante GC7000, is in place and is able to successfully run Wayland/Weston, glmark, etc. This should also mean that running Android ontop of the currently not-quite-upstream stack is possible using drm_hwcomposer.
An upstream display/scanout driver does currently not exist, since the display IP in the i.MX 8 is different and more capable than the IP in the i.MX 6 platform, the current imx-drm driver is not capable of supporting it.
A driver is provided by the NXP base support package. This BSP driver is based on KMS Atomic and supports most of the bells and whistles one would hope for, but is currently not in an upstreamable shape.
But patches for the gpio, clk, netdev & arm-kernel subsystems have been submitted to their respective mailing lists by Lucas Stach.
The direct support for the i.MX8 that has landed in the kernel at this point is mostly done by NXP engineers.
But there are lots of components that currently have no support. The Video Processor Unit IP, the Hantro G1/G2, does not have any upstream support.
Looking at bootloader support, U-Boot has good support for the i.MX 8M platform since early 2018, and can be expected to just work.
While lot's of support is still missing for the i.MX 8, the platform is under active development, with many new pieces of the hardware seeing attention.
Purism is one of the vendors who currently is actively working towards full Open Source support of the i.MX 8 platform.
WandPi 8M is a series of 3 different boards based on the i.MX 8M platform.
Nitrogen 8M is another i.MX 8M based option, made by Boundary Devices who also made the popular Sabre Lite series of boards for the i.MX 6.
This post has been a part of work undertaken by my employer Collabora.
Visit Robert's blog.
With virtme, you can run a custom built kernel on top of our running root filesystem. In this post, we explore another example of virtme…
Introducing cmtp-responder - a permissively licensed Media Transfer Protocol (MTP) responder implementation which allows embedded devices…
Up until now, talking in-depth about userspace tracing was deliberately avoided because it merits special treatment, hence this part devoted…
After a successful team effort, the patch enabling the Chromium Embedded Framework (CEF) Ozone builds to run with different platform backends,…
Now that we've studied the mainstream way of developing and using eBPF programs on top of the low-level VM mechanisms, we'll look at projects…
A previous post introduced the SPURV Android compatibility layer for Wayland based Linux environment. In this post, we're going to dig into…