Hi,
Here is are some updates on the Linux related topics for March 2016.
Table of contents:
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:
- a lot of cleanup of the WIFI wilc1000 staging driver
- enhancement of the Image Sensor Interface (ISI) concerning the preview path and color space conversion
- driver for the Pulse Density Modulation Interface Controller for digital microphone (PDMIC): the audio input on SAMA5D2 made easy!
- better support of the mono audio output through the ClassD in SAMA5D2
- enable the new watchdog for SAMA5D4 and SAMA5D2. This new one is far more flexible as we now have the possibility to keep it configurable until a no-way-out command is set
- possibility to use an I2C hold time for certain devices with DT. It was absolutely needed by the PMIC used on our SAMA5D2 Xplained board: the ACT8945A
- inclusion of the SAMA5D2 in the list of supported SoC for the atmel-hlcdc driver
- new version of the AES crypto engine specifically for SAMA5D2 and huge cleanup of the common code with the previous IP versions:
- addition of the GCM mode for the Authenticated Encryption with Associated Data channel family of crypto operation modes
- this work also adds some more performance with the use of scatter-gather feature, aligned buffers, streamline of tasks scheduling and removal of buffer copies
As usual, many good websites are listing the main changes for this new kernel revision:
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:
http://elinux.org/ELC_2016_Presentations
As usual, a nice summary by the website
http://hackerboards.com (was the famous LinuxGizmos.com):
http://hackerboards.com/50-embedded-linux-conference-slide-presentations-on-tap/
The always great articles on lwn.net are listed in their conference directory:
https://lwn.net/Archives/ConferenceByYear/#2016-Embedded_Linux_Conference
For instance, you can find articles about:
Some Linaro developers also posted their feedback about this conference:
Change the default baud rate on SAMA5D2 to 115200
The Engineering Samples of SAMA5D2 marked with the well known "-ES" at the end of the ordering code have an errata that you can read in the specific document:
SAMA5D2 Errata for Engineering Samples.
1.9 ROM Code: Console Terminal UART Baudrate
"UART baudrate is 57600 Baud instead of 115200 Baud"
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
- ADC for SAMA5D2: single ended mode for Linux 4.6 and differential mode added for upcoming Linux 4.7
We hope that you enjoyed reading this newsletter.
Bye,
Nicolas Ferre and the whole OS team