mpfs-hal-embassy 0.2.0

Embassy integration for PolarFire SoC
1
2
3
4
5
6
7
8
9
10
11
12
use embassy_sync::{blocking_mutex::raw::CriticalSectionRawMutex, mutex::Mutex};
use static_cell::StaticCell;

use mpfs_hal::{Peripheral, qspi};

static QSPI_BUS: StaticCell<Mutex<CriticalSectionRawMutex, qspi::Qspi>> = StaticCell::new();

pub fn qspi_bus() -> &'static mut Mutex<CriticalSectionRawMutex, qspi::Qspi> {
    qspi::init();
    let qspi = qspi::Qspi::take().unwrap();
    QSPI_BUS.init(Mutex::new(qspi))
}