atsamd21j/
nvmctrl.rs

1#[repr(C)]
2#[doc = "Register block"]
3pub struct RegisterBlock {
4    ctrla: Ctrla,
5    _reserved1: [u8; 0x02],
6    ctrlb: Ctrlb,
7    param: Param,
8    intenclr: Intenclr,
9    _reserved4: [u8; 0x03],
10    intenset: Intenset,
11    _reserved5: [u8; 0x03],
12    intflag: Intflag,
13    _reserved6: [u8; 0x03],
14    status: Status,
15    _reserved7: [u8; 0x02],
16    addr: Addr,
17    lock: Lock,
18}
19impl RegisterBlock {
20    #[doc = "0x00 - Control A"]
21    #[inline(always)]
22    pub const fn ctrla(&self) -> &Ctrla {
23        &self.ctrla
24    }
25    #[doc = "0x04 - Control B"]
26    #[inline(always)]
27    pub const fn ctrlb(&self) -> &Ctrlb {
28        &self.ctrlb
29    }
30    #[doc = "0x08 - NVM Parameter"]
31    #[inline(always)]
32    pub const fn param(&self) -> &Param {
33        &self.param
34    }
35    #[doc = "0x0c - Interrupt Enable Clear"]
36    #[inline(always)]
37    pub const fn intenclr(&self) -> &Intenclr {
38        &self.intenclr
39    }
40    #[doc = "0x10 - Interrupt Enable Set"]
41    #[inline(always)]
42    pub const fn intenset(&self) -> &Intenset {
43        &self.intenset
44    }
45    #[doc = "0x14 - Interrupt Flag Status and Clear"]
46    #[inline(always)]
47    pub const fn intflag(&self) -> &Intflag {
48        &self.intflag
49    }
50    #[doc = "0x18 - Status"]
51    #[inline(always)]
52    pub const fn status(&self) -> &Status {
53        &self.status
54    }
55    #[doc = "0x1c - Address"]
56    #[inline(always)]
57    pub const fn addr(&self) -> &Addr {
58        &self.addr
59    }
60    #[doc = "0x20 - Lock Section"]
61    #[inline(always)]
62    pub const fn lock(&self) -> &Lock {
63        &self.lock
64    }
65}
66#[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`]
67module"]
68#[doc(alias = "CTRLA")]
69pub type Ctrla = crate::Reg<ctrla::CtrlaSpec>;
70#[doc = "Control A"]
71pub mod ctrla;
72#[doc = "CTRLB (rw) register accessor: Control B\n\nYou can [`read`](crate::Reg::read) this register and get [`ctrlb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrlb::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@ctrlb`]
73module"]
74#[doc(alias = "CTRLB")]
75pub type Ctrlb = crate::Reg<ctrlb::CtrlbSpec>;
76#[doc = "Control B"]
77pub mod ctrlb;
78#[doc = "PARAM (rw) register accessor: NVM Parameter\n\nYou can [`read`](crate::Reg::read) this register and get [`param::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`param::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@param`]
79module"]
80#[doc(alias = "PARAM")]
81pub type Param = crate::Reg<param::ParamSpec>;
82#[doc = "NVM Parameter"]
83pub mod param;
84#[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`]
85module"]
86#[doc(alias = "INTENCLR")]
87pub type Intenclr = crate::Reg<intenclr::IntenclrSpec>;
88#[doc = "Interrupt Enable Clear"]
89pub mod intenclr;
90#[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`]
91module"]
92#[doc(alias = "INTENSET")]
93pub type Intenset = crate::Reg<intenset::IntensetSpec>;
94#[doc = "Interrupt Enable Set"]
95pub mod intenset;
96#[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`]
97module"]
98#[doc(alias = "INTFLAG")]
99pub type Intflag = crate::Reg<intflag::IntflagSpec>;
100#[doc = "Interrupt Flag Status and Clear"]
101pub mod intflag;
102#[doc = "STATUS (rw) register accessor: Status\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`]
103module"]
104#[doc(alias = "STATUS")]
105pub type Status = crate::Reg<status::StatusSpec>;
106#[doc = "Status"]
107pub mod status;
108#[doc = "ADDR (rw) register accessor: Address\n\nYou can [`read`](crate::Reg::read) this register and get [`addr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`addr::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@addr`]
109module"]
110#[doc(alias = "ADDR")]
111pub type Addr = crate::Reg<addr::AddrSpec>;
112#[doc = "Address"]
113pub mod addr;
114#[doc = "LOCK (rw) register accessor: Lock Section\n\nYou can [`read`](crate::Reg::read) this register and get [`lock::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lock::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@lock`]
115module"]
116#[doc(alias = "LOCK")]
117pub type Lock = crate::Reg<lock::LockSpec>;
118#[doc = "Lock Section"]
119pub mod lock;