riscv_peripheral/lib.rs
1//! Standard RISC-V peripherals for embedded systems written in Rust.
2//!
3//! ## Features
4//!
5//! - `aclint-hal-async`: enables the [`hal_async::delay::DelayNs`] implementation for the ACLINT peripheral.
6//! This feature relies on external functions that must be provided by the user. See [`hal_async::aclint`] for more information.
7
8#![deny(missing_docs)]
9#![no_std]
10
11pub use riscv; // re-export riscv crate to allow macros to use it
12pub use riscv_pac::result; // re-export the result module
13
14pub mod common; // common definitions for all peripherals
15pub mod hal; // trait implementations for embedded-hal
16#[cfg(feature = "embedded-hal-async")]
17pub mod hal_async; // async trait implementations for embedded-hal
18pub mod macros; // macros for easing the definition of peripherals in PACs
19
20pub mod aclint; // ACLINT and CLINT peripherals
21pub mod plic; // PLIC peripheral