phytium-mci 0.1.1

A no_std Rust driver for SD/MMC cards on Phytium E2000 series SoCs
Documentation
use super::constants::MCIHostDetectCardType;

#[allow(unused)]
pub struct MCIHostCardDetect {
    pub(crate) typ: MCIHostDetectCardType,
    pub(crate) cd_debounce_ms: u32,
    // TODO Function type that takes a boolean and a user data pointer
    pub(crate) card_detected: Option<MCIHostCdStatusFn>,
    pub(crate) dat3_pull_func: Option<MCIHostDat3PullFn>,
    // TODO user data
}

type MCIHostCdStatusFn = fn() -> bool;
type MCIHostDat3PullFn = fn(pull_status: u32);

impl MCIHostCardDetect {
    pub fn new() -> Self {
        MCIHostCardDetect {
            typ: MCIHostDetectCardType::ByGpioCD,
            cd_debounce_ms: 0,
            card_detected: None,
            dat3_pull_func: None,
        }
    }
}