Bootlin engineer Alexandre Belloni co-maintainer of the Linux RTC subsystem

SparkFun Real Time Clock ModuleThe Linux RTC subsystem supports the Real Time Clock drivers for a large number of platforms and I2C or SPI based Real Time Clocks: it contains about 140 different device drivers, plus the RTC core itself. The current maintainer, Alessandro Zummo, had unfortunately very little time to address all the patches that were sent, and many of them where usually handled by Andrew Morton, acting as a fallback for various parts of the kernel that are not enough actively maintained.

To address this lack of maintainer time, Bootlin engineer Alexandre Belloni recently became a co-maintainer of the RTC subsystem, as can be seen in this patch to the MAINTAINERS file. Alexandre has already started his work by cleaning up the patchwork instance listing all the pending RTC patches, reducing the number of pending patches from 2843 to 436, actively applying new patches being posted, and reviving old patches that never got any attention.

Up to the 4.1 release included, RTC patches will flow to Linus Torvalds through Andrew Morton, but starting from Linux 4.2, Alexandre will start sending his pull requests directly to Linus.

Linux 4.0 released, Bootlin #7 contributing company

Linus Torvalds has released 4.0 a few days ago, deciding to increment the major number version just because he cannot count up to 20 with his fingers and toes. As usual, LWN gave an excellent coverage of the merge window for 4.0 (which at the time was expected to be called 3.20): first part, second part and third part. LWN also published an article with development statistics about the 4.0 cycle.

According to the statistics, Bootlin is the 7th contributing company in number of patches for the 4.0 cycle.

Here is in detail, all our commits to the Linux 4.0 release:

Embedded Linux Conference 2015 slides from Bootlin

Audience at ELC 2015The Bootlin engineering team is back from a busy week at the Embedded Linux Conference 2015 in San Jose, California, last week. During this conference, we presented several talks, a BoF, and participated to the technical showcase with a Buildroot related demo:

  • Maxime Ripard gave a presentation about the DMAengine subsystem, and his slides are available as PDF.
  • Thomas Petazzoni gave a talk about The Device Tree as a stable ABI: a fairy tale?, and the slides are available as PDF.
  • Boris Brezillon gave a talk about MLC/TLC NAND support: (new ?) challenges for the MTD/NAND subsystem, the slides are available as PDF.

Our three talks were all given in front of fully packed rooms, even with a number of people standing in the room for some of them! We were glad to see that the topics we proposed did interest the ELC audience.

Boris Brezillon about support for MLC NAND in MTD
Boris Brezillon about support for MLC NAND in MTD

Thomas Petazzoni about Device Tree bindings as a stable ABI
Thomas Petazzoni about Device Tree bindings as a stable ABI. Photo by Drew Fustini.

In addition to the talk, Thomas Petazzoni organized on Tuesday last week a BoF (Birds of a feather) session on Buildroot, during which approximately 15 persons showed up even though it wasn’t announced in the official schedule. This session was useful to get some feedback from Buildroot users, and meet users and developers in person.

Finally, on Tuesday evening, during the technical show-case, we demo-ed the Buildroot capabilities using a setup that consisted in two platforms running Buildroot-generated systems: a Raspberry Pi 2 system that runs the Kodi media player software, and a Marvell Armada XP based OpenBlocks AX3 system that runs as a NAS providing contents for the media player. This demo was prepared by Buildroot contributor Yann E. Morin, and Bootlin engineer Thomas Petazzoni. The poster presented is available as PDF or SVG, and all the instructions to rebuild the two systems are documented at http://elinux.org/Buildroot:TechShowcase2015_Demo.

Buildroot demonstration at ELC 2015 technical show case
Buildroot demonstration at ELC 2015 technical show case
Buildroot demonstration at ELC 2015 technical show case
Buildroot demonstration at ELC 2015 technical show case

In addition, it is worth mentioning that all the slides from the Embedded Linux Conference are available at https://events.linuxfoundation.org/events/archive/2015/embedded-linux-conference/program/schedule and http://elinux.org/ELC_2015_Presentations. The talks have been video recorded by the Linux Foundation, and hopefully unlike to what happened to the ELCE 2014 videos, the ELC 2015 videos will really appear online at some point in the future.

The location of the next Embedded Linux Conference was also announced, and it will take place in San Diego next year. It is the first time that the Embedded Linux Conference US edition moves outside of the Silicon Valley!

Linux 3.19 released, overview of Bootlin contributions

It’s been a while that Linus Torvalds has released Linux 3.19 and we already know that the next version of Linux will be called 4.0. It’s not too late though to learn more about the 3.19 release, by reading the following three LWN articles: part 1, part 2 and part 3. KernelNewbies has also updated its page about 3.19.

