June 26-30, 2023
Prague, Czech Republic + Virtual
View More Details & Registration
Note: The schedule is subject to change.

The Sched app allows you to build your schedule but is not a substitute for your event registration. You must be registered for Embedded Open Source Summit 2023 to participate in the sessions. If you have not registered but would like to join us, please go to the event registration page to purchase a registration.

This schedule is automatically displayed in Central European Summer Time (UTC/GMT +2). To see the schedule in your preferred timezone, please select from the drop-down menu to the right, above "Filter by Date."

IMPORTANT NOTE: Timing of sessions and room locations are subject to change.

Friday, June 30 • 14:50 - 15:30
A Tour of USB Device Controller (UDC) in Linux - Hervé Codina, Bootlin

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
This talk is a presentation of the USB Device Controller (UDC) subsystem in Linux. It will focus on USB 2.0 devices but the topics presented will also be relevant for USB3. A USB Device Controller (UDC) is one component of a USB Gadget. A USB gadget is made of one or more USB functions exposed through one UDC. The USB functions are in charge of the functionalities and the UDC handles the transfers on the USB Endpoints involved in the USB gadget and drives the hardware to perform such transfers. In this talk, we will first give an introduction to the USB 2.0 standard. We will highlight the different types of transfers, the available standard control requests and the standard device states. Then, based on the USB 2.0 standard introduction, we will describe the goal of the UDCs and how they are implemented in the Linux kernel with a particular focus on the USB EP0 control handling involved in the USB enumeration process. The last part will present a tool available and several pre-composed USB gadgets that can be used to test a UDC.


Hervé Codina

Embedded Linux engineer, Bootlin
Hervé is an embedded Linux engineer with 20 years of experience, who joined Bootlin in 2021. He made several contributions to the upstream Linux kernel, including the implementation of an USB2.0 UDC driver (the USBF controller in a Renesas RZ/N1 SoC). He designed several embedded... Read More →

Friday June 30, 2023 14:50 - 15:30 CEST
South Hall 3A (Level 3)
  Embedded Linux Conference (ELC)