31 releases

0.9.2 Jul 19, 2023
0.9.1 Sep 9, 2022
0.9.0 Aug 23, 2022
0.8.6 Jul 31, 2022
0.5.2 Feb 25, 2021

#153 in Operating systems

25 downloads per month

MIT/Apache

170KB
4.5K SLoC

Workflow Status Crates.io Crates.io docs.rs

xhci

A library to handle xHCI.

This crate provides types of the xHCI structures, such as the Registers and Contexts. Users can use this library to implement a USB device deriver on your own OS.

This crate is #![no_std] compatible.

Examples

let mut r = unsafe { xhci::Registers::new(MMIO_BASE, mapper) };
let o = &mut r.operational;

o.usbcmd.update(|u| {
    u.set_run_stop();
});
while o.usbsts.read().hc_halted() {}

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~1.5MB
~37K SLoC