Atmel SAMA5D4 support in the mainline Linux kernel

Atmel SAMA5D4Atmel announced its new ARM Cortex-A5-based SoC on October 1, the SAMA5D4. Compared to the previous Cortex-A5 SoC from Atmel, the SAMA5D3, this new version brings a L2 cache, NEON, a slightly different clock tree, a hardware video decoder, and Trustzone support.

Bootlin engineers have worked since several months with Atmel engineers to prepare and submit the support for this new SoC to the mainline Linux kernel. We have actually submitted the patches on September, 11th, almost a month before the official release of the new chip! This means that most of the support for this new SoC will already be part of the upcoming 3.18 kernel release. Meanwhile, it is already possible to test it out by using the linux-next repository.

There are however a few pieces missing pieces to support all aspects of the chip:

  • A few patches are needed to get proper NAND flash controller support.
  • The DMA controller is brand new in this SAMA5D4 SoC, and the DMA controller driver has not yet been merged, even though the patches have been posted a long time ago, and are currently in their sixth iteration.
  • Display support, through a DRM/KMS driver, is also being reviewed. The driver, written by Bootlin engineer Boris Brezillon, was initially designed for the sam9x5 and sam5d3, but will be compatible with sama5d4 as well. The patch series is currently in its seventh iteration.

The last big missing part is support for non-secure mode: for the moment, the system always runs in secure mode. Running the kernel in non-secure mode will require some more work but an initial version will probably be pushed during the next development cycle.

Besides this work on SAMA5D4 support ahead of its public release, Bootlin is also doing a lot of maintenance work on all the Atmel ARM platforms in the Linux kernel: migration to the Device Tree, to the clock framework, to several other new subsystems, etc. See the summary of our kernel contributions to 3.16, 3.15 and 3.14.

Through this work, the Bootlin engineering team has a very deep knowledge of the Linux support for Atmel ARM processors. Do not hesitate to contact us if you need help to bring up the bootloader or kernel on your custom Atmel ARM platform! It is also worth mentioning that Free-Electrons is part of the Atmel partner ecosystem.

Author: Alexandre Belloni

Alexandre is Bootlin's co-owner and COO. Alexandre joined as a kernel and embedded Linux engineer in 2013, and became co-owner and COO in 2021. More details...

One thought on “Atmel SAMA5D4 support in the mainline Linux kernel”

  1. Hi there, I am a senior community member with E14 and have been asked to have a look at the SAMA5D4 Xplained Ultra board. What I am having difficulty with is trying to find an image that will flash into the board with support for the TM7000 LCD, it seems every which way I turn the docs are incomplete or the downloads go in but no apparent support for the displays, I just get the terminal session and that’s it.

    I am not a deep Linux person, I have no experience building kernels etc, just higher level apps where the basics are already working, I guess my expectations is a bit like getting a Raspberry pi with Raspbian, the basics for running the board are all there and I can focus on adding my apps to it
    Is there a Poky / Yocto image with all this support in already, when E14 road tested the SAMA5D3 a while back it was a disaster due to the same reasons and I would love to be able to pre-empts this by having at least basic instructions that work to get this set up
    Any help or advise in this regard would be appreciated

    Thanks
    Peter Oakes

Leave a Reply