efm32pg12b500_pac/
vdac0.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - Control Register"]
5    pub ctrl: crate::Reg<ctrl::CTRL_SPEC>,
6    #[doc = "0x04 - Status Register"]
7    pub status: crate::Reg<status::STATUS_SPEC>,
8    #[doc = "0x08 - Channel 0 Control Register"]
9    pub ch0ctrl: crate::Reg<ch0ctrl::CH0CTRL_SPEC>,
10    #[doc = "0x0c - Channel 1 Control Register"]
11    pub ch1ctrl: crate::Reg<ch1ctrl::CH1CTRL_SPEC>,
12    #[doc = "0x10 - Command Register"]
13    pub cmd: crate::Reg<cmd::CMD_SPEC>,
14    #[doc = "0x14 - Interrupt Flag Register"]
15    pub if_: crate::Reg<if_::IF_SPEC>,
16    #[doc = "0x18 - Interrupt Flag Set Register"]
17    pub ifs: crate::Reg<ifs::IFS_SPEC>,
18    #[doc = "0x1c - Interrupt Flag Clear Register"]
19    pub ifc: crate::Reg<ifc::IFC_SPEC>,
20    #[doc = "0x20 - Interrupt Enable Register"]
21    pub ien: crate::Reg<ien::IEN_SPEC>,
22    #[doc = "0x24 - Channel 0 Data Register"]
23    pub ch0data: crate::Reg<ch0data::CH0DATA_SPEC>,
24    #[doc = "0x28 - Channel 1 Data Register"]
25    pub ch1data: crate::Reg<ch1data::CH1DATA_SPEC>,
26    #[doc = "0x2c - Combined Data Register"]
27    pub combdata: crate::Reg<combdata::COMBDATA_SPEC>,
28    #[doc = "0x30 - Calibration Register"]
29    pub cal: crate::Reg<cal::CAL_SPEC>,
30    _reserved13: [u8; 0x6c],
31    #[doc = "0xa0 - Operational Amplifier APORT Request Status Register"]
32    pub opa0_aportreq: crate::Reg<opa0_aportreq::OPA0_APORTREQ_SPEC>,
33    #[doc = "0xa4 - Operational Amplifier APORT Conflict Status Register"]
34    pub opa0_aportconflict: crate::Reg<opa0_aportconflict::OPA0_APORTCONFLICT_SPEC>,
35    #[doc = "0xa8 - Operational Amplifier Control Register"]
36    pub opa0_ctrl: crate::Reg<opa0_ctrl::OPA0_CTRL_SPEC>,
37    #[doc = "0xac - Operational Amplifier Timer Control Register"]
38    pub opa0_timer: crate::Reg<opa0_timer::OPA0_TIMER_SPEC>,
39    #[doc = "0xb0 - Operational Amplifier Mux Configuration Register"]
40    pub opa0_mux: crate::Reg<opa0_mux::OPA0_MUX_SPEC>,
41    #[doc = "0xb4 - Operational Amplifier Output Configuration Register"]
42    pub opa0_out: crate::Reg<opa0_out::OPA0_OUT_SPEC>,
43    #[doc = "0xb8 - Operational Amplifier Calibration Register"]
44    pub opa0_cal: crate::Reg<opa0_cal::OPA0_CAL_SPEC>,
45    _reserved20: [u8; 0x04],
46    #[doc = "0xc0 - Operational Amplifier APORT Request Status Register"]
47    pub opa1_aportreq: crate::Reg<opa1_aportreq::OPA1_APORTREQ_SPEC>,
48    #[doc = "0xc4 - Operational Amplifier APORT Conflict Status Register"]
49    pub opa1_aportconflict: crate::Reg<opa1_aportconflict::OPA1_APORTCONFLICT_SPEC>,
50    #[doc = "0xc8 - Operational Amplifier Control Register"]
51    pub opa1_ctrl: crate::Reg<opa1_ctrl::OPA1_CTRL_SPEC>,
52    #[doc = "0xcc - Operational Amplifier Timer Control Register"]
53    pub opa1_timer: crate::Reg<opa1_timer::OPA1_TIMER_SPEC>,
54    #[doc = "0xd0 - Operational Amplifier Mux Configuration Register"]
55    pub opa1_mux: crate::Reg<opa1_mux::OPA1_MUX_SPEC>,
56    #[doc = "0xd4 - Operational Amplifier Output Configuration Register"]
57    pub opa1_out: crate::Reg<opa1_out::OPA1_OUT_SPEC>,
58    #[doc = "0xd8 - Operational Amplifier Calibration Register"]
59    pub opa1_cal: crate::Reg<opa1_cal::OPA1_CAL_SPEC>,
60    _reserved27: [u8; 0x04],
61    #[doc = "0xe0 - Operational Amplifier APORT Request Status Register"]
62    pub opa2_aportreq: crate::Reg<opa2_aportreq::OPA2_APORTREQ_SPEC>,
63    #[doc = "0xe4 - Operational Amplifier APORT Conflict Status Register"]
64    pub opa2_aportconflict: crate::Reg<opa2_aportconflict::OPA2_APORTCONFLICT_SPEC>,
65    #[doc = "0xe8 - Operational Amplifier Control Register"]
66    pub opa2_ctrl: crate::Reg<opa2_ctrl::OPA2_CTRL_SPEC>,
67    #[doc = "0xec - Operational Amplifier Timer Control Register"]
68    pub opa2_timer: crate::Reg<opa2_timer::OPA2_TIMER_SPEC>,
69    #[doc = "0xf0 - Operational Amplifier Mux Configuration Register"]
70    pub opa2_mux: crate::Reg<opa2_mux::OPA2_MUX_SPEC>,
71    #[doc = "0xf4 - Operational Amplifier Output Configuration Register"]
72    pub opa2_out: crate::Reg<opa2_out::OPA2_OUT_SPEC>,
73    #[doc = "0xf8 - Operational Amplifier Calibration Register"]
74    pub opa2_cal: crate::Reg<opa2_cal::OPA2_CAL_SPEC>,
75}
76#[doc = "CTRL register accessor: an alias for `Reg<CTRL_SPEC>`"]
77pub type CTRL = crate::Reg<ctrl::CTRL_SPEC>;
78#[doc = "Control Register"]
79pub mod ctrl;
80#[doc = "STATUS register accessor: an alias for `Reg<STATUS_SPEC>`"]
81pub type STATUS = crate::Reg<status::STATUS_SPEC>;
82#[doc = "Status Register"]
83pub mod status;
84#[doc = "CH0CTRL register accessor: an alias for `Reg<CH0CTRL_SPEC>`"]
85pub type CH0CTRL = crate::Reg<ch0ctrl::CH0CTRL_SPEC>;
86#[doc = "Channel 0 Control Register"]
87pub mod ch0ctrl;
88#[doc = "CH1CTRL register accessor: an alias for `Reg<CH1CTRL_SPEC>`"]
89pub type CH1CTRL = crate::Reg<ch1ctrl::CH1CTRL_SPEC>;
90#[doc = "Channel 1 Control Register"]
91pub mod ch1ctrl;
92#[doc = "CMD register accessor: an alias for `Reg<CMD_SPEC>`"]
93pub type CMD = crate::Reg<cmd::CMD_SPEC>;
94#[doc = "Command Register"]
95pub mod cmd;
96#[doc = "IF register accessor: an alias for `Reg<IF_SPEC>`"]
97pub type IF = crate::Reg<if_::IF_SPEC>;
98#[doc = "Interrupt Flag Register"]
99pub mod if_;
100#[doc = "IFS register accessor: an alias for `Reg<IFS_SPEC>`"]
101pub type IFS = crate::Reg<ifs::IFS_SPEC>;
102#[doc = "Interrupt Flag Set Register"]
103pub mod ifs;
104#[doc = "IFC register accessor: an alias for `Reg<IFC_SPEC>`"]
105pub type IFC = crate::Reg<ifc::IFC_SPEC>;
106#[doc = "Interrupt Flag Clear Register"]
107pub mod ifc;
108#[doc = "IEN register accessor: an alias for `Reg<IEN_SPEC>`"]
109pub type IEN = crate::Reg<ien::IEN_SPEC>;
110#[doc = "Interrupt Enable Register"]
111pub mod ien;
112#[doc = "CH0DATA register accessor: an alias for `Reg<CH0DATA_SPEC>`"]
113pub type CH0DATA = crate::Reg<ch0data::CH0DATA_SPEC>;
114#[doc = "Channel 0 Data Register"]
115pub mod ch0data;
116#[doc = "CH1DATA register accessor: an alias for `Reg<CH1DATA_SPEC>`"]
117pub type CH1DATA = crate::Reg<ch1data::CH1DATA_SPEC>;
118#[doc = "Channel 1 Data Register"]
119pub mod ch1data;
120#[doc = "COMBDATA register accessor: an alias for `Reg<COMBDATA_SPEC>`"]
121pub type COMBDATA = crate::Reg<combdata::COMBDATA_SPEC>;
122#[doc = "Combined Data Register"]
123pub mod combdata;
124#[doc = "CAL register accessor: an alias for `Reg<CAL_SPEC>`"]
125pub type CAL = crate::Reg<cal::CAL_SPEC>;
126#[doc = "Calibration Register"]
127pub mod cal;
128#[doc = "OPA0_APORTREQ register accessor: an alias for `Reg<OPA0_APORTREQ_SPEC>`"]
129pub type OPA0_APORTREQ = crate::Reg<opa0_aportreq::OPA0_APORTREQ_SPEC>;
130#[doc = "Operational Amplifier APORT Request Status Register"]
131pub mod opa0_aportreq;
132#[doc = "OPA0_APORTCONFLICT register accessor: an alias for `Reg<OPA0_APORTCONFLICT_SPEC>`"]
133pub type OPA0_APORTCONFLICT = crate::Reg<opa0_aportconflict::OPA0_APORTCONFLICT_SPEC>;
134#[doc = "Operational Amplifier APORT Conflict Status Register"]
135pub mod opa0_aportconflict;
136#[doc = "OPA0_CTRL register accessor: an alias for `Reg<OPA0_CTRL_SPEC>`"]
137pub type OPA0_CTRL = crate::Reg<opa0_ctrl::OPA0_CTRL_SPEC>;
138#[doc = "Operational Amplifier Control Register"]
139pub mod opa0_ctrl;
140#[doc = "OPA0_TIMER register accessor: an alias for `Reg<OPA0_TIMER_SPEC>`"]
141pub type OPA0_TIMER = crate::Reg<opa0_timer::OPA0_TIMER_SPEC>;
142#[doc = "Operational Amplifier Timer Control Register"]
143pub mod opa0_timer;
144#[doc = "OPA0_MUX register accessor: an alias for `Reg<OPA0_MUX_SPEC>`"]
145pub type OPA0_MUX = crate::Reg<opa0_mux::OPA0_MUX_SPEC>;
146#[doc = "Operational Amplifier Mux Configuration Register"]
147pub mod opa0_mux;
148#[doc = "OPA0_OUT register accessor: an alias for `Reg<OPA0_OUT_SPEC>`"]
149pub type OPA0_OUT = crate::Reg<opa0_out::OPA0_OUT_SPEC>;
150#[doc = "Operational Amplifier Output Configuration Register"]
151pub mod opa0_out;
152#[doc = "OPA0_CAL register accessor: an alias for `Reg<OPA0_CAL_SPEC>`"]
153pub type OPA0_CAL = crate::Reg<opa0_cal::OPA0_CAL_SPEC>;
154#[doc = "Operational Amplifier Calibration Register"]
155pub mod opa0_cal;
156#[doc = "OPA1_APORTREQ register accessor: an alias for `Reg<OPA1_APORTREQ_SPEC>`"]
157pub type OPA1_APORTREQ = crate::Reg<opa1_aportreq::OPA1_APORTREQ_SPEC>;
158#[doc = "Operational Amplifier APORT Request Status Register"]
159pub mod opa1_aportreq;
160#[doc = "OPA1_APORTCONFLICT register accessor: an alias for `Reg<OPA1_APORTCONFLICT_SPEC>`"]
161pub type OPA1_APORTCONFLICT = crate::Reg<opa1_aportconflict::OPA1_APORTCONFLICT_SPEC>;
162#[doc = "Operational Amplifier APORT Conflict Status Register"]
163pub mod opa1_aportconflict;
164#[doc = "OPA1_CTRL register accessor: an alias for `Reg<OPA1_CTRL_SPEC>`"]
165pub type OPA1_CTRL = crate::Reg<opa1_ctrl::OPA1_CTRL_SPEC>;
166#[doc = "Operational Amplifier Control Register"]
167pub mod opa1_ctrl;
168#[doc = "OPA1_TIMER register accessor: an alias for `Reg<OPA1_TIMER_SPEC>`"]
169pub type OPA1_TIMER = crate::Reg<opa1_timer::OPA1_TIMER_SPEC>;
170#[doc = "Operational Amplifier Timer Control Register"]
171pub mod opa1_timer;
172#[doc = "OPA1_MUX register accessor: an alias for `Reg<OPA1_MUX_SPEC>`"]
173pub type OPA1_MUX = crate::Reg<opa1_mux::OPA1_MUX_SPEC>;
174#[doc = "Operational Amplifier Mux Configuration Register"]
175pub mod opa1_mux;
176#[doc = "OPA1_OUT register accessor: an alias for `Reg<OPA1_OUT_SPEC>`"]
177pub type OPA1_OUT = crate::Reg<opa1_out::OPA1_OUT_SPEC>;
178#[doc = "Operational Amplifier Output Configuration Register"]
179pub mod opa1_out;
180#[doc = "OPA1_CAL register accessor: an alias for `Reg<OPA1_CAL_SPEC>`"]
181pub type OPA1_CAL = crate::Reg<opa1_cal::OPA1_CAL_SPEC>;
182#[doc = "Operational Amplifier Calibration Register"]
183pub mod opa1_cal;
184#[doc = "OPA2_APORTREQ register accessor: an alias for `Reg<OPA2_APORTREQ_SPEC>`"]
185pub type OPA2_APORTREQ = crate::Reg<opa2_aportreq::OPA2_APORTREQ_SPEC>;
186#[doc = "Operational Amplifier APORT Request Status Register"]
187pub mod opa2_aportreq;
188#[doc = "OPA2_APORTCONFLICT register accessor: an alias for `Reg<OPA2_APORTCONFLICT_SPEC>`"]
189pub type OPA2_APORTCONFLICT = crate::Reg<opa2_aportconflict::OPA2_APORTCONFLICT_SPEC>;
190#[doc = "Operational Amplifier APORT Conflict Status Register"]
191pub mod opa2_aportconflict;
192#[doc = "OPA2_CTRL register accessor: an alias for `Reg<OPA2_CTRL_SPEC>`"]
193pub type OPA2_CTRL = crate::Reg<opa2_ctrl::OPA2_CTRL_SPEC>;
194#[doc = "Operational Amplifier Control Register"]
195pub mod opa2_ctrl;
196#[doc = "OPA2_TIMER register accessor: an alias for `Reg<OPA2_TIMER_SPEC>`"]
197pub type OPA2_TIMER = crate::Reg<opa2_timer::OPA2_TIMER_SPEC>;
198#[doc = "Operational Amplifier Timer Control Register"]
199pub mod opa2_timer;
200#[doc = "OPA2_MUX register accessor: an alias for `Reg<OPA2_MUX_SPEC>`"]
201pub type OPA2_MUX = crate::Reg<opa2_mux::OPA2_MUX_SPEC>;
202#[doc = "Operational Amplifier Mux Configuration Register"]
203pub mod opa2_mux;
204#[doc = "OPA2_OUT register accessor: an alias for `Reg<OPA2_OUT_SPEC>`"]
205pub type OPA2_OUT = crate::Reg<opa2_out::OPA2_OUT_SPEC>;
206#[doc = "Operational Amplifier Output Configuration Register"]
207pub mod opa2_out;
208#[doc = "OPA2_CAL register accessor: an alias for `Reg<OPA2_CAL_SPEC>`"]
209pub type OPA2_CAL = crate::Reg<opa2_cal::OPA2_CAL_SPEC>;
210#[doc = "Operational Amplifier Calibration Register"]
211pub mod opa2_cal;