corstone300_pac/
timer0.rs

1// Copyright 2022 Arm Limited and/or its affiliates <open-source-office@arm.com>
2//
3// SPDX-License-Identifier: MIT
4
5#[doc = r"Register block"]
6#[repr(C)]
7pub struct RegisterBlock {
8    #[doc = "0x00 - Physical Count Register Lower Word."]
9    pub cntpctlow: CNTPCTLOW,
10    #[doc = "0x04 - Physical Count Register Higher Word."]
11    pub cntpcthigh: CNTPCTHIGH,
12    _reserved2: [u8; 0x08],
13    #[doc = "0x10 - Counter Frequency Register."]
14    pub cntfrq: CNTFRQ,
15    _reserved3: [u8; 0x0c],
16    #[doc = "0x20 - Timer Compare Value Lower Word Register."]
17    pub cntp_cval_low: CNTP_CVAL_LOW,
18    #[doc = "0x24 - Timer Compare Value Higher Word Register."]
19    pub cntp_cval_high: CNTP_CVAL_HIGH,
20    #[doc = "0x28 - Timer Value register."]
21    pub cntp_tval: CNTP_TVAL,
22    #[doc = "0x2c - Timer Control register."]
23    pub cntp_ctl: CNTP_CTL,
24    _reserved7: [u8; 0x10],
25    #[doc = "0x40 - AutoIncrValue Lower Word Register."]
26    pub cntp_aival_low: CNTP_AIVAL_LOW,
27    #[doc = "0x44 - AutoIncrValue Higher Word Register."]
28    pub cntp_aival_high: CNTP_AIVAL_HIGH,
29    #[doc = "0x48 - AutoIncrValue Reload register."]
30    pub cntp_aival_reload: CNTP_AIVAL_RELOAD,
31    #[doc = "0x4c - AutoIncrValue Control register."]
32    pub cntp_aival_ctl: CNTP_AIVAL_CTL,
33    #[doc = "0x50 - Timer Configuration register."]
34    pub cntp_cfg: CNTP_CFG,
35    _reserved12: [u8; 0x0f7c],
36    #[doc = "0xfd0 - Peripheral ID 4"]
37    pub pidr4: PIDR4,
38    _reserved13: [u8; 0x0c],
39    #[doc = "0xfe0 - Peripheral ID 0"]
40    pub pidr0: PIDR0,
41    #[doc = "0xfe4 - Peripheral ID 1"]
42    pub pidr1: PIDR1,
43    #[doc = "0xfe8 - Peripheral ID 2"]
44    pub pidr2: PIDR2,
45    #[doc = "0xfec - Peripheral ID 3"]
46    pub pidr3: PIDR3,
47    #[doc = "0xff0 - Component ID 0"]
48    pub cidr0: CIDR0,
49    #[doc = "0xff4 - Component ID 1"]
50    pub cidr1: CIDR1,
51    #[doc = "0xff8 - Component ID 2"]
52    pub cidr2: CIDR2,
53    #[doc = "0xffc - Component ID 3"]
54    pub cidr3: CIDR3,
55}
56#[doc = "CNTPCTLOW (r) register accessor: an alias for `Reg<CNTPCTLOW_SPEC>`"]
57pub type CNTPCTLOW = crate::Reg<cntpctlow::CNTPCTLOW_SPEC>;
58#[doc = "Physical Count Register Lower Word."]
59pub mod cntpctlow;
60#[doc = "CNTPCTHIGH (r) register accessor: an alias for `Reg<CNTPCTHIGH_SPEC>`"]
61pub type CNTPCTHIGH = crate::Reg<cntpcthigh::CNTPCTHIGH_SPEC>;
62#[doc = "Physical Count Register Higher Word."]
63pub mod cntpcthigh;
64#[doc = "CNTFRQ (rw) register accessor: an alias for `Reg<CNTFRQ_SPEC>`"]
65pub type CNTFRQ = crate::Reg<cntfrq::CNTFRQ_SPEC>;
66#[doc = "Counter Frequency Register."]
67pub mod cntfrq;
68#[doc = "CNTP_CVAL_LOW (rw) register accessor: an alias for `Reg<CNTP_CVAL_LOW_SPEC>`"]
69pub type CNTP_CVAL_LOW = crate::Reg<cntp_cval_low::CNTP_CVAL_LOW_SPEC>;
70#[doc = "Timer Compare Value Lower Word Register."]
71pub mod cntp_cval_low;
72#[doc = "CNTP_CVAL_HIGH (rw) register accessor: an alias for `Reg<CNTP_CVAL_HIGH_SPEC>`"]
73pub type CNTP_CVAL_HIGH = crate::Reg<cntp_cval_high::CNTP_CVAL_HIGH_SPEC>;
74#[doc = "Timer Compare Value Higher Word Register."]
75pub mod cntp_cval_high;
76#[doc = "CNTP_TVAL (rw) register accessor: an alias for `Reg<CNTP_TVAL_SPEC>`"]
77pub type CNTP_TVAL = crate::Reg<cntp_tval::CNTP_TVAL_SPEC>;
78#[doc = "Timer Value register."]
79pub mod cntp_tval;
80#[doc = "CNTP_CTL (rw) register accessor: an alias for `Reg<CNTP_CTL_SPEC>`"]
81pub type CNTP_CTL = crate::Reg<cntp_ctl::CNTP_CTL_SPEC>;
82#[doc = "Timer Control register."]
83pub mod cntp_ctl;
84#[doc = "CNTP_AIVAL_LOW (r) register accessor: an alias for `Reg<CNTP_AIVAL_LOW_SPEC>`"]
85pub type CNTP_AIVAL_LOW = crate::Reg<cntp_aival_low::CNTP_AIVAL_LOW_SPEC>;
86#[doc = "AutoIncrValue Lower Word Register."]
87pub mod cntp_aival_low;
88#[doc = "CNTP_AIVAL_HIGH (r) register accessor: an alias for `Reg<CNTP_AIVAL_HIGH_SPEC>`"]
89pub type CNTP_AIVAL_HIGH = crate::Reg<cntp_aival_high::CNTP_AIVAL_HIGH_SPEC>;
90#[doc = "AutoIncrValue Higher Word Register."]
91pub mod cntp_aival_high;
92#[doc = "CNTP_AIVAL_RELOAD (rw) register accessor: an alias for `Reg<CNTP_AIVAL_RELOAD_SPEC>`"]
93pub type CNTP_AIVAL_RELOAD = crate::Reg<cntp_aival_reload::CNTP_AIVAL_RELOAD_SPEC>;
94#[doc = "AutoIncrValue Reload register."]
95pub mod cntp_aival_reload;
96#[doc = "CNTP_AIVAL_CTL (rw) register accessor: an alias for `Reg<CNTP_AIVAL_CTL_SPEC>`"]
97pub type CNTP_AIVAL_CTL = crate::Reg<cntp_aival_ctl::CNTP_AIVAL_CTL_SPEC>;
98#[doc = "AutoIncrValue Control register."]
99pub mod cntp_aival_ctl;
100#[doc = "CNTP_CFG (rw) register accessor: an alias for `Reg<CNTP_CFG_SPEC>`"]
101pub type CNTP_CFG = crate::Reg<cntp_cfg::CNTP_CFG_SPEC>;
102#[doc = "Timer Configuration register."]
103pub mod cntp_cfg;
104#[doc = "PIDR4 (r) register accessor: an alias for `Reg<PIDR4_SPEC>`"]
105pub type PIDR4 = crate::Reg<pidr4::PIDR4_SPEC>;
106#[doc = "Peripheral ID 4"]
107pub mod pidr4;
108#[doc = "PIDR0 (r) register accessor: an alias for `Reg<PIDR0_SPEC>`"]
109pub type PIDR0 = crate::Reg<pidr0::PIDR0_SPEC>;
110#[doc = "Peripheral ID 0"]
111pub mod pidr0;
112#[doc = "PIDR1 (r) register accessor: an alias for `Reg<PIDR1_SPEC>`"]
113pub type PIDR1 = crate::Reg<pidr1::PIDR1_SPEC>;
114#[doc = "Peripheral ID 1"]
115pub mod pidr1;
116#[doc = "PIDR2 (r) register accessor: an alias for `Reg<PIDR2_SPEC>`"]
117pub type PIDR2 = crate::Reg<pidr2::PIDR2_SPEC>;
118#[doc = "Peripheral ID 2"]
119pub mod pidr2;
120#[doc = "PIDR3 (r) register accessor: an alias for `Reg<PIDR3_SPEC>`"]
121pub type PIDR3 = crate::Reg<pidr3::PIDR3_SPEC>;
122#[doc = "Peripheral ID 3"]
123pub mod pidr3;
124#[doc = "CIDR0 (r) register accessor: an alias for `Reg<CIDR0_SPEC>`"]
125pub type CIDR0 = crate::Reg<cidr0::CIDR0_SPEC>;
126#[doc = "Component ID 0"]
127pub mod cidr0;
128#[doc = "CIDR1 (r) register accessor: an alias for `Reg<CIDR1_SPEC>`"]
129pub type CIDR1 = crate::Reg<cidr1::CIDR1_SPEC>;
130#[doc = "Component ID 1"]
131pub mod cidr1;
132#[doc = "CIDR2 (r) register accessor: an alias for `Reg<CIDR2_SPEC>`"]
133pub type CIDR2 = crate::Reg<cidr2::CIDR2_SPEC>;
134#[doc = "Component ID 2"]
135pub mod cidr2;
136#[doc = "CIDR3 (r) register accessor: an alias for `Reg<CIDR3_SPEC>`"]
137pub type CIDR3 = crate::Reg<cidr3::CIDR3_SPEC>;
138#[doc = "Component ID 3"]
139pub mod cidr3;