Plugin: Raspberry Pi Pico Microcontrollers
Introduction
Raspberry Pi Pico Microcontrollers can expose a so-called “Reset” USB interface. When this is exposed, they can be reset into the bootrom and then updated (using the UF2 plugin).
GUID Generation
Raspberry Pi offers vendors to use the Raspberry Pi USB PID space. However, each vendor can chose their own VID/PID instead.
Devices from MNT Research use the standard USB DeviceInstanceId values, e.g.
USB\VID_1209&PID_6D07
USB\VID_1209&PID_6D07&REV_0001
Note that the VID is the shared https://pid.codes/1209/ VID.
Update Behavior
The runtime interface should use a DS-20 BOS descriptor with something like these as the contents:
Plugin=rp_pico
Flags=internal
Version=1.2.3
VersionFormat=triplet
Icon=computer
Devices are updated by triggering a reset, and then entering the Raspberry Pi Pico bootrom.
The bootrom speaks the UF2 protocol.
External Interface Access
This plugin requires read/write access to /dev/bus/usb
.
Version Considerations
This plugin has been available since fwupd version 2.0.2
.
Owners
Anyone can submit a pull request to modify this plugin, but the following people should be consulted before making major or functional changes:
- Lukas F. Hartmann:
mntmn