Pengutronix on ELC 2021
The sun is shining for the last days of summer 2021. It doesn't only mean that autumn is coming, but also that this year's ELC is in preparation.
Since the ELC takes place in North America in-person and in Europe virtually, our colleagues are recording their talks. We are proud to contribute to the ELC's schedule with four talks and covering a wide range of topics: from writing kernel mainline drivers to hardware testing.
Teach an Old Network Driver New Tricks
Oleksij Rempel & Marc Kleine-Budde
This talk gives an overview of several new features in the networking driver world and how your Ethernet or CAN driver can benefit from it. In most cases there is HW support, but old network drivers implement only a limited amount of functionality: PHY support in Ethernet drivers is hard coded (AX88772) or switches aren't connected to the Kernel's switch framework (AR9331). Today PHYs (gigabit or single pair ETH) need special handling, hard coding PHY support is not an option. So let's convert Ethernet drivers to make use of the phylib as an Abstraction Layer. This brings access to ready to use PHY drivers and new functionalities, like diagnostic, self testing, cable testing, and workarounds for PHY specific errata. The functionality of Ethernet switches perfectly fits under the DSA framework which is the kernel's abstraction for different types of switching HW offloading capabilities. Another nifty feature to add is RX/TX hardware timestamping that modern MACs support, to increases diagnostic capabilities. Devices can benefit from lower latencies with Byte Queue Limit support, those connected with slow buses (USB, SPI) can combine outgoing network packets into one transaction. The talk will briefly mention XDP, what it does and if your ETH and CAN driver can benefit from it.
Initializing RISC-V: a Guided Tour for ARM Developers
Ahmad Fatoum & Rouven Czerwinski
RISC-V is the hot and upcoming architecture in the embedded space. While a majority of embedded developers have earned their chops programming for ARM processors (and PowerPC beforehand), many have yet to dip their toes into the growing RISC-V ecosystem. This talk will guide attendees through the RISC-V architecture and some of its ISA extensions and then follow Ahmad's and Rouven's journey in applying their ARM knowledge to porting the barebox bootloader to the RISC-V-powered Beagle-V Starlight, while enjoying the fun and woe of early-revision silicon.
Building Open Hardware with Open Software
Since their invention in the 80s, FPGAs are used in many domains of digital electronics. Up until now they play a notable role in embedded system development because they allow simultaneous development of system software and hardware. Combined System-On-Chips and FPGAs in one package make offloading realtime- or safety-critical processes to the FPGA even easier. Thanks to the work of many open-source developers, we can now use tools like Yosys and nextpnr to build FPGA bitstreams with a completely open-source toolchain, top to bottom. With the recent rise of RISC-V there is even an open ISA, allowing development of a multitude of compatible, open CPU cores. Designing systems that contain FPGAs becomes more difficult, as they introduce additional flexibility and, thus, complexity into systems. For example, which modules to implement as gateware or as software is a critical decision. Moreover, the software must be able to adapt to changing gateware, as it might change due to system updates. This must be considered in the software and system architecture as well. In this talk, Michael will present his experience with using the open source FPGA tools. Furthermore, he will outline important aspects when designing systems involving software, gateware, and actual hardware.
Automated Testing for Embedded Development: Next Generation Board Farming
Board farming is an important topic for embedded Linux development: It allows developers to share their hardware and lays the foundation for continuous testing of BSPs and applications on real hardware. With this talk I want to continue the discussion on how to control large numbers of Embedded Devices in a lab. I will begin with a short introduction on how Pengutronix currently operates their board farm: I will give you an overview on the hardware we use and how we use labgrid to support interactive work and automated testing of our devices under test. Afterwards I will give some insight of the everyday life with 150+ slots in the Pengutronix lab and what the most annoying (and expensive) problems are. To mitigate most of the problem my team and I are currently working on a new way to organize our labs: we try to shift our labs from a centralized architecture with many devices connected to a few control servers to a distributed structure where every device under test is controlled by its own test automation controller. I will conclude my talk with a discussion of the pros and cons of this design that we already discovered.
After a longer time with online-only events, the Netdev 0x16, a conference about the technical aspects of Linux Networking, was organized as hybrid event: online and on-site at Lisbon.
Friday, the last day of ELC-E 2022, is traditionally the day of the Embedded Linux Closing Game, with Tim Bird reporting about the embedded Linux world (universe?) domination progress and the overall state of the union. Of course, there were again several interesting talks.
The Convention Centre is directly at the water front of the Liffey river, just a few walking minutes away from O'Connell Bridge, Temple Bar and Trinity College. Visiting ELC-E is always a good opportunity to visit interesting cities in Europe. However, here is my story of the talks I heard on day 3.
The Dublin Convention Centre is huge - there is more than enough space for all the developers participating in the Open Source Summit. Fortunately, the talks will be on YouTube after the conference, so it's no problem that one can only hear a small selection of talks. However, here is my report of the talks I heard on the 2nd day of the conference.
After two years with online conferences, the embedded Linux community once again meets in person for their annual Embedded Linux Conference Europe in Dublin, Ireland this year. Since many years, ELC-E is part of the Linux Foundation's Open Source Summit, and the best opportunity of the year to meet other Linux kernel and wider core ecosystem developers and discuss recent and future technological topics.
The Embedded Linux Conference Europe (ELCE) is the one biggest meetup of Embedded Linux developers in Europe. As usual Pengutronix has attended this conference - but this year from the warmth of our homes.