1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - Interrupt Register. The IR can be written to clear interrupts. The IR can be read to identify which of eight possible interrupt sources are pending."]
5 pub ir: crate::Reg<ir::IR_SPEC>,
6 #[doc = "0x04 - Timer Control Register. The TCR is used to control the Timer Counter functions. The Timer Counter can be disabled or reset through the TCR."]
7 pub tcr: crate::Reg<tcr::TCR_SPEC>,
8 #[doc = "0x08 - Timer Counter. The 32 bit TC is incremented every PR+1 cycles of the APB bus clock. The TC is controlled through the TCR."]
9 pub tc: crate::Reg<tc::TC_SPEC>,
10 #[doc = "0x0c - Prescale Register. When the Prescale Counter (PC) is equal to this value, the next clock increments the TC and clears the PC."]
11 pub pr: crate::Reg<pr::PR_SPEC>,
12 #[doc = "0x10 - Prescale Counter. The 32 bit PC is a counter which is incremented to the value stored in PR. When the value in PR is reached, the TC is incremented and the PC is cleared. The PC is observable and controllable through the bus interface."]
13 pub pc: crate::Reg<pc::PC_SPEC>,
14 #[doc = "0x14 - Match Control Register. The MCR is used to control if an interrupt is generated and if the TC is reset when a Match occurs."]
15 pub mcr: crate::Reg<mcr::MCR_SPEC>,
16 #[doc = "0x18..0x28 - Match Register . MR can be enabled through the MCR to reset the TC, stop both the TC and PC, and/or generate an interrupt every time MR matches the TC."]
17 pub mr: [crate::Reg<mr::MR_SPEC>; 4],
18 #[doc = "0x28 - Capture Control Register. The CCR controls which edges of the capture inputs are used to load the Capture Registers and whether or not an interrupt is generated when a capture takes place."]
19 pub ccr: crate::Reg<ccr::CCR_SPEC>,
20 #[doc = "0x2c..0x3c - Capture Register . CR is loaded with the value of TC when there is an event on the CAPn. input."]
21 pub cr: [crate::Reg<cr::CR_SPEC>; 4],
22 #[doc = "0x3c - External Match Register. The EMR controls the match function and the external match pins."]
23 pub emr: crate::Reg<emr::EMR_SPEC>,
24 _reserved10: [u8; 0x30],
25 #[doc = "0x70 - Count Control Register. The CTCR selects between Timer and Counter mode, and in Counter mode selects the signal and edge(s) for counting."]
26 pub ctcr: crate::Reg<ctcr::CTCR_SPEC>,
27 #[doc = "0x74 - PWM Control Register. The PWMCON enables PWM mode for the external match pins."]
28 pub pwmc: crate::Reg<pwmc::PWMC_SPEC>,
29 #[doc = "0x78..0x88 - Match Shadow Register . If enabled, the Match Register will be automatically reloaded with the contents of this register whenever the TC is reset to zero."]
30 pub msr: [crate::Reg<msr::MSR_SPEC>; 4],
31}
32#[doc = "IR register accessor: an alias for `Reg<IR_SPEC>`"]
33pub type IR = crate::Reg<ir::IR_SPEC>;
34#[doc = "Interrupt Register. The IR can be written to clear interrupts. The IR can be read to identify which of eight possible interrupt sources are pending."]
35pub mod ir;
36#[doc = "TCR register accessor: an alias for `Reg<TCR_SPEC>`"]
37pub type TCR = crate::Reg<tcr::TCR_SPEC>;
38#[doc = "Timer Control Register. The TCR is used to control the Timer Counter functions. The Timer Counter can be disabled or reset through the TCR."]
39pub mod tcr;
40#[doc = "TC register accessor: an alias for `Reg<TC_SPEC>`"]
41pub type TC = crate::Reg<tc::TC_SPEC>;
42#[doc = "Timer Counter. The 32 bit TC is incremented every PR+1 cycles of the APB bus clock. The TC is controlled through the TCR."]
43pub mod tc;
44#[doc = "PR register accessor: an alias for `Reg<PR_SPEC>`"]
45pub type PR = crate::Reg<pr::PR_SPEC>;
46#[doc = "Prescale Register. When the Prescale Counter (PC) is equal to this value, the next clock increments the TC and clears the PC."]
47pub mod pr;
48#[doc = "PC register accessor: an alias for `Reg<PC_SPEC>`"]
49pub type PC = crate::Reg<pc::PC_SPEC>;
50#[doc = "Prescale Counter. The 32 bit PC is a counter which is incremented to the value stored in PR. When the value in PR is reached, the TC is incremented and the PC is cleared. The PC is observable and controllable through the bus interface."]
51pub mod pc;
52#[doc = "MCR register accessor: an alias for `Reg<MCR_SPEC>`"]
53pub type MCR = crate::Reg<mcr::MCR_SPEC>;
54#[doc = "Match Control Register. The MCR is used to control if an interrupt is generated and if the TC is reset when a Match occurs."]
55pub mod mcr;
56#[doc = "MR register accessor: an alias for `Reg<MR_SPEC>`"]
57pub type MR = crate::Reg<mr::MR_SPEC>;
58#[doc = "Match Register . MR can be enabled through the MCR to reset the TC, stop both the TC and PC, and/or generate an interrupt every time MR matches the TC."]
59pub mod mr;
60#[doc = "CCR register accessor: an alias for `Reg<CCR_SPEC>`"]
61pub type CCR = crate::Reg<ccr::CCR_SPEC>;
62#[doc = "Capture Control Register. The CCR controls which edges of the capture inputs are used to load the Capture Registers and whether or not an interrupt is generated when a capture takes place."]
63pub mod ccr;
64#[doc = "CR register accessor: an alias for `Reg<CR_SPEC>`"]
65pub type CR = crate::Reg<cr::CR_SPEC>;
66#[doc = "Capture Register . CR is loaded with the value of TC when there is an event on the CAPn. input."]
67pub mod cr;
68#[doc = "EMR register accessor: an alias for `Reg<EMR_SPEC>`"]
69pub type EMR = crate::Reg<emr::EMR_SPEC>;
70#[doc = "External Match Register. The EMR controls the match function and the external match pins."]
71pub mod emr;
72#[doc = "CTCR register accessor: an alias for `Reg<CTCR_SPEC>`"]
73pub type CTCR = crate::Reg<ctcr::CTCR_SPEC>;
74#[doc = "Count Control Register. The CTCR selects between Timer and Counter mode, and in Counter mode selects the signal and edge(s) for counting."]
75pub mod ctcr;
76#[doc = "PWMC register accessor: an alias for `Reg<PWMC_SPEC>`"]
77pub type PWMC = crate::Reg<pwmc::PWMC_SPEC>;
78#[doc = "PWM Control Register. The PWMCON enables PWM mode for the external match pins."]
79pub mod pwmc;
80#[doc = "MSR register accessor: an alias for `Reg<MSR_SPEC>`"]
81pub type MSR = crate::Reg<msr::MSR_SPEC>;
82#[doc = "Match Shadow Register . If enabled, the Match Register will be automatically reloaded with the contents of this register whenever the TC is reset to zero."]
83pub mod msr;