init commit
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
#[cfg(feature = "vor1x")]
|
||||
use va108xx as pac;
|
||||
#[cfg(feature = "vor4x")]
|
||||
use va416xx as pac;
|
||||
|
||||
#[inline]
|
||||
pub fn enable_peripheral_clock(clock: crate::PeripheralSelect) {
|
||||
let syscfg = unsafe { pac::Sysconfig::steal() };
|
||||
syscfg
|
||||
.peripheral_clk_enable()
|
||||
.modify(|r, w| unsafe { w.bits(r.bits() | (1 << clock as u8)) });
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn disable_peripheral_clock(clock: crate::PeripheralSelect) {
|
||||
let syscfg = unsafe { pac::Sysconfig::steal() };
|
||||
syscfg
|
||||
.peripheral_clk_enable()
|
||||
.modify(|r, w| unsafe { w.bits(r.bits() & !(1 << clock as u8)) });
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn assert_peripheral_reset(periph_sel: crate::PeripheralSelect) {
|
||||
let syscfg = unsafe { pac::Sysconfig::steal() };
|
||||
syscfg
|
||||
.peripheral_reset()
|
||||
.modify(|r, w| unsafe { w.bits(r.bits() & !(1 << periph_sel as u8)) });
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn deassert_peripheral_reset(periph_sel: crate::PeripheralSelect) {
|
||||
let syscfg = unsafe { pac::Sysconfig::steal() };
|
||||
syscfg
|
||||
.peripheral_reset()
|
||||
.modify(|r, w| unsafe { w.bits(r.bits() | (1 << periph_sel as u8)) });
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn reset_peripheral_for_cycles(periph_sel: crate::PeripheralSelect, cycles: usize) {
|
||||
assert_peripheral_reset(periph_sel);
|
||||
cortex_m::asm::delay(cycles as u32);
|
||||
deassert_peripheral_reset(periph_sel);
|
||||
}
|
||||
Reference in New Issue
Block a user