Linux 5.10 To Bring Rework To Raspberry Pi 4 USB Firmware Initialization
One of the early changes queued in the USB area for the Linux 5.10 cycle later this summer is a "reset-raspberrypi" driver set for introduction as another upstream improvement for the current-generation Raspberry Pi 4 single board computer.
This "reset-raspberrypi" driver is for a rework of the Raspberry Pi 4 USB firmware initialization. With this budget ARM SBC, after a PCI reset the VL805 USB host controller on the board needs to be loaded directly from an EEPROM or the SoC's VideoCore co-processor.
At present that loading of the USB firmware for initialization is done using quirks in the kernel and other hacky sort of solutions. The new solution spearheaded by Nicolas Saenz Julienne is via this new reset controller driver for triggering the xHCI chip initialization. Basically this driver is to allow a clean means of triggering the hardware initialization process on the VideoCore co-processor.
While USB firmware initialization isn't as fun of a topic as other areas pertaining to the Raspberry Pi or kernel, this new approach allows for cleaning up of these previous quirks and hacky code.
The reset-raspberrypi driver for this purpose is just over one hundred lines of code by Julienne of SUSE while there are additional patches queued for making use of the new functionality and dropping of the old code path. This work is in the "usb-next" kernel code until the Linux 5.10 merge window kicks off in October.
This "reset-raspberrypi" driver is for a rework of the Raspberry Pi 4 USB firmware initialization. With this budget ARM SBC, after a PCI reset the VL805 USB host controller on the board needs to be loaded directly from an EEPROM or the SoC's VideoCore co-processor.
At present that loading of the USB firmware for initialization is done using quirks in the kernel and other hacky sort of solutions. The new solution spearheaded by Nicolas Saenz Julienne is via this new reset controller driver for triggering the xHCI chip initialization. Basically this driver is to allow a clean means of triggering the hardware initialization process on the VideoCore co-processor.
While USB firmware initialization isn't as fun of a topic as other areas pertaining to the Raspberry Pi or kernel, this new approach allows for cleaning up of these previous quirks and hacky code.
The reset-raspberrypi driver for this purpose is just over one hundred lines of code by Julienne of SUSE while there are additional patches queued for making use of the new functionality and dropping of the old code path. This work is in the "usb-next" kernel code until the Linux 5.10 merge window kicks off in October.
4 Comments