Linux kernel 4.5

The new release of the Linux kernel, 4.5, was published on March, 13th. This release brings the support for two new platforms based on SAMA5D4: the Denx MA5D4 SoM and EVK and the Landis + Gyr VInCO platform, as announced in our last January newsletter. It also provides a number of improvements in various areas:

While reading this section, you might realize that most of the topics mentioned were in fact already discussed in the "Activity on the linux-arm-kernel mailing list" section of our previous newsletters. In fact, it reflects exactly the development process that we are following: write patches, discuss them on the mailing-list, get them integrated in the git flow and finally see them appearing in an official Linux release.

ELC 2016 San Diego

This Embedded Linux Conference that took place in San Diego this year, has been fruitful it seems and many news websites already covered the event. The videos have not been published yet, but the slides are already available. Here are links to pick interesting topics:

That led us to build our Linux offer for SAMA5D2 Xplained board with all the components aligned with this particular baudrate. That was chosen to allow all users to see the familiar " RomBOOT " string while powering up a SAMA5D2 board. Moreover, having the serial console configured to a baudrate value understood by the ROM code would ease the debug of a non-working boot process. For example, you should know that if a boot media is not found by the ROM Code, the SAM-BA monitor starts to wait connections on either USB gadget or console UART. It is thus possible to interact directly with SAM-BA monitor to:

ask the ROM Code revision with the command: V#

read the SoC chipID with the command: wFC069000,#

write data or send files...

All the commands available and that the SAM-BA tool use, by the way, are described in the "SAM-BA Monitor" section of the datasheet.

Let's come back to the bulk of this topic after this little digression... So, now that the official revisions of the chip are available and corrected, it makes sense to switch to the more usual 115200 baud rate for the console UART. This is what we did for all the components of our pre-built Linux4SAM demos. If your SAMA5D2 Xplained board is populated with an "-ES" chip, and that you don't want to access the SAM-BA monitor, we advice you to move to 115200 anyway with us. You'll simply see a little bit of garbage characters instead of the " RomBOOT " string...

DDR2/DDR3 - LP-DDR 1/2/3 init code in at91bootstrap

With the inclusion of our latest SoC the SAMA5D2 one year ago, we also gained support for more external RAM types so the first stage bootloader evolved to integrate such memory initialization procedures.

So, in addition to the usual DDR-SDRAM 2 and 3, Wenyou wrote the code to support:

Even if you don't use AT91Bootstrap as your first stage bootloader, this code is a reference that follows the different steps and requirements for these types of RAM as described in the product datasheet.
As a BSD-licensed example it can be copied and ported to your favorite project for addressing this kind of RAM initialization needs.

Activity on the linux-arm-kernel mailing-list

Here is a brief summary of the most important discussions that happened around the Atmel | Smart ARM-based processors (aka AT91) during the last month:

a lot of new DT entries for SAMA5D2, the Special Function Register entry (SFR) and the new ChipID support queued for 4.6 and for 4.7

atmel-hlcdc LCD driver rework by Boris

some fixes including a important one preventing a potential memory leak

adding support for asynchronous mode setting, which was supported before the migration to atomic mode setting

patch 3 is just a minor fix to expose the real encoder and connector types (we are currently exposing an LVDS encoder/connector, which is wrong since the display controller output the pixel stream in raw RGB). This modification led to the correction of the " video " option of the kernel command line used by the framebuffer emulation on top of the DRM layer. So, now you can configure the framebuffer with the following option. As an example you'll have to use with the PDA 7" display: video=Unknown-1:800x480-16 instead of video=LVDS-1:800x480-16 previously. Note also that our demos are updated with these changes

a crucial patch increasing HLCDC bandwidth by making use of the two AHB interfaces. The choice of the less utilized interface is made allowing to take full advantage of these two accesses to the memory