pub struct Icc {
icc: crate::pac::Icc0,
}
impl Icc {
pub fn new(icc: crate::pac::Icc0) -> Self {
Self { icc }
}
#[inline(always)]
fn _is_ready(&self) -> bool {
self.icc.ctrl().read().rdy().is_ready()
}
#[inline(always)]
fn _invalidate(&self) {
self.icc
.invalidate()
.write(|w| unsafe { w.invalid().bits(1) });
}
#[inline(always)]
pub fn disable(&mut self) {
self.icc.ctrl().modify(|_, w| w.en().dis());
}
#[inline(always)]
pub fn enable(&mut self) {
self.disable();
self._invalidate();
while !self._is_ready() {}
self.icc.ctrl().modify(|_, w| w.en().en());
while !self._is_ready() {}
}
}