1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - In the master mode, it is the start bit of a single operation. Self-clear by hardware"]
5 pub spi_cmd: crate::Reg<spi_cmd::SPI_CMD_SPEC>,
6 #[doc = "0x04 - In the master mode, it is the value of address in \"address\" phase."]
7 pub spi_addr: crate::Reg<spi_addr::SPI_ADDR_SPEC>,
8 #[doc = "0x08 - SPI_CTRL"]
9 pub spi_ctrl: crate::Reg<spi_ctrl::SPI_CTRL_SPEC>,
10 #[doc = "0x0c - "]
11 pub spi_ctrl1: crate::Reg<spi_ctrl1::SPI_CTRL1_SPEC>,
12 #[doc = "0x10 - In the slave mode, this register are the status register for the master to read out."]
13 pub spi_rd_status: crate::Reg<spi_rd_status::SPI_RD_STATUS_SPEC>,
14 #[doc = "0x14 - spi_cs signal is delayed by 80MHz clock cycles"]
15 pub spi_ctrl2: crate::Reg<spi_ctrl2::SPI_CTRL2_SPEC>,
16 #[doc = "0x18 - In the master mode, 1: spi_clk is eqaul to 80MHz, 0: spi_clk is divided from 80 MHz clock."]
17 pub spi_clock: crate::Reg<spi_clock::SPI_CLOCK_SPEC>,
18 #[doc = "0x1c - This bit enable the \"command\" phase of an operation."]
19 pub spi_user: crate::Reg<spi_user::SPI_USER_SPEC>,
20 #[doc = "0x20 - The length in bits of \"address\" phase. The register value shall be (bit_num-1)"]
21 pub spi_user1: crate::Reg<spi_user1::SPI_USER1_SPEC>,
22 #[doc = "0x24 - The length in bits of \"command\" phase. The register value shall be (bit_num-1)"]
23 pub spi_user2: crate::Reg<spi_user2::SPI_USER2_SPEC>,
24 #[doc = "0x28 - In the slave mode, this register are the status register for the master to write into."]
25 pub spi_wr_status: crate::Reg<spi_wr_status::SPI_WR_STATUS_SPEC>,
26 #[doc = "0x2c - 1: disable CS2; 0: spi_cs signal is from/to CS2 pin"]
27 pub spi_pin: crate::Reg<spi_pin::SPI_PIN_SPEC>,
28 #[doc = "0x30 - It is the synchronous reset signal of the module. This bit is self-cleared by hardware."]
29 pub spi_slave: crate::Reg<spi_slave::SPI_SLAVE_SPEC>,
30 #[doc = "0x34 - In the slave mode, it is the length in bits for \"write-status\" and \"read-status\" operations. The register valueshall be (bit_num-1)"]
31 pub spi_slave1: crate::Reg<spi_slave1::SPI_SLAVE1_SPEC>,
32 #[doc = "0x38 - In the slave mode, it is the length in spi_clk cycles \"dummy\" phase for \"write-buffer\" operations. The registervalue shall be (cycle_num-1)"]
33 pub spi_slave2: crate::Reg<spi_slave2::SPI_SLAVE2_SPEC>,
34 #[doc = "0x3c - In slave mode, it is the value of \"write-status\" command"]
35 pub spi_slave3: crate::Reg<spi_slave3::SPI_SLAVE3_SPEC>,
36 #[doc = "0x40 - the data inside the buffer of the SPI module, word 0"]
37 pub spi_w0: crate::Reg<spi_w0::SPI_W0_SPEC>,
38 #[doc = "0x44 - the data inside the buffer of the SPI module, word 1"]
39 pub spi_w1: crate::Reg<spi_w1::SPI_W1_SPEC>,
40 #[doc = "0x48 - the data inside the buffer of the SPI module, word 2"]
41 pub spi_w2: crate::Reg<spi_w2::SPI_W2_SPEC>,
42 #[doc = "0x4c - the data inside the buffer of the SPI module, word 3"]
43 pub spi_w3: crate::Reg<spi_w3::SPI_W3_SPEC>,
44 #[doc = "0x50 - the data inside the buffer of the SPI module, word 4"]
45 pub spi_w4: crate::Reg<spi_w4::SPI_W4_SPEC>,
46 #[doc = "0x54 - the data inside the buffer of the SPI module, word 5"]
47 pub spi_w5: crate::Reg<spi_w5::SPI_W5_SPEC>,
48 #[doc = "0x58 - the data inside the buffer of the SPI module, word 6"]
49 pub spi_w6: crate::Reg<spi_w6::SPI_W6_SPEC>,
50 #[doc = "0x5c - the data inside the buffer of the SPI module, word 7"]
51 pub spi_w7: crate::Reg<spi_w7::SPI_W7_SPEC>,
52 #[doc = "0x60 - the data inside the buffer of the SPI module, word 8"]
53 pub spi_w8: crate::Reg<spi_w8::SPI_W8_SPEC>,
54 #[doc = "0x64 - the data inside the buffer of the SPI module, word 9"]
55 pub spi_w9: crate::Reg<spi_w9::SPI_W9_SPEC>,
56 #[doc = "0x68 - the data inside the buffer of the SPI module, word 10"]
57 pub spi_w10: crate::Reg<spi_w10::SPI_W10_SPEC>,
58 #[doc = "0x6c - the data inside the buffer of the SPI module, word 11"]
59 pub spi_w11: crate::Reg<spi_w11::SPI_W11_SPEC>,
60 #[doc = "0x70 - the data inside the buffer of the SPI module, word 12"]
61 pub spi_w12: crate::Reg<spi_w12::SPI_W12_SPEC>,
62 #[doc = "0x74 - the data inside the buffer of the SPI module, word 13"]
63 pub spi_w13: crate::Reg<spi_w13::SPI_W13_SPEC>,
64 #[doc = "0x78 - the data inside the buffer of the SPI module, word 14"]
65 pub spi_w14: crate::Reg<spi_w14::SPI_W14_SPEC>,
66 #[doc = "0x7c - the data inside the buffer of the SPI module, word 15"]
67 pub spi_w15: crate::Reg<spi_w15::SPI_W15_SPEC>,
68 _reserved32: [u8; 0x70],
69 #[doc = "0xf0 - "]
70 pub spi_ext0: crate::Reg<spi_ext0::SPI_EXT0_SPEC>,
71 #[doc = "0xf4 - "]
72 pub spi_ext1: crate::Reg<spi_ext1::SPI_EXT1_SPEC>,
73 #[doc = "0xf8 - "]
74 pub spi_ext2: crate::Reg<spi_ext2::SPI_EXT2_SPEC>,
75 #[doc = "0xfc - This register is for two SPI masters to share the same cs, clock and data signals."]
76 pub spi_ext3: crate::Reg<spi_ext3::SPI_EXT3_SPEC>,
77}
78#[doc = "SPI_CMD register accessor: an alias for `Reg<SPI_CMD_SPEC>`"]
79pub type SPI_CMD = crate::Reg<spi_cmd::SPI_CMD_SPEC>;
80#[doc = "In the master mode, it is the start bit of a single operation. Self-clear by hardware"]
81pub mod spi_cmd;
82#[doc = "SPI_ADDR register accessor: an alias for `Reg<SPI_ADDR_SPEC>`"]
83pub type SPI_ADDR = crate::Reg<spi_addr::SPI_ADDR_SPEC>;
84#[doc = "In the master mode, it is the value of address in \"address\" phase."]
85pub mod spi_addr;
86#[doc = "SPI_CTRL register accessor: an alias for `Reg<SPI_CTRL_SPEC>`"]
87pub type SPI_CTRL = crate::Reg<spi_ctrl::SPI_CTRL_SPEC>;
88#[doc = "SPI_CTRL"]
89pub mod spi_ctrl;
90#[doc = "SPI_RD_STATUS register accessor: an alias for `Reg<SPI_RD_STATUS_SPEC>`"]
91pub type SPI_RD_STATUS = crate::Reg<spi_rd_status::SPI_RD_STATUS_SPEC>;
92#[doc = "In the slave mode, this register are the status register for the master to read out."]
93pub mod spi_rd_status;
94#[doc = "SPI_CTRL2 register accessor: an alias for `Reg<SPI_CTRL2_SPEC>`"]
95pub type SPI_CTRL2 = crate::Reg<spi_ctrl2::SPI_CTRL2_SPEC>;
96#[doc = "spi_cs signal is delayed by 80MHz clock cycles"]
97pub mod spi_ctrl2;
98#[doc = "SPI_CLOCK register accessor: an alias for `Reg<SPI_CLOCK_SPEC>`"]
99pub type SPI_CLOCK = crate::Reg<spi_clock::SPI_CLOCK_SPEC>;
100#[doc = "In the master mode, 1: spi_clk is eqaul to 80MHz, 0: spi_clk is divided from 80 MHz clock."]
101pub mod spi_clock;
102#[doc = "SPI_USER register accessor: an alias for `Reg<SPI_USER_SPEC>`"]
103pub type SPI_USER = crate::Reg<spi_user::SPI_USER_SPEC>;
104#[doc = "This bit enable the \"command\" phase of an operation."]
105pub mod spi_user;
106#[doc = "SPI_USER1 register accessor: an alias for `Reg<SPI_USER1_SPEC>`"]
107pub type SPI_USER1 = crate::Reg<spi_user1::SPI_USER1_SPEC>;
108#[doc = "The length in bits of \"address\" phase. The register value shall be (bit_num-1)"]
109pub mod spi_user1;
110#[doc = "SPI_USER2 register accessor: an alias for `Reg<SPI_USER2_SPEC>`"]
111pub type SPI_USER2 = crate::Reg<spi_user2::SPI_USER2_SPEC>;
112#[doc = "The length in bits of \"command\" phase. The register value shall be (bit_num-1)"]
113pub mod spi_user2;
114#[doc = "SPI_WR_STATUS register accessor: an alias for `Reg<SPI_WR_STATUS_SPEC>`"]
115pub type SPI_WR_STATUS = crate::Reg<spi_wr_status::SPI_WR_STATUS_SPEC>;
116#[doc = "In the slave mode, this register are the status register for the master to write into."]
117pub mod spi_wr_status;
118#[doc = "SPI_PIN register accessor: an alias for `Reg<SPI_PIN_SPEC>`"]
119pub type SPI_PIN = crate::Reg<spi_pin::SPI_PIN_SPEC>;
120#[doc = "1: disable CS2; 0: spi_cs signal is from/to CS2 pin"]
121pub mod spi_pin;
122#[doc = "SPI_SLAVE register accessor: an alias for `Reg<SPI_SLAVE_SPEC>`"]
123pub type SPI_SLAVE = crate::Reg<spi_slave::SPI_SLAVE_SPEC>;
124#[doc = "It is the synchronous reset signal of the module. This bit is self-cleared by hardware."]
125pub mod spi_slave;
126#[doc = "SPI_SLAVE1 register accessor: an alias for `Reg<SPI_SLAVE1_SPEC>`"]
127pub type SPI_SLAVE1 = crate::Reg<spi_slave1::SPI_SLAVE1_SPEC>;
128#[doc = "In the slave mode, it is the length in bits for \"write-status\" and \"read-status\" operations. The register valueshall be (bit_num-1)"]
129pub mod spi_slave1;
130#[doc = "SPI_SLAVE2 register accessor: an alias for `Reg<SPI_SLAVE2_SPEC>`"]
131pub type SPI_SLAVE2 = crate::Reg<spi_slave2::SPI_SLAVE2_SPEC>;
132#[doc = "In the slave mode, it is the length in spi_clk cycles \"dummy\" phase for \"write-buffer\" operations. The registervalue shall be (cycle_num-1)"]
133pub mod spi_slave2;
134#[doc = "SPI_SLAVE3 register accessor: an alias for `Reg<SPI_SLAVE3_SPEC>`"]
135pub type SPI_SLAVE3 = crate::Reg<spi_slave3::SPI_SLAVE3_SPEC>;
136#[doc = "In slave mode, it is the value of \"write-status\" command"]
137pub mod spi_slave3;
138#[doc = "SPI_EXT3 register accessor: an alias for `Reg<SPI_EXT3_SPEC>`"]
139pub type SPI_EXT3 = crate::Reg<spi_ext3::SPI_EXT3_SPEC>;
140#[doc = "This register is for two SPI masters to share the same cs, clock and data signals."]
141pub mod spi_ext3;
142#[doc = "SPI_W0 register accessor: an alias for `Reg<SPI_W0_SPEC>`"]
143pub type SPI_W0 = crate::Reg<spi_w0::SPI_W0_SPEC>;
144#[doc = "the data inside the buffer of the SPI module, word 0"]
145pub mod spi_w0;
146#[doc = "SPI_W1 register accessor: an alias for `Reg<SPI_W1_SPEC>`"]
147pub type SPI_W1 = crate::Reg<spi_w1::SPI_W1_SPEC>;
148#[doc = "the data inside the buffer of the SPI module, word 1"]
149pub mod spi_w1;
150#[doc = "SPI_W2 register accessor: an alias for `Reg<SPI_W2_SPEC>`"]
151pub type SPI_W2 = crate::Reg<spi_w2::SPI_W2_SPEC>;
152#[doc = "the data inside the buffer of the SPI module, word 2"]
153pub mod spi_w2;
154#[doc = "SPI_W3 register accessor: an alias for `Reg<SPI_W3_SPEC>`"]
155pub type SPI_W3 = crate::Reg<spi_w3::SPI_W3_SPEC>;
156#[doc = "the data inside the buffer of the SPI module, word 3"]
157pub mod spi_w3;
158#[doc = "SPI_W4 register accessor: an alias for `Reg<SPI_W4_SPEC>`"]
159pub type SPI_W4 = crate::Reg<spi_w4::SPI_W4_SPEC>;
160#[doc = "the data inside the buffer of the SPI module, word 4"]
161pub mod spi_w4;
162#[doc = "SPI_W5 register accessor: an alias for `Reg<SPI_W5_SPEC>`"]
163pub type SPI_W5 = crate::Reg<spi_w5::SPI_W5_SPEC>;
164#[doc = "the data inside the buffer of the SPI module, word 5"]
165pub mod spi_w5;
166#[doc = "SPI_W6 register accessor: an alias for `Reg<SPI_W6_SPEC>`"]
167pub type SPI_W6 = crate::Reg<spi_w6::SPI_W6_SPEC>;
168#[doc = "the data inside the buffer of the SPI module, word 6"]
169pub mod spi_w6;
170#[doc = "SPI_W7 register accessor: an alias for `Reg<SPI_W7_SPEC>`"]
171pub type SPI_W7 = crate::Reg<spi_w7::SPI_W7_SPEC>;
172#[doc = "the data inside the buffer of the SPI module, word 7"]
173pub mod spi_w7;
174#[doc = "SPI_W8 register accessor: an alias for `Reg<SPI_W8_SPEC>`"]
175pub type SPI_W8 = crate::Reg<spi_w8::SPI_W8_SPEC>;
176#[doc = "the data inside the buffer of the SPI module, word 8"]
177pub mod spi_w8;
178#[doc = "SPI_W9 register accessor: an alias for `Reg<SPI_W9_SPEC>`"]
179pub type SPI_W9 = crate::Reg<spi_w9::SPI_W9_SPEC>;
180#[doc = "the data inside the buffer of the SPI module, word 9"]
181pub mod spi_w9;
182#[doc = "SPI_W10 register accessor: an alias for `Reg<SPI_W10_SPEC>`"]
183pub type SPI_W10 = crate::Reg<spi_w10::SPI_W10_SPEC>;
184#[doc = "the data inside the buffer of the SPI module, word 10"]
185pub mod spi_w10;
186#[doc = "SPI_W11 register accessor: an alias for `Reg<SPI_W11_SPEC>`"]
187pub type SPI_W11 = crate::Reg<spi_w11::SPI_W11_SPEC>;
188#[doc = "the data inside the buffer of the SPI module, word 11"]
189pub mod spi_w11;
190#[doc = "SPI_W12 register accessor: an alias for `Reg<SPI_W12_SPEC>`"]
191pub type SPI_W12 = crate::Reg<spi_w12::SPI_W12_SPEC>;
192#[doc = "the data inside the buffer of the SPI module, word 12"]
193pub mod spi_w12;
194#[doc = "SPI_W13 register accessor: an alias for `Reg<SPI_W13_SPEC>`"]
195pub type SPI_W13 = crate::Reg<spi_w13::SPI_W13_SPEC>;
196#[doc = "the data inside the buffer of the SPI module, word 13"]
197pub mod spi_w13;
198#[doc = "SPI_W14 register accessor: an alias for `Reg<SPI_W14_SPEC>`"]
199pub type SPI_W14 = crate::Reg<spi_w14::SPI_W14_SPEC>;
200#[doc = "the data inside the buffer of the SPI module, word 14"]
201pub mod spi_w14;
202#[doc = "SPI_W15 register accessor: an alias for `Reg<SPI_W15_SPEC>`"]
203pub type SPI_W15 = crate::Reg<spi_w15::SPI_W15_SPEC>;
204#[doc = "the data inside the buffer of the SPI module, word 15"]
205pub mod spi_w15;
206#[doc = "SPI_CTRL1 register accessor: an alias for `Reg<SPI_CTRL1_SPEC>`"]
207pub type SPI_CTRL1 = crate::Reg<spi_ctrl1::SPI_CTRL1_SPEC>;
208#[doc = ""]
209pub mod spi_ctrl1;
210#[doc = "SPI_EXT0 register accessor: an alias for `Reg<SPI_EXT0_SPEC>`"]
211pub type SPI_EXT0 = crate::Reg<spi_ext0::SPI_EXT0_SPEC>;
212#[doc = ""]
213pub mod spi_ext0;
214#[doc = "SPI_EXT1 register accessor: an alias for `Reg<SPI_EXT1_SPEC>`"]
215pub type SPI_EXT1 = crate::Reg<spi_ext1::SPI_EXT1_SPEC>;
216#[doc = ""]
217pub mod spi_ext1;
218#[doc = "SPI_EXT2 register accessor: an alias for `Reg<SPI_EXT2_SPEC>`"]
219pub type SPI_EXT2 = crate::Reg<spi_ext2::SPI_EXT2_SPEC>;
220#[doc = ""]
221pub mod spi_ext2;