atsam4s16c_pac/
spi.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - Control Register"]
5    pub cr: CR,
6    #[doc = "0x04 - Mode Register"]
7    pub mr: MR,
8    #[doc = "0x08 - Receive Data Register"]
9    pub rdr: RDR,
10    #[doc = "0x0c - Transmit Data Register"]
11    pub tdr: TDR,
12    #[doc = "0x10 - Status Register"]
13    pub sr: SR,
14    #[doc = "0x14 - Interrupt Enable Register"]
15    pub ier: IER,
16    #[doc = "0x18 - Interrupt Disable Register"]
17    pub idr: IDR,
18    #[doc = "0x1c - Interrupt Mask Register"]
19    pub imr: IMR,
20    _reserved8: [u8; 0x10],
21    #[doc = "0x30..0x40 - Chip Select Register"]
22    pub csr: [CSR; 4],
23    _reserved9: [u8; 0xa4],
24    #[doc = "0xe4 - Write Protection Mode Register"]
25    pub wpmr: WPMR,
26    #[doc = "0xe8 - Write Protection Status Register"]
27    pub wpsr: WPSR,
28    _reserved11: [u8; 0x14],
29    #[doc = "0x100 - Receive Pointer Register"]
30    pub rpr: RPR,
31    #[doc = "0x104 - Receive Counter Register"]
32    pub rcr: RCR,
33    #[doc = "0x108 - Transmit Pointer Register"]
34    pub tpr: TPR,
35    #[doc = "0x10c - Transmit Counter Register"]
36    pub tcr: TCR,
37    #[doc = "0x110 - Receive Next Pointer Register"]
38    pub rnpr: RNPR,
39    #[doc = "0x114 - Receive Next Counter Register"]
40    pub rncr: RNCR,
41    #[doc = "0x118 - Transmit Next Pointer Register"]
42    pub tnpr: TNPR,
43    #[doc = "0x11c - Transmit Next Counter Register"]
44    pub tncr: TNCR,
45    #[doc = "0x120 - Transfer Control Register"]
46    pub ptcr: PTCR,
47    #[doc = "0x124 - Transfer Status Register"]
48    pub ptsr: PTSR,
49}
50#[doc = "CR (w) register accessor: an alias for `Reg<CR_SPEC>`"]
51pub type CR = crate::Reg<cr::CR_SPEC>;
52#[doc = "Control Register"]
53pub mod cr;
54#[doc = "MR (rw) register accessor: an alias for `Reg<MR_SPEC>`"]
55pub type MR = crate::Reg<mr::MR_SPEC>;
56#[doc = "Mode Register"]
57pub mod mr;
58#[doc = "RDR (r) register accessor: an alias for `Reg<RDR_SPEC>`"]
59pub type RDR = crate::Reg<rdr::RDR_SPEC>;
60#[doc = "Receive Data Register"]
61pub mod rdr;
62#[doc = "TDR (w) register accessor: an alias for `Reg<TDR_SPEC>`"]
63pub type TDR = crate::Reg<tdr::TDR_SPEC>;
64#[doc = "Transmit Data Register"]
65pub mod tdr;
66#[doc = "SR (r) register accessor: an alias for `Reg<SR_SPEC>`"]
67pub type SR = crate::Reg<sr::SR_SPEC>;
68#[doc = "Status Register"]
69pub mod sr;
70#[doc = "IER (w) register accessor: an alias for `Reg<IER_SPEC>`"]
71pub type IER = crate::Reg<ier::IER_SPEC>;
72#[doc = "Interrupt Enable Register"]
73pub mod ier;
74#[doc = "IDR (w) register accessor: an alias for `Reg<IDR_SPEC>`"]
75pub type IDR = crate::Reg<idr::IDR_SPEC>;
76#[doc = "Interrupt Disable Register"]
77pub mod idr;
78#[doc = "IMR (r) register accessor: an alias for `Reg<IMR_SPEC>`"]
79pub type IMR = crate::Reg<imr::IMR_SPEC>;
80#[doc = "Interrupt Mask Register"]
81pub mod imr;
82#[doc = "CSR (rw) register accessor: an alias for `Reg<CSR_SPEC>`"]
83pub type CSR = crate::Reg<csr::CSR_SPEC>;
84#[doc = "Chip Select Register"]
85pub mod csr;
86#[doc = "WPMR (rw) register accessor: an alias for `Reg<WPMR_SPEC>`"]
87pub type WPMR = crate::Reg<wpmr::WPMR_SPEC>;
88#[doc = "Write Protection Mode Register"]
89pub mod wpmr;
90#[doc = "WPSR (r) register accessor: an alias for `Reg<WPSR_SPEC>`"]
91pub type WPSR = crate::Reg<wpsr::WPSR_SPEC>;
92#[doc = "Write Protection Status Register"]
93pub mod wpsr;
94#[doc = "RPR (rw) register accessor: an alias for `Reg<RPR_SPEC>`"]
95pub type RPR = crate::Reg<rpr::RPR_SPEC>;
96#[doc = "Receive Pointer Register"]
97pub mod rpr;
98#[doc = "RCR (rw) register accessor: an alias for `Reg<RCR_SPEC>`"]
99pub type RCR = crate::Reg<rcr::RCR_SPEC>;
100#[doc = "Receive Counter Register"]
101pub mod rcr;
102#[doc = "TPR (rw) register accessor: an alias for `Reg<TPR_SPEC>`"]
103pub type TPR = crate::Reg<tpr::TPR_SPEC>;
104#[doc = "Transmit Pointer Register"]
105pub mod tpr;
106#[doc = "TCR (rw) register accessor: an alias for `Reg<TCR_SPEC>`"]
107pub type TCR = crate::Reg<tcr::TCR_SPEC>;
108#[doc = "Transmit Counter Register"]
109pub mod tcr;
110#[doc = "RNPR (rw) register accessor: an alias for `Reg<RNPR_SPEC>`"]
111pub type RNPR = crate::Reg<rnpr::RNPR_SPEC>;
112#[doc = "Receive Next Pointer Register"]
113pub mod rnpr;
114#[doc = "RNCR (rw) register accessor: an alias for `Reg<RNCR_SPEC>`"]
115pub type RNCR = crate::Reg<rncr::RNCR_SPEC>;
116#[doc = "Receive Next Counter Register"]
117pub mod rncr;
118#[doc = "TNPR (rw) register accessor: an alias for `Reg<TNPR_SPEC>`"]
119pub type TNPR = crate::Reg<tnpr::TNPR_SPEC>;
120#[doc = "Transmit Next Pointer Register"]
121pub mod tnpr;
122#[doc = "TNCR (rw) register accessor: an alias for `Reg<TNCR_SPEC>`"]
123pub type TNCR = crate::Reg<tncr::TNCR_SPEC>;
124#[doc = "Transmit Next Counter Register"]
125pub mod tncr;
126#[doc = "PTCR (w) register accessor: an alias for `Reg<PTCR_SPEC>`"]
127pub type PTCR = crate::Reg<ptcr::PTCR_SPEC>;
128#[doc = "Transfer Control Register"]
129pub mod ptcr;
130#[doc = "PTSR (r) register accessor: an alias for `Reg<PTSR_SPEC>`"]
131pub type PTSR = crate::Reg<ptsr::PTSR_SPEC>;
132#[doc = "Transfer Status Register"]
133pub mod ptsr;