96 lines
1.6 KiB
Rust
96 lines
1.6 KiB
Rust
#![no_std]
|
|
|
|
pub mod gpio;
|
|
mod pac_utils;
|
|
pub mod pint;
|
|
|
|
pub use embassy_hal_internal::{into_ref, Peripheral, PeripheralRef};
|
|
pub use lpc55_pac as pac;
|
|
|
|
/// Initialize the `embassy-nxp` HAL with the provided configuration.
|
|
///
|
|
/// This returns the peripheral singletons that can be used for creating drivers.
|
|
///
|
|
/// This should only be called once and at startup, otherwise it panics.
|
|
pub fn init(_config: config::Config) -> Peripherals {
|
|
gpio::init();
|
|
pint::init();
|
|
|
|
crate::Peripherals::take()
|
|
}
|
|
|
|
embassy_hal_internal::peripherals! {
|
|
// External pins. These are not only GPIOs, they are multi-purpose pins and can be used by other
|
|
// peripheral types (e.g. I2C).
|
|
PIO0_0,
|
|
PIO0_1,
|
|
PIO0_2,
|
|
PIO0_3,
|
|
PIO0_4,
|
|
PIO0_5,
|
|
PIO0_6,
|
|
PIO0_7,
|
|
PIO0_8,
|
|
PIO0_9,
|
|
PIO0_10,
|
|
PIO0_11,
|
|
PIO0_12,
|
|
PIO0_13,
|
|
PIO0_14,
|
|
PIO0_15,
|
|
PIO0_16,
|
|
PIO0_17,
|
|
PIO0_18,
|
|
PIO0_19,
|
|
PIO0_20,
|
|
PIO0_21,
|
|
PIO0_22,
|
|
PIO0_23,
|
|
PIO0_24,
|
|
PIO0_25,
|
|
PIO0_26,
|
|
PIO0_27,
|
|
PIO0_28,
|
|
PIO0_29,
|
|
PIO0_30,
|
|
PIO0_31,
|
|
PIO1_0,
|
|
PIO1_1,
|
|
PIO1_2,
|
|
PIO1_3,
|
|
PIO1_4,
|
|
PIO1_5,
|
|
PIO1_6,
|
|
PIO1_7,
|
|
PIO1_8,
|
|
PIO1_9,
|
|
PIO1_10,
|
|
PIO1_11,
|
|
PIO1_12,
|
|
PIO1_13,
|
|
PIO1_14,
|
|
PIO1_15,
|
|
PIO1_16,
|
|
PIO1_17,
|
|
PIO1_18,
|
|
PIO1_19,
|
|
PIO1_20,
|
|
PIO1_21,
|
|
PIO1_22,
|
|
PIO1_23,
|
|
PIO1_24,
|
|
PIO1_25,
|
|
PIO1_26,
|
|
PIO1_27,
|
|
PIO1_28,
|
|
PIO1_29,
|
|
PIO1_30,
|
|
PIO1_31,
|
|
}
|
|
|
|
/// HAL configuration for the NXP board.
|
|
pub mod config {
|
|
#[derive(Default)]
|
|
pub struct Config {}
|
|
}
|