First i.MX 8M Patches posted for Mainline

Eight days after NXP announced the immediate availability of the i.MX 8M processor family, Pengutronix developer Lucas Stach today posted a first set of 11 patches to support i.MX 8M in the mainline kernel (linux-gpio, linux-clk, linux-arm-kernel and linux-netdev).

This first patch series (together with five additional patches which are not ready for mainline yet) makes it possible to boot an i.MX 8M into userspace, with support for pinmux, clocks, network and eMMC. With these features in place, it will be possible to continue development on a top-of-tree kernel towards support for more interesting peripherals.

i.MX 8M is the newest (available) member of NXP's (former Freescale's, former Motorola's) i.MX family of application processors, initially introduced back in 2001 and used by many, many Pengutronix customers over all those years. In contrast to many other application processors, the i.MX family always made a good compromise between performance, features and availability, especially when it comes to industrial, medical and automotive applications and their longterm requirements. With first class mainline kernel support, i.MX is also a good choice for device manufacturers who care about IoT security, updates and top-of-tree kernels.

In contrast to the industry-work horse i.MX 6, the kernel support for i.MX 8M in mainline is still in it's early stage of development. The hardware is a moderate evolution of the i.MX 6 peripherals, replacing the Cortex-A9 cores by up to four Cortex-A53 cores (ARM64) and improving the overall memory bandwidth, which has always been a bottleneck for graphic intensive applications.

The most intrusive change between i.MX 6 and i.MX 8M is the replacement of the IPU display unit and the VPU video accelerator by VeriSilicon IP cores, so supporting the graphics subsystem will be high on the list of upcoming challenges.

Later this year, NXP will make more i.MX 8 families available: i.MX 8QM and i.MX 8X will be completely different hardware, with much more power but also much less software synergies with the existing i.MX 6 code in mainline.