In terms of statistics for the 3.19 release cycle, LWN has published an article which ranks Bootlin the 13th contributing company, with 205 patches merged. We have been in the top 30th contributing company by number of patches for all kernel releases since Linux 3.8, a sign of our continuous involvement in the upstream kernel community.

Our most important contributions in this kernel release are:

  • For the Atmel ARM processors, numerous cleanup patches from Alexandre Belloni to prepare the platform for ARM multiplatform compliance (the possibility of building the support for Atmel ARM processors together with the support of other ARM processors in a single kernel image). From Boris Brezillon, addition of Device Tree support in the AT91 RTC driver, improvements to the AT91 irqchip driver, addition of a PWM driver for the PWM built into the Atmel HLCDC display controller, addition of Device Tree support for the AT91 hardware random number generator driver, addition of an MFD driver for the Atmel HLCDC display controller, and many other Device Tree fixes and improvements.
  • For the Marvell Berlin ARM processors, addition of USB, SATA and reset controller support. The USB support required numerous core improvements to the USB subsystem, and the addition of a specific USB PHY driver.
  • For the Marvell EBU ARM processors, Gregory Clement added USB PHY support for Armada 375, and CPU hotplug support for Armada 38x as well as several other fixes and improvements. Thomas Petazzoni added suspend to RAM support for Armada XP, fixed a serious problem in the I2C driver that required some major refactoring, and did some HW I/O coherency related fixes.
  • For the Allwinner ARM processors, Maxime Ripard did the relicensing of many Device Tree files from GPL only to GPL+X11 licenses. He also added pinctrl support on Allwinner A80.
  • After writing a dmaengine driver which was merged in 3.17, Maxime Ripard started to get involved in the dmaengine subsystem itself. He contributed a documentation for this subsystem, which was merged in Linux 3.19, as well as several fixes for dmaengine drivers.
  • Addition of a generic linux/media-bus-format.h header file, containing definitions of the various possible pixel formats. This header file was until then specific to the Video4Linux subsystem, but will start being used by the DRM/KMS subsystem. This addition was done in preparation of the introduction of a DRM/KMS driver for the AT91 HLCDC display controller (to come in Linux 4.0).
  • A few small improvements to the core DRM/KMS subsystem, also preparation work for the AT91 HLCDC display controller driver.
  • Fixes for the i.MX28 NAND flash controller driver, the gpmi-nand to properly support the raw access operations, which allow to use the userspace MTD testing utilities to validate the MTD setup. This was part of a customer project we did to assess the quality of the MTD and UBI setup on a Freescale i.MX28 custom platform.

The details of our contributions are:

Embedded Linux Conference schedule announced, several talks from Bootlin

The schedule for the upcoming Embedded Linux Conference, which takes place on March 23-25 in San Jose, has been announced and is available publicly at http://elcabs2015.sched.org/, together with the Android Builders Summit schedule. As usual, there are lots of talks that look very interesting, so we can expect a very useful conference once again.

ELC 2015

This time around, there will be three talks given by Bootlin engineers:

So, book your tickets, and join us for the Embedded Linux Conference at the end of March!

Bootlin at FOSDEM 2015

FOSDEM BannerFor many open-source developers based in Europe, the FOSDEM is probably the most useful, interesting and exciting conference. Once again this year, several Bootlin engineers will attend the conference:

  • Maxime Ripard, mainly involved in Allwinner related kernel development, as well as more recently OpenWRT support for Marvell platforms
  • Antoine Ténart, involved in Marvell Berlin related kernel development, and one of the developers of our Yocto Project and OpenEmbedded training course
  • Alexandre Belloni, involved in Atmel processors related kernel development, and also one of our Yocto expert.
  • Thomas Petazzoni, involved in Marvell EBU processors related kernel development, and doing a lot of Buildroot contributions.

If you are attending, and want to know more about Bootlin, or discuss career or project opportunities, do not hesitate to contact us prior to the conference. Many of us will probably attend a significant number of talks from the Embedded track, so it should be easy to find us.

Last but not least, Alexandre Belloni will be giving a talk about Starting with the Yocto Project, which will take place on Sunday, at 3 PM in room Lameere.

Finally, Thomas Petazzoni has organized and will participate to the Buildroot Developers Meeting organized right after FOSDEM, and sponsored by Google and Mind.

Meet us at Embedded World 2015!

Atmel booth at Embedded World 2014Bootlin will be present at Embedded World 2015 in Nüremberg, Germany on February 24-26. We will be present on the Atmel Corporation booth (4A-220) to demonstrate our Atmel-related developments and offerings.

