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
#[doc = r" Register block"]
#[repr(C)]
pub union RegisterBlock {
    #[doc = "0x00 - Clock/Calendar with Alarm"]
    pub mode2: MODE2,
    #[doc = "0x00 - 16-bit Counter with Two 16-bit Compares"]
    pub mode1: MODE1,
    #[doc = "0x00 - 32-bit Counter with Single 32-bit Compare"]
    pub mode0: MODE0,
}
#[doc = r" Register block"]
#[repr(C)]
pub struct MODE0 {
    #[doc = "0x00 - MODE0 Control"]
    pub ctrl: self::mode0::CTRL,
    #[doc = "0x02 - Read Request"]
    pub readreq: self::mode0::READREQ,
    #[doc = "0x04 - MODE0 Event Control"]
    pub evctrl: self::mode0::EVCTRL,
    #[doc = "0x06 - MODE0 Interrupt Enable Clear"]
    pub intenclr: self::mode0::INTENCLR,
    #[doc = "0x07 - MODE0 Interrupt Enable Set"]
    pub intenset: self::mode0::INTENSET,
    #[doc = "0x08 - MODE0 Interrupt Flag Status and Clear"]
    pub intflag: self::mode0::INTFLAG,
    _reserved6: [u8; 1usize],
    #[doc = "0x0a - Status"]
    pub status: self::mode0::STATUS,
    #[doc = "0x0b - Debug Control"]
    pub dbgctrl: self::mode0::DBGCTRL,
    #[doc = "0x0c - Frequency Correction"]
    pub freqcorr: self::mode0::FREQCORR,
    _reserved9: [u8; 3usize],
    #[doc = "0x10 - MODE0 Counter Value"]
    pub count: self::mode0::COUNT,
    _reserved10: [u8; 4usize],
    #[doc = "0x18 - MODE0 Compare n Value"]
    pub comp: [self::mode0::COMP; 1],
}
#[doc = r" Register block"]
#[doc = "32-bit Counter with Single 32-bit Compare"]
pub mod mode0;
#[doc = r" Register block"]
#[repr(C)]
pub struct MODE1 {
    #[doc = "0x00 - MODE1 Control"]
    pub ctrl: self::mode1::CTRL,
    #[doc = "0x02 - Read Request"]
    pub readreq: self::mode1::READREQ,
    #[doc = "0x04 - MODE1 Event Control"]
    pub evctrl: self::mode1::EVCTRL,
    #[doc = "0x06 - MODE1 Interrupt Enable Clear"]
    pub intenclr: self::mode1::INTENCLR,
    #[doc = "0x07 - MODE1 Interrupt Enable Set"]
    pub intenset: self::mode1::INTENSET,
    #[doc = "0x08 - MODE1 Interrupt Flag Status and Clear"]
    pub intflag: self::mode1::INTFLAG,
    _reserved6: [u8; 1usize],
    #[doc = "0x0a - Status"]
    pub status: self::mode1::STATUS,
    #[doc = "0x0b - Debug Control"]
    pub dbgctrl: self::mode1::DBGCTRL,
    #[doc = "0x0c - Frequency Correction"]
    pub freqcorr: self::mode1::FREQCORR,
    _reserved9: [u8; 3usize],
    #[doc = "0x10 - MODE1 Counter Value"]
    pub count: self::mode1::COUNT,
    _reserved10: [u8; 2usize],
    #[doc = "0x14 - MODE1 Counter Period"]
    pub per: self::mode1::PER,
    _reserved11: [u8; 2usize],
    #[doc = "0x18 - MODE1 Compare n Value"]
    pub comp: [self::mode1::COMP; 2],
}
#[doc = r" Register block"]
#[doc = "16-bit Counter with Two 16-bit Compares"]
pub mod mode1;
#[doc = r" Register block"]
#[repr(C)]
pub struct MODE2 {
    #[doc = "0x00 - MODE2 Control"]
    pub ctrl: self::mode2::CTRL,
    #[doc = "0x02 - Read Request"]
    pub readreq: self::mode2::READREQ,
    #[doc = "0x04 - MODE2 Event Control"]
    pub evctrl: self::mode2::EVCTRL,
    #[doc = "0x06 - MODE2 Interrupt Enable Clear"]
    pub intenclr: self::mode2::INTENCLR,
    #[doc = "0x07 - MODE2 Interrupt Enable Set"]
    pub intenset: self::mode2::INTENSET,
    #[doc = "0x08 - MODE2 Interrupt Flag Status and Clear"]
    pub intflag: self::mode2::INTFLAG,
    _reserved6: [u8; 1usize],
    #[doc = "0x0a - Status"]
    pub status: self::mode2::STATUS,
    #[doc = "0x0b - Debug Control"]
    pub dbgctrl: self::mode2::DBGCTRL,
    #[doc = "0x0c - Frequency Correction"]
    pub freqcorr: self::mode2::FREQCORR,
    _reserved9: [u8; 3usize],
    #[doc = "0x10 - MODE2 Clock Value"]
    pub clock: self::mode2::CLOCK,
    _reserved10: [u8; 4usize],
    #[doc = "0x18 - MODE2 Alarm n Value"]
    pub alarm0: self::mode2::ALARM,
    #[doc = "0x1c - MODE2 Alarm n Mask"]
    pub mask0: self::mode2::MASK,
}
#[doc = r" Register block"]
#[doc = "Clock/Calendar with Alarm"]
pub mod mode2;