write USB driver so we get fastboot
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1.8k
- Forks
- 113
- PR merge metrics
- No merged PRs in 30d
Description
Use drviver toolkit for registers; see https://crates.io/crates/device-driver
A USB crate already exists, providing the trait to implement per platform:
https://crates.io/crates/usb-device
USB
- https://www.beyondlogic.org/usbnutshell/usb5.shtml#DeviceDescriptors
- https://embedded-trainings.ferrous-systems.com/usb-endpoints
DWC2
There is already a Synopsys USB OTG crate:
https://github.com/stm32-rs/synopsys-usb-otg
Look at Linux, U-Boot etc for register block for DWC2 (DesignWare USB 2.0 controller; commonly used on SoCs we support)
- https://www.kernel.org/doc/Documentation/devicetree/bindings/usb/dwc2.txt
- https://github.com/torvalds/linux/blob/master/drivers/usb/dwc2/core.c
- https://github.com/torvalds/linux/blob/master/drivers/usb/dwc2/hw.h register map
NOTE: variants exists; start with one thing, don't care about quirks, just get it done
fastboot
we can implement fastboot on top, which is rather simple; we already have https://github.com/platform-system-interface/fastboot
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the device-driver, usb-device, and synopsys-usb-otg crates, then compare the Linux DWC2 sources in drivers/usb/dwc2/core.c and hw.h. Define a supported DWC2 variant and verify that its USB functionality can support the fastboot implementation from platform-system-interface/fastboot; the issue does not name an oreboot file or test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- embedded-iot, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100