atsamd51p/
freqm.rs

1#[repr(C)]
2#[doc = "Register block"]
3pub struct RegisterBlock {
4    ctrla: Ctrla,
5    ctrlb: Ctrlb,
6    cfga: Cfga,
7    _reserved3: [u8; 0x04],
8    intenclr: Intenclr,
9    intenset: Intenset,
10    intflag: Intflag,
11    status: Status,
12    syncbusy: Syncbusy,
13    value: Value,
14}
15impl RegisterBlock {
16    #[doc = "0x00 - Control A Register"]
17    #[inline(always)]
18    pub const fn ctrla(&self) -> &Ctrla {
19        &self.ctrla
20    }
21    #[doc = "0x01 - Control B Register"]
22    #[inline(always)]
23    pub const fn ctrlb(&self) -> &Ctrlb {
24        &self.ctrlb
25    }
26    #[doc = "0x02 - Config A register"]
27    #[inline(always)]
28    pub const fn cfga(&self) -> &Cfga {
29        &self.cfga
30    }
31    #[doc = "0x08 - Interrupt Enable Clear Register"]
32    #[inline(always)]
33    pub const fn intenclr(&self) -> &Intenclr {
34        &self.intenclr
35    }
36    #[doc = "0x09 - Interrupt Enable Set Register"]
37    #[inline(always)]
38    pub const fn intenset(&self) -> &Intenset {
39        &self.intenset
40    }
41    #[doc = "0x0a - Interrupt Flag Register"]
42    #[inline(always)]
43    pub const fn intflag(&self) -> &Intflag {
44        &self.intflag
45    }
46    #[doc = "0x0b - Status Register"]
47    #[inline(always)]
48    pub const fn status(&self) -> &Status {
49        &self.status
50    }
51    #[doc = "0x0c - Synchronization Busy Register"]
52    #[inline(always)]
53    pub const fn syncbusy(&self) -> &Syncbusy {
54        &self.syncbusy
55    }
56    #[doc = "0x10 - Count Value Register"]
57    #[inline(always)]
58    pub const fn value(&self) -> &Value {
59        &self.value
60    }
61}
62#[doc = "CTRLA (rw) register accessor: Control A Register\n\nYou can [`read`](crate::Reg::read) this register and get [`ctrla::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrla::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ctrla`]
63module"]
64#[doc(alias = "CTRLA")]
65pub type Ctrla = crate::Reg<ctrla::CtrlaSpec>;
66#[doc = "Control A Register"]
67pub mod ctrla;
68#[doc = "CTRLB (w) register accessor: Control B Register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrlb::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ctrlb`]
69module"]
70#[doc(alias = "CTRLB")]
71pub type Ctrlb = crate::Reg<ctrlb::CtrlbSpec>;
72#[doc = "Control B Register"]
73pub mod ctrlb;
74#[doc = "CFGA (rw) register accessor: Config A register\n\nYou can [`read`](crate::Reg::read) this register and get [`cfga::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cfga::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cfga`]
75module"]
76#[doc(alias = "CFGA")]
77pub type Cfga = crate::Reg<cfga::CfgaSpec>;
78#[doc = "Config A register"]
79pub mod cfga;
80#[doc = "INTENCLR (rw) register accessor: Interrupt Enable Clear Register\n\nYou can [`read`](crate::Reg::read) this register and get [`intenclr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intenclr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@intenclr`]
81module"]
82#[doc(alias = "INTENCLR")]
83pub type Intenclr = crate::Reg<intenclr::IntenclrSpec>;
84#[doc = "Interrupt Enable Clear Register"]
85pub mod intenclr;
86#[doc = "INTENSET (rw) register accessor: Interrupt Enable Set Register\n\nYou can [`read`](crate::Reg::read) this register and get [`intenset::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intenset::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@intenset`]
87module"]
88#[doc(alias = "INTENSET")]
89pub type Intenset = crate::Reg<intenset::IntensetSpec>;
90#[doc = "Interrupt Enable Set Register"]
91pub mod intenset;
92#[doc = "INTFLAG (rw) register accessor: Interrupt Flag Register\n\nYou can [`read`](crate::Reg::read) this register and get [`intflag::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intflag::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@intflag`]
93module"]
94#[doc(alias = "INTFLAG")]
95pub type Intflag = crate::Reg<intflag::IntflagSpec>;
96#[doc = "Interrupt Flag Register"]
97pub mod intflag;
98#[doc = "STATUS (rw) register accessor: Status Register\n\nYou can [`read`](crate::Reg::read) this register and get [`status::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`status::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@status`]
99module"]
100#[doc(alias = "STATUS")]
101pub type Status = crate::Reg<status::StatusSpec>;
102#[doc = "Status Register"]
103pub mod status;
104#[doc = "SYNCBUSY (r) register accessor: Synchronization Busy Register\n\nYou can [`read`](crate::Reg::read) this register and get [`syncbusy::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@syncbusy`]
105module"]
106#[doc(alias = "SYNCBUSY")]
107pub type Syncbusy = crate::Reg<syncbusy::SyncbusySpec>;
108#[doc = "Synchronization Busy Register"]
109pub mod syncbusy;
110#[doc = "VALUE (r) register accessor: Count Value Register\n\nYou can [`read`](crate::Reg::read) this register and get [`value::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@value`]
111module"]
112#[doc(alias = "VALUE")]
113pub type Value = crate::Reg<value::ValueSpec>;
114#[doc = "Count Value Register"]
115pub mod value;