atsamd51g/
qspi.rs

1#[repr(C)]
2#[doc = "Register block"]
3pub struct RegisterBlock {
4    ctrla: Ctrla,
5    ctrlb: Ctrlb,
6    baud: Baud,
7    rxdata: Rxdata,
8    txdata: Txdata,
9    intenclr: Intenclr,
10    intenset: Intenset,
11    intflag: Intflag,
12    status: Status,
13    _reserved9: [u8; 0x0c],
14    instraddr: Instraddr,
15    instrctrl: Instrctrl,
16    instrframe: Instrframe,
17    _reserved12: [u8; 0x04],
18    scrambctrl: Scrambctrl,
19    scrambkey: Scrambkey,
20}
21impl RegisterBlock {
22    #[doc = "0x00 - Control A"]
23    #[inline(always)]
24    pub const fn ctrla(&self) -> &Ctrla {
25        &self.ctrla
26    }
27    #[doc = "0x04 - Control B"]
28    #[inline(always)]
29    pub const fn ctrlb(&self) -> &Ctrlb {
30        &self.ctrlb
31    }
32    #[doc = "0x08 - Baud Rate"]
33    #[inline(always)]
34    pub const fn baud(&self) -> &Baud {
35        &self.baud
36    }
37    #[doc = "0x0c - Receive Data"]
38    #[inline(always)]
39    pub const fn rxdata(&self) -> &Rxdata {
40        &self.rxdata
41    }
42    #[doc = "0x10 - Transmit Data"]
43    #[inline(always)]
44    pub const fn txdata(&self) -> &Txdata {
45        &self.txdata
46    }
47    #[doc = "0x14 - Interrupt Enable Clear"]
48    #[inline(always)]
49    pub const fn intenclr(&self) -> &Intenclr {
50        &self.intenclr
51    }
52    #[doc = "0x18 - Interrupt Enable Set"]
53    #[inline(always)]
54    pub const fn intenset(&self) -> &Intenset {
55        &self.intenset
56    }
57    #[doc = "0x1c - Interrupt Flag Status and Clear"]
58    #[inline(always)]
59    pub const fn intflag(&self) -> &Intflag {
60        &self.intflag
61    }
62    #[doc = "0x20 - Status Register"]
63    #[inline(always)]
64    pub const fn status(&self) -> &Status {
65        &self.status
66    }
67    #[doc = "0x30 - Instruction Address"]
68    #[inline(always)]
69    pub const fn instraddr(&self) -> &Instraddr {
70        &self.instraddr
71    }
72    #[doc = "0x34 - Instruction Code"]
73    #[inline(always)]
74    pub const fn instrctrl(&self) -> &Instrctrl {
75        &self.instrctrl
76    }
77    #[doc = "0x38 - Instruction Frame"]
78    #[inline(always)]
79    pub const fn instrframe(&self) -> &Instrframe {
80        &self.instrframe
81    }
82    #[doc = "0x40 - Scrambling Mode"]
83    #[inline(always)]
84    pub const fn scrambctrl(&self) -> &Scrambctrl {
85        &self.scrambctrl
86    }
87    #[doc = "0x44 - Scrambling Key"]
88    #[inline(always)]
89    pub const fn scrambkey(&self) -> &Scrambkey {
90        &self.scrambkey
91    }
92}
93#[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`]
94module"]
95#[doc(alias = "CTRLA")]
96pub type Ctrla = crate::Reg<ctrla::CtrlaSpec>;
97#[doc = "Control A"]
98pub mod ctrla;
99#[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`]
100module"]
101#[doc(alias = "CTRLB")]
102pub type Ctrlb = crate::Reg<ctrlb::CtrlbSpec>;
103#[doc = "Control B"]
104pub mod ctrlb;
105#[doc = "BAUD (rw) register accessor: Baud Rate\n\nYou can [`read`](crate::Reg::read) this register and get [`baud::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`baud::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@baud`]
106module"]
107#[doc(alias = "BAUD")]
108pub type Baud = crate::Reg<baud::BaudSpec>;
109#[doc = "Baud Rate"]
110pub mod baud;
111#[doc = "RXDATA (r) register accessor: Receive Data\n\nYou can [`read`](crate::Reg::read) this register and get [`rxdata::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rxdata`]
112module"]
113#[doc(alias = "RXDATA")]
114pub type Rxdata = crate::Reg<rxdata::RxdataSpec>;
115#[doc = "Receive Data"]
116pub mod rxdata;
117#[doc = "TXDATA (w) register accessor: Transmit Data\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`txdata::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@txdata`]
118module"]
119#[doc(alias = "TXDATA")]
120pub type Txdata = crate::Reg<txdata::TxdataSpec>;
121#[doc = "Transmit Data"]
122pub mod txdata;
123#[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`]
124module"]
125#[doc(alias = "INTENCLR")]
126pub type Intenclr = crate::Reg<intenclr::IntenclrSpec>;
127#[doc = "Interrupt Enable Clear"]
128pub mod intenclr;
129#[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`]
130module"]
131#[doc(alias = "INTENSET")]
132pub type Intenset = crate::Reg<intenset::IntensetSpec>;
133#[doc = "Interrupt Enable Set"]
134pub mod intenset;
135#[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`]
136module"]
137#[doc(alias = "INTFLAG")]
138pub type Intflag = crate::Reg<intflag::IntflagSpec>;
139#[doc = "Interrupt Flag Status and Clear"]
140pub mod intflag;
141#[doc = "STATUS (r) register accessor: Status Register\n\nYou can [`read`](crate::Reg::read) this register and get [`status::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@status`]
142module"]
143#[doc(alias = "STATUS")]
144pub type Status = crate::Reg<status::StatusSpec>;
145#[doc = "Status Register"]
146pub mod status;
147#[doc = "INSTRADDR (rw) register accessor: Instruction Address\n\nYou can [`read`](crate::Reg::read) this register and get [`instraddr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`instraddr::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@instraddr`]
148module"]
149#[doc(alias = "INSTRADDR")]
150pub type Instraddr = crate::Reg<instraddr::InstraddrSpec>;
151#[doc = "Instruction Address"]
152pub mod instraddr;
153#[doc = "INSTRCTRL (rw) register accessor: Instruction Code\n\nYou can [`read`](crate::Reg::read) this register and get [`instrctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`instrctrl::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@instrctrl`]
154module"]
155#[doc(alias = "INSTRCTRL")]
156pub type Instrctrl = crate::Reg<instrctrl::InstrctrlSpec>;
157#[doc = "Instruction Code"]
158pub mod instrctrl;
159#[doc = "INSTRFRAME (rw) register accessor: Instruction Frame\n\nYou can [`read`](crate::Reg::read) this register and get [`instrframe::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`instrframe::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@instrframe`]
160module"]
161#[doc(alias = "INSTRFRAME")]
162pub type Instrframe = crate::Reg<instrframe::InstrframeSpec>;
163#[doc = "Instruction Frame"]
164pub mod instrframe;
165#[doc = "SCRAMBCTRL (rw) register accessor: Scrambling Mode\n\nYou can [`read`](crate::Reg::read) this register and get [`scrambctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`scrambctrl::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@scrambctrl`]
166module"]
167#[doc(alias = "SCRAMBCTRL")]
168pub type Scrambctrl = crate::Reg<scrambctrl::ScrambctrlSpec>;
169#[doc = "Scrambling Mode"]
170pub mod scrambctrl;
171#[doc = "SCRAMBKEY (w) register accessor: Scrambling Key\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`scrambkey::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@scrambkey`]
172module"]
173#[doc(alias = "SCRAMBKEY")]
174pub type Scrambkey = crate::Reg<scrambkey::ScrambkeySpec>;
175#[doc = "Scrambling Key"]
176pub mod scrambkey;