atsamd51n/
trng.rs

1#[repr(C)]
2#[doc = "Register block"]
3pub struct RegisterBlock {
4    ctrla: Ctrla,
5    _reserved1: [u8; 0x03],
6    evctrl: Evctrl,
7    _reserved2: [u8; 0x03],
8    intenclr: Intenclr,
9    intenset: Intenset,
10    intflag: Intflag,
11    _reserved5: [u8; 0x15],
12    data: Data,
13}
14impl RegisterBlock {
15    #[doc = "0x00 - Control A"]
16    #[inline(always)]
17    pub const fn ctrla(&self) -> &Ctrla {
18        &self.ctrla
19    }
20    #[doc = "0x04 - Event Control"]
21    #[inline(always)]
22    pub const fn evctrl(&self) -> &Evctrl {
23        &self.evctrl
24    }
25    #[doc = "0x08 - Interrupt Enable Clear"]
26    #[inline(always)]
27    pub const fn intenclr(&self) -> &Intenclr {
28        &self.intenclr
29    }
30    #[doc = "0x09 - Interrupt Enable Set"]
31    #[inline(always)]
32    pub const fn intenset(&self) -> &Intenset {
33        &self.intenset
34    }
35    #[doc = "0x0a - Interrupt Flag Status and Clear"]
36    #[inline(always)]
37    pub const fn intflag(&self) -> &Intflag {
38        &self.intflag
39    }
40    #[doc = "0x20 - Output Data"]
41    #[inline(always)]
42    pub const fn data(&self) -> &Data {
43        &self.data
44    }
45}
46#[doc = "CTRLA (rw) register accessor: Control A\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`]
47module"]
48#[doc(alias = "CTRLA")]
49pub type Ctrla = crate::Reg<ctrla::CtrlaSpec>;
50#[doc = "Control A"]
51pub mod ctrla;
52#[doc = "EVCTRL (rw) register accessor: Event Control\n\nYou can [`read`](crate::Reg::read) this register and get [`evctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`evctrl::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@evctrl`]
53module"]
54#[doc(alias = "EVCTRL")]
55pub type Evctrl = crate::Reg<evctrl::EvctrlSpec>;
56#[doc = "Event Control"]
57pub mod evctrl;
58#[doc = "INTENCLR (rw) register accessor: Interrupt Enable Clear\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`]
59module"]
60#[doc(alias = "INTENCLR")]
61pub type Intenclr = crate::Reg<intenclr::IntenclrSpec>;
62#[doc = "Interrupt Enable Clear"]
63pub mod intenclr;
64#[doc = "INTENSET (rw) register accessor: Interrupt Enable Set\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`]
65module"]
66#[doc(alias = "INTENSET")]
67pub type Intenset = crate::Reg<intenset::IntensetSpec>;
68#[doc = "Interrupt Enable Set"]
69pub mod intenset;
70#[doc = "INTFLAG (rw) register accessor: Interrupt Flag Status and Clear\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`]
71module"]
72#[doc(alias = "INTFLAG")]
73pub type Intflag = crate::Reg<intflag::IntflagSpec>;
74#[doc = "Interrupt Flag Status and Clear"]
75pub mod intflag;
76#[doc = "DATA (r) register accessor: Output Data\n\nYou can [`read`](crate::Reg::read) this register and get [`data::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data`]
77module"]
78#[doc(alias = "DATA")]
79pub type Data = crate::Reg<data::DataSpec>;
80#[doc = "Output Data"]
81pub mod data;