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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#[doc = "PIT"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "PIT Module Control Register"]
    pub MCR: crate::RWRegister<u32>,
    _reserved0: [u8; 0xdc],
    #[doc = "PIT Upper Lifetime Timer Register"]
    pub LTMR64H: crate::RORegister<u32>,
    #[doc = "PIT Lower Lifetime Timer Register"]
    pub LTMR64L: crate::RORegister<u32>,
    _reserved1: [u8; 0x18],
    #[doc = "no description available"]
    pub TIMER: [timer::RegisterBlock; 4usize],
}
#[doc = "PIT Module Control Register"]
pub mod MCR {
    #[doc = "Freeze"]
    pub mod FRZ {
        pub const offset: u32 = 0;
        pub const mask: u32 = 0x01 << offset;
        pub mod R {}
        pub mod W {}
        pub mod RW {
            #[doc = "Timers continue to run in Debug mode."]
            pub const FRZ_0: u32 = 0;
            #[doc = "Timers are stopped in Debug mode."]
            pub const FRZ_1: u32 = 0x01;
        }
    }
    #[doc = "Module Disable for PIT"]
    pub mod MDIS {
        pub const offset: u32 = 1;
        pub const mask: u32 = 0x01 << offset;
        pub mod R {}
        pub mod W {}
        pub mod RW {
            #[doc = "Clock for standard PIT timers is enabled."]
            pub const MDIS_0: u32 = 0;
            #[doc = "Clock for standard PIT timers is disabled."]
            pub const MDIS_1: u32 = 0x01;
        }
    }
}
#[doc = "PIT Upper Lifetime Timer Register"]
pub mod LTMR64H {
    #[doc = "Life Timer value"]
    pub mod LTH {
        pub const offset: u32 = 0;
        pub const mask: u32 = 0xffff_ffff << offset;
        pub mod R {}
        pub mod W {}
        pub mod RW {}
    }
}
#[doc = "PIT Lower Lifetime Timer Register"]
pub mod LTMR64L {
    #[doc = "Life Timer value"]
    pub mod LTL {
        pub const offset: u32 = 0;
        pub const mask: u32 = 0xffff_ffff << offset;
        pub mod R {}
        pub mod W {}
        pub mod RW {}
    }
}
pub mod timer {
    #[doc = "no description available"]
    #[repr(C)]
    pub struct RegisterBlock {
        #[doc = "Timer Load Value Register"]
        pub LDVAL: crate::RWRegister<u32>,
        #[doc = "Current Timer Value Register"]
        pub CVAL: crate::RORegister<u32>,
        #[doc = "Timer Control Register"]
        pub TCTRL: crate::RWRegister<u32>,
        #[doc = "Timer Flag Register"]
        pub TFLG: crate::RWRegister<u32>,
    }
    #[doc = "Timer Load Value Register"]
    pub mod LDVAL {
        #[doc = "Timer Start Value"]
        pub mod TSV {
            pub const offset: u32 = 0;
            pub const mask: u32 = 0xffff_ffff << offset;
            pub mod R {}
            pub mod W {}
            pub mod RW {}
        }
    }
    #[doc = "Current Timer Value Register"]
    pub mod CVAL {
        #[doc = "Current Timer Value"]
        pub mod TVL {
            pub const offset: u32 = 0;
            pub const mask: u32 = 0xffff_ffff << offset;
            pub mod R {}
            pub mod W {}
            pub mod RW {}
        }
    }
    #[doc = "Timer Control Register"]
    pub mod TCTRL {
        #[doc = "Timer Enable"]
        pub mod TEN {
            pub const offset: u32 = 0;
            pub const mask: u32 = 0x01 << offset;
            pub mod R {}
            pub mod W {}
            pub mod RW {
                #[doc = "Timer n is disabled."]
                pub const TEN_0: u32 = 0;
                #[doc = "Timer n is enabled."]
                pub const TEN_1: u32 = 0x01;
            }
        }
        #[doc = "Timer Interrupt Enable"]
        pub mod TIE {
            pub const offset: u32 = 1;
            pub const mask: u32 = 0x01 << offset;
            pub mod R {}
            pub mod W {}
            pub mod RW {
                #[doc = "Interrupt requests from Timer n are disabled."]
                pub const TIE_0: u32 = 0;
                #[doc = "Interrupt is requested whenever TIF is set."]
                pub const TIE_1: u32 = 0x01;
            }
        }
        #[doc = "Chain Mode"]
        pub mod CHN {
            pub const offset: u32 = 2;
            pub const mask: u32 = 0x01 << offset;
            pub mod R {}
            pub mod W {}
            pub mod RW {
                #[doc = "Timer is not chained."]
                pub const CHN_0: u32 = 0;
                #[doc = "Timer is chained to a previous timer. For example, for channel 2, if this field is set, Timer 2 is chained to Timer 1."]
                pub const CHN_1: u32 = 0x01;
            }
        }
    }
    #[doc = "Timer Flag Register"]
    pub mod TFLG {
        #[doc = "Timer Interrupt Flag"]
        pub mod TIF {
            pub const offset: u32 = 0;
            pub const mask: u32 = 0x01 << offset;
            pub mod R {}
            pub mod W {}
            pub mod RW {
                #[doc = "Timeout has not yet occurred."]
                pub const TIF_0: u32 = 0;
                #[doc = "Timeout has occurred."]
                pub const TIF_1: u32 = 0x01;
            }
        }
    }
}