aboutsummaryrefslogtreecommitdiff
path: root/embassy-usb
diff options
context:
space:
mode:
Diffstat (limited to 'embassy-usb')
-rw-r--r--embassy-usb/README.md5
1 files changed, 5 insertions, 0 deletions
diff --git a/embassy-usb/README.md b/embassy-usb/README.md
index 400fc6695..a053c940b 100644
--- a/embassy-usb/README.md
+++ b/embassy-usb/README.md
@@ -20,6 +20,11 @@ Async USB device stack for embedded devices in Rust.
20To add `embassy-usb` support for new hardware (i.e. a new MCU chip), you have to write a driver that implements 20To add `embassy-usb` support for new hardware (i.e. a new MCU chip), you have to write a driver that implements
21the [`embassy-usb-driver`](https://crates.io/crates/embassy-usb-driver) traits. 21the [`embassy-usb-driver`](https://crates.io/crates/embassy-usb-driver) traits.
22 22
23Before writing a new driver, you can first verify whether the chip uses a common USB IP. Several widely used USB IPs already have implementations available, such as:
24
25- **Synopsys OTG (dwc2)**: Available at [embassy-usb-synopsys-otg](https://crates.io/crates/embassy-usb-synopsys-otg). This IP is used by vendors like STMicroelectronics, Espressif, and others.
26- **Musbmhdrc (musb)**: Available at [musb](https://crates.io/crates/musb). This IP is used by vendors like TI, MediaTek, Puya, and others.
27
23Driver crates should depend only on `embassy-usb-driver`, not on the main `embassy-usb` crate. 28Driver crates should depend only on `embassy-usb-driver`, not on the main `embassy-usb` crate.
24This allows existing drivers to continue working for newer `embassy-usb` major versions, without needing an update, if the driver 29This allows existing drivers to continue working for newer `embassy-usb` major versions, without needing an update, if the driver
25trait has not had breaking changes. 30trait has not had breaking changes.