Four people from Bootlin will be present: Michael Opdenacker (CEO), Thomas Petazzoni (CTO), Anja Roubin (training operations) and Alexandre Belloni (embedded Linux engineer).

Do not hesitate to get in touch with us prior to the event if you would like to schedule a meeting to discuss business, project or career opportunities.

If you are interested in our training services, we will have very special discount vouchers for people who visit us at Embedded World.

You will also be able to ask us for free advise during the trade show. We have vast experience on embedded Linux and its kernel, and we will be most happy to give you ideas and pointers to resources that should be useful for your projects.

Linux 3.18 released, Bootlin 13th contributing company

PenguinLinus Torvalds has recently released the 3.18 version of the Linux kernel. As usual, LWN.net made an excellent coverage of the merge window: part 1, part 2 and part 3.

As of 3.18-rc6, LWN.net gathered some statistics about the 3.18 kernel contributions, and Bootlin is ranked as the 13th contributing company for this release in number of patches (see the statistics), right after MEV Limited and before Qualcomm.

A quick summary of our contributions:

  • Improvements to the support of Atmel ARM processors: addition of a memory driver for the RAM controller (Alexandre Belloni), improvements to the irqchip driver to support the new SAMA5D4 processor (Alexandre Belloni), updates to the defconfigs (Alexandre Belloni), new clock driver for the SAMA5D4 processor (Alexandre Belloni), preparation work for multi-platform (Boris Brezillon), numerous fixes to clock drivers (Boris Brezillon), NAND driver improvements (Boris Brezillon), new reset and poweroff drivers and moved all the corresponding logic to a Device Tree based description (Maxime Ripard), refactoring of the clocksource driver and move to the proper drivers/clocksource directory (Maxime Ripard).
  • Improvements to the support of Marvell EBU ARM processors: XOR driver improvements (Ezequiel Garcia), pin-muxing description in Device Tree for more platforms (Ezequiel Garcia), support for the RTC on Armada 375 (Grégory Clement), support for the Spread Sprectrum Generator on Armada 370 (Grégory Clement), improvements to the support of the Armada 370 RD platform (Thomas Petazzoni), extensions to the cpufreq-dt driver to support platforms with independent clocks for each CPU, various fixes.
  • Improvements to the support of Marvell Berlin ARM processors: add support for the Ethernet controller by re-using the existing pxa168_eth driver (Antoine Ténart).
  • Improvements to the support of Allwinner ARM processors: addition of the support for a phase property to the Common Clock Framework, and usage in the context of the MMC clock on Allwinner processors (Maxime Ripard).
  • Various small UBI improvements (Ezequiel Garcia).
  • A number of trivial fixes: removal of IRQF_DISABLED, typo fixes, etc. (Michael Opdenacker).

The detailed list of the patches we have contributed:

Yocto Project and OpenEmbedded training materials published

Yocto Project and OpenEmbedded trainingAs we announced in out latest newsletter, we recently launched a new Yocto Project and OpenEmbedded development training course.

The first public session will take place in Toulouse, France on November 18-20 and we still have a few seats available. We can also deliver on-site sessions at the location of your choice, see our Training cost and registration page for more details.

However, what brings us here today is that we are happy to announce the release of all the training materials of this new course: like all Bootlin training materials, they are available under the Creative Commons Attribution Share-Alike license.

Fully committed to its knowledge sharing principles, Bootlin has chosen to publish those materials even before the first session has taken place.

The materials available are:

We of course welcome reviews, feedback and comments about these materials, in order to improve them where needed. Send us your comments!

Call for participation for the FOSDEM Embedded developer room

BrusselsThe FOSDEM is by far the largest and most vibrant open-source event in Europe. With 5000+ participants, 400+ talks in just two days, a completely free entrance with no registration required, and many topics covered, it has become over the years a major meeting event of open-source developers.

The 2015 edition will take on January 31 and February 1st in Brussels. Like most years, a specific track dedicated to embedded systems is on the schedule, called the “Embedded Developer Room”. A call for participation has been published, and proposals are expected by December, 1st.

It is worth mentioning that the scope of the FOSDEM Embedded Developer Room goes much beyond Embedded Linux: it covers all types of embedded systems, including micro-controller based development, fun hacking or do-it-yourself projects, and much more. Looking at last year’s schedule of the Embedded Devroom is a good way of getting a feeling of the topics that are covered.

Also, FOSDEM has many other tracks that can be interesting to embedded Linux developers: last year there was a track about Tracing and debugging, a track about Memory and Storage, a track about Hardware, a developer room about Graphics, etc.

So, save the date, and join FOSDEM 2015 in Brussels!