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
#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - Control This register contains various bitfields for configuration of RTC RTL Name = CONFIG"]
    pub ctl: CTL,
    #[doc = "0x04 - Event Flags, RTC Status This register contains event flags from the 3 RTC channels. Each flag will be cleared when writing a '1' to the corresponding bitfield."]
    pub evflags: EVFLAGS,
    #[doc = "0x08 - Second Counter Value, Integer Part"]
    pub sec: SEC,
    #[doc = "0x0c - Second Counter Value, Fractional Part"]
    pub subsec: SUBSEC,
    #[doc = "0x10 - Subseconds Increment Value added to SUBSEC.VALUE on every SCLK_LFclock cycle."]
    pub subsecinc: SUBSECINC,
    #[doc = "0x14 - Channel Configuration"]
    pub chctl: CHCTL,
    #[doc = "0x18 - Channel 0 Compare Value"]
    pub ch0cmp: CH0CMP,
    #[doc = "0x1c - Channel 1 Compare Value"]
    pub ch1cmp: CH1CMP,
    #[doc = "0x20 - Channel 2 Compare Value"]
    pub ch2cmp: CH2CMP,
    #[doc = "0x24 - Channel 2 Compare Value Auto-increment This register is primarily used to generate periodical wake-up for the AUX_SCE module, through the \\[AUX_EVCTL.EVSTAT0.AON_RTC\\] event."]
    pub ch2cmpinc: CH2CMPINC,
    #[doc = "0x28 - Channel 1 Capture Value If CHCTL.CH1_EN = 1and CHCTL.CH1_CAPT_EN = 1, capture occurs on each rising edge of the event selected in AON_EVENT:RTCSEL."]
    pub ch1capt: CH1CAPT,
    #[doc = "0x2c - AON Synchronization This register is used for synchronizing between MCU and entire AON domain."]
    pub sync: SYNC,
    #[doc = "0x30 - Current Counter Value"]
    pub time: TIME,
    #[doc = "0x34 - Synchronization to SCLK_LF This register is used for synchronizing MCU to positive or negative edge of SCLK_LF."]
    pub synclf: SYNCLF,
}
#[doc = "Control This register contains various bitfields for configuration of RTC RTL Name = CONFIG"]
pub struct CTL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Control This register contains various bitfields for configuration of RTC RTL Name = CONFIG"]
pub mod ctl;
#[doc = "Event Flags, RTC Status This register contains event flags from the 3 RTC channels. Each flag will be cleared when writing a '1' to the corresponding bitfield."]
pub struct EVFLAGS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Event Flags, RTC Status This register contains event flags from the 3 RTC channels. Each flag will be cleared when writing a '1' to the corresponding bitfield."]
pub mod evflags;
#[doc = "Second Counter Value, Integer Part"]
pub struct SEC {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Second Counter Value, Integer Part"]
pub mod sec;
#[doc = "Second Counter Value, Fractional Part"]
pub struct SUBSEC {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Second Counter Value, Fractional Part"]
pub mod subsec;
#[doc = "Subseconds Increment Value added to SUBSEC.VALUE on every SCLK_LFclock cycle."]
pub struct SUBSECINC {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Subseconds Increment Value added to SUBSEC.VALUE on every SCLK_LFclock cycle."]
pub mod subsecinc;
#[doc = "Channel Configuration"]
pub struct CHCTL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Channel Configuration"]
pub mod chctl;
#[doc = "Channel 0 Compare Value"]
pub struct CH0CMP {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Channel 0 Compare Value"]
pub mod ch0cmp;
#[doc = "Channel 1 Compare Value"]
pub struct CH1CMP {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Channel 1 Compare Value"]
pub mod ch1cmp;
#[doc = "Channel 2 Compare Value"]
pub struct CH2CMP {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Channel 2 Compare Value"]
pub mod ch2cmp;
#[doc = "Channel 2 Compare Value Auto-increment This register is primarily used to generate periodical wake-up for the AUX_SCE module, through the \\[AUX_EVCTL.EVSTAT0.AON_RTC\\] event."]
pub struct CH2CMPINC {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Channel 2 Compare Value Auto-increment This register is primarily used to generate periodical wake-up for the AUX_SCE module, through the \\[AUX_EVCTL.EVSTAT0.AON_RTC\\] event."]
pub mod ch2cmpinc;
#[doc = "Channel 1 Capture Value If CHCTL.CH1_EN = 1and CHCTL.CH1_CAPT_EN = 1, capture occurs on each rising edge of the event selected in AON_EVENT:RTCSEL."]
pub struct CH1CAPT {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Channel 1 Capture Value If CHCTL.CH1_EN = 1and CHCTL.CH1_CAPT_EN = 1, capture occurs on each rising edge of the event selected in AON_EVENT:RTCSEL."]
pub mod ch1capt;
#[doc = "AON Synchronization This register is used for synchronizing between MCU and entire AON domain."]
pub struct SYNC {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "AON Synchronization This register is used for synchronizing between MCU and entire AON domain."]
pub mod sync;
#[doc = "Current Counter Value"]
pub struct TIME {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Current Counter Value"]
pub mod time;
#[doc = "Synchronization to SCLK_LF This register is used for synchronizing MCU to positive or negative edge of SCLK_LF."]
pub struct SYNCLF {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Synchronization to SCLK_LF This register is used for synchronizing MCU to positive or negative edge of SCLK_LF."]
pub mod synclf;