Pengutronix Contributions to v4.10

Here is a short report about Pengutronix' contributions to the 4.10 kernel. It mainly contains more improvements for the i.MX6 graphics and video subsystem, Etnaviv, Marvell Orion and Altera SoCFPGA.

Memory Subsystem

  • A bug was fixed that led to performance impact on CMA memory (lst)


  • Memory handling was improved for the low IOVA case (lst)
  • Move GPU linear window for i.MX6SoloX; make FAST_CLEAR work where possible (lst)
  • Don't invoke OOM killer for dump code, as it's only a debug feature (lst)
  • Return new SG table for prime (lst)
  • Implement dma-buf mmap (lst)

Graphics Subsystem

  • Add support for AUO G185HAN01 panel (lst)
  • Add support for AUO G133HAN01 panel (lst)
  • Add more properties for Innolux G121I1-L1 panel (lst)
  • Remove a warning for TC358767 analog video digitizer (lst)
  • IPU DI: silence videomode logspam (lst)
  • Remove unnecessary double disable check for i.MX LDB (pza)
  • Make the LDB_DI0 and LDB_DI1 clocks read-only (pza)
  • Mask mmdc_ch1 handshake for periph2_sel and mmdc_ch1_axi_podf (pza)
  • Initially clear all GPU interrupts, preparation for better IPU reset behaviour in the future (pza)
  • Merge ipu_plane_atomic_set_base into atomic_update for IPUv3 (pza)
  • Request modeset if plane offsets changed on IPUv3 (pza)
  • Fix LDB clock tree on i.MX6 QuadPlus (lst)

Video Subsystem

  • Support downsizing to 1/2 width and/or height in the CSI (pza)
  • Add support for YUV 4:2:2 and 4:4:4, NV12, and NV16 formats to the IPUv3 (pza)
  • Add YUV 4:4:4 support to the IPUv3 (pza)
  • Remove unused ipu_cpmem_set_yuv_planar function for IPUv3 (pza)
  • Let drm_plane_state_to_ubo/vbo handle chroma subsampling other than 4:2:0 on IPUv3 (pza)


  • Make use of CURDIR, to make the build system more robust (ukl)
  • Fix coding style in clock gate code (ukl)
  • Fix duplicate level interrupts on MXS (sha)
  • Use enable/disable regs to (un)mask irqs on MXS (sha)
  • FEC: drop check for clk==NULL before calling clk_* (ukl)

Marvell Orion

  • Fix documentation for SPI (ukl)
  • Fix some error paths alloc_nand_ressource() (ukl)
  • armada-370-rn102: add pinmuxing for i2c0 (ukl)
  • armada-370-rn102: drop specification of compatible for i2c0 (ukl)
  • armada-xp-rn2120: add pinmuxing for ethernet (ukl)
  • armada-xp-rn2120: drop wrong compatible for i2c0 (ukl)

802.15.4 / 6LoWPAN

  • Fix CCA ED values for RF233 (aar)


  • Add NAND controller nodes (str)
  • Enable QSPI, add to several oftrees (str)

Further Readings

umpf - Git on a New Level

Modern software development is commonly accompanied by a version control system like Git in order to have changes to the source code being documented in a traceable manner. Furthermore, any version state should be easily reproducible at any time. However, for work on complex projects such as the BSP ("Board Support Package") of an embedded system with its multiple development aspects, the simple stacking of the individual changes on top of each other does not scale.

Pengutronix Kernel Contributions in 2021

2022 has started, and although Corona had a huge impact on our workflow, the Pengutronix team again made quite some contributions to the Linux kernel. The last kernel release in 2020 was 5.10, the last one in 2021 was 5.15, so let's have a look at what happened in between.

Pengutronix at FOSDEM 2021

"FOSDEM is a free event for software developers to meet, share ideas and collaborate. Every year, thousands of developers of free and open source software from all over the world gather at the event in Brussels. In 2021, they will gather online." -- FOSDEM