1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#[doc = r" Value to write to the register"]
pub struct W {
    bits: u32,
}
impl super::MAINT1 {
    #[doc = r" Writes to the register"]
    #[inline]
    pub fn write<F>(&self, f: F)
    where
        F: FnOnce(&mut W) -> &mut W,
    {
        let mut w = W::reset_value();
        f(&mut w);
        self.register.set(w.bits);
    }
}
#[doc = r" Proxy"]
pub struct _INDEXW<'a> {
    w: &'a mut W,
}
impl<'a> _INDEXW<'a> {
    #[doc = r" Writes raw bits to the field"]
    #[inline]
    pub unsafe fn bits(self, value: u8) -> &'a mut W {
        const MASK: u8 = 255;
        const OFFSET: u8 = 4;
        self.w.bits &= !((MASK as u32) << OFFSET);
        self.w.bits |= ((value & MASK) as u32) << OFFSET;
        self.w
    }
}
#[doc = "Values that can be written to the field `WAY`"]
pub enum WAYW {
    #[doc = "Way 0 is selection for index invalidation"]
    WAY0,
    #[doc = "Way 1 is selection for index invalidation"]
    WAY1,
    #[doc = "Way 2 is selection for index invalidation"]
    WAY2,
    #[doc = "Way 3 is selection for index invalidation"]
    WAY3,
}
impl WAYW {
    #[allow(missing_docs)]
    #[doc(hidden)]
    #[inline]
    pub fn _bits(&self) -> u8 {
        match *self {
            WAYW::WAY0 => 0,
            WAYW::WAY1 => 1,
            WAYW::WAY2 => 2,
            WAYW::WAY3 => 3,
        }
    }
}
#[doc = r" Proxy"]
pub struct _WAYW<'a> {
    w: &'a mut W,
}
impl<'a> _WAYW<'a> {
    #[doc = r" Writes `variant` to the field"]
    #[inline]
    pub fn variant(self, variant: WAYW) -> &'a mut W {
        unsafe { self.bits(variant._bits()) }
    }
    #[doc = "Way 0 is selection for index invalidation"]
    #[inline]
    pub fn way0(self) -> &'a mut W {
        self.variant(WAYW::WAY0)
    }
    #[doc = "Way 1 is selection for index invalidation"]
    #[inline]
    pub fn way1(self) -> &'a mut W {
        self.variant(WAYW::WAY1)
    }
    #[doc = "Way 2 is selection for index invalidation"]
    #[inline]
    pub fn way2(self) -> &'a mut W {
        self.variant(WAYW::WAY2)
    }
    #[doc = "Way 3 is selection for index invalidation"]
    #[inline]
    pub fn way3(self) -> &'a mut W {
        self.variant(WAYW::WAY3)
    }
    #[doc = r" Writes raw bits to the field"]
    #[inline]
    pub unsafe fn bits(self, value: u8) -> &'a mut W {
        const MASK: u8 = 15;
        const OFFSET: u8 = 28;
        self.w.bits &= !((MASK as u32) << OFFSET);
        self.w.bits |= ((value & MASK) as u32) << OFFSET;
        self.w
    }
}
impl W {
    #[doc = r" Reset value of the register"]
    #[inline]
    pub fn reset_value() -> W {
        W { bits: 0 }
    }
    #[doc = r" Writes raw bits to the register"]
    #[inline]
    pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
        self.bits = bits;
        self
    }
    #[doc = "Bits 4:11 - Invalidate Index"]
    #[inline]
    pub fn index(&mut self) -> _INDEXW {
        _INDEXW { w: self }
    }
    #[doc = "Bits 28:31 - Invalidate Way"]
    #[inline]
    pub fn way(&mut self) -> _WAYW {
        _WAYW { w: self }
    }
}