use super::*;
pub fn chip_setup() {}
pub fn set_module_clock(source: ClockSource, div: u8) {
let l = div - 1;
let h = (div / 2).saturating_sub(1);
let n = l;
SDHOST::regs().clk_edge_sel().write(|w| unsafe {
w.cclkin_edge_drv_sel().bits(1); w.cclkin_edge_sam_sel().bits(0); w.cclkin_edge_slf_sel().bits(0); w.ccllkin_edge_h().bits(h);
w.ccllkin_edge_l().bits(l);
w.ccllkin_edge_n().bits(n);
w.cclk_en().bit(matches!(source, ClockSource::Pll160m))
});
}
pub fn set_input_delay_phase(phase: DelayPhase, _hz: u32) {
let v = match phase {
DelayPhase::_0 => 0u8,
DelayPhase::_1 => 1,
DelayPhase::_2 => 4,
DelayPhase::_3 => 6,
};
SDHOST::regs()
.clk_edge_sel()
.modify(|_, w| unsafe { w.cclkin_edge_sam_sel().bits(v) });
}