• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * Copyright (c) 2020 HiSilicon (Shanghai) Technologies CO., LIMITED.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  *
15  * Description: Provides V151 ssi register operation api \n
16  *
17  * History: \n
18  * 2022-08-08, Create file. \n
19  */
20 #ifndef HAL_SPI_V151_REGS_OP_H
21 #define HAL_SPI_V151_REGS_OP_H
22 
23 #include <stdint.h>
24 #include "common_def.h"
25 #include "hal_spi_v151_regs_def.h"
26 #include "spi_porting.h"
27 
28 #ifdef __cplusplus
29 #if __cplusplus
30 extern "C" {
31 #endif /* __cplusplus */
32 #endif /* __cplusplus */
33 
34 /**
35  * @defgroup drivers_hal_spi_v151_regs_op SPI V151 Regs Operation
36  * @ingroup  drivers_hal_spi
37  * @{
38  */
39 
40 /**
41  * @brief  The registers list of ssi interrupt.
42  */
43 typedef enum spi_v151_int_reg {
44     SPI_INMAR_REG,               /*!< Interrupt Mask Register. */
45     SPI_INSR_REG,                /*!< Interrupt Status Register. */
46     SPI_RAINSR_REG               /*!< Raw Interrupt Status Register. */
47 } spi_v151_int_reg_t;
48 
49 extern uintptr_t g_hal_spis_regs[SPI_BUS_MAX_NUM];
50 #define spis_v151_regs(bus) ((spi_v151_regs_t *)g_hal_spis_regs[bus])
51 
52 /**
53  * @brief  Get the value of @ref spi_ctra_data.
54  * @param  [in]  bus The index of spi.
55  * @return The value of @ref spi_ctra_data.
56  */
hal_spi_v151_spi_ctra_get(spi_bus_t bus)57 static inline uint32_t hal_spi_v151_spi_ctra_get(spi_bus_t bus)
58 {
59     spi_ctra_data_t spi_ctra;
60     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
61     return spi_ctra.d32;
62 }
63 
64 /**
65  * @brief  Set the value of @ref spi_ctra_data.
66  * @param  [in]  bus The index of spi.
67  * @param  [in]  val The value of @ref spi_ctra_data.
68  */
hal_spi_v151_spi_ctra_set(spi_bus_t bus,uint32_t val)69 static inline void hal_spi_v151_spi_ctra_set(spi_bus_t bus, uint32_t val)
70 {
71     spi_ctra_data_t spi_ctra;
72     spi_ctra.d32 = val;
73     spis_v151_regs(bus)->spi_ctra = spi_ctra.d32;
74 }
75 
76 /**
77  * @brief  Get the value of @ref spi_ctra_data.dfs16.
78  * @param  [in]  bus The index of spi.
79  * @return The value of @ref spi_ctra_data.dfs16.
80  */
hal_spi_v151_spi_ctra_get_dfs16(spi_bus_t bus)81 static inline uint32_t hal_spi_v151_spi_ctra_get_dfs16(spi_bus_t bus)
82 {
83     spi_ctra_data_t spi_ctra;
84     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
85     return spi_ctra.b.dfs16;
86 }
87 
88 /**
89  * @brief  Set the value of @ref spi_ctra_data.dfs16.
90  * @param  [in]  bus The index of spi.
91  * @param  [in]  val The value of @ref spi_ctra_data.dfs16.
92  */
hal_spi_v151_spi_ctra_set_dfs16(spi_bus_t bus,uint32_t val)93 static inline void hal_spi_v151_spi_ctra_set_dfs16(spi_bus_t bus, uint32_t val)
94 {
95     spi_ctra_data_t spi_ctra;
96     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
97     spi_ctra.b.dfs16 = val;
98     spis_v151_regs(bus)->spi_ctra = spi_ctra.d32;
99 }
100 
101 /**
102  * @brief  Get the value of @ref spi_ctra_data.prs.
103  * @param  [in]  bus The index of spi.
104  * @return The value of @ref spi_ctra_data.prs.
105  */
hal_spi_v151_spi_ctra_get_prs(spi_bus_t bus)106 static inline uint32_t hal_spi_v151_spi_ctra_get_prs(spi_bus_t bus)
107 {
108     spi_ctra_data_t spi_ctra;
109     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
110     return spi_ctra.b.prs;
111 }
112 
113 /**
114  * @brief  Set the value of @ref spi_ctra_data.prs.
115  * @param  [in]  bus The index of spi.
116  * @param  [in]  val The value of @ref spi_ctra_data.prs.
117  */
hal_spi_v151_spi_ctra_set_prs(spi_bus_t bus,uint32_t val)118 static inline void hal_spi_v151_spi_ctra_set_prs(spi_bus_t bus, uint32_t val)
119 {
120     spi_ctra_data_t spi_ctra;
121     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
122     spi_ctra.b.prs = val;
123     spis_v151_regs(bus)->spi_ctra = spi_ctra.d32;
124 }
125 
126 /**
127  * @brief  Get the value of @ref spi_ctra_data.scph.
128  * @param  [in]  bus The index of spi.
129  * @return The value of @ref spi_ctra_data.scph.
130  */
hal_spi_v151_spi_ctra_get_scph(spi_bus_t bus)131 static inline uint32_t hal_spi_v151_spi_ctra_get_scph(spi_bus_t bus)
132 {
133     spi_ctra_data_t spi_ctra;
134     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
135     return spi_ctra.b.scph;
136 }
137 
138 /**
139  * @brief  Set the value of @ref spi_ctra_data.scph.
140  * @param  [in]  bus The index of spi.
141  * @param  [in]  val The value of @ref spi_ctra_data.scph.
142  */
hal_spi_v151_spi_ctra_set_scph(spi_bus_t bus,uint32_t val)143 static inline void hal_spi_v151_spi_ctra_set_scph(spi_bus_t bus, uint32_t val)
144 {
145     spi_ctra_data_t spi_ctra;
146     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
147     spi_ctra.b.scph = val;
148     spis_v151_regs(bus)->spi_ctra = spi_ctra.d32;
149 }
150 
151 /**
152  * @brief  Get the value of @ref spi_ctra_data.scpol.
153  * @param  [in]  bus The index of spi.
154  * @return The value of @ref spi_ctra_data.scpol.
155  */
hal_spi_v151_spi_ctra_get_scpol(spi_bus_t bus)156 static inline uint32_t hal_spi_v151_spi_ctra_get_scpol(spi_bus_t bus)
157 {
158     spi_ctra_data_t spi_ctra;
159     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
160     return spi_ctra.b.scpol;
161 }
162 
163 /**
164  * @brief  Set the value of @ref spi_ctra_data.scpol.
165  * @param  [in]  bus The index of spi.
166  * @param  [in]  val The value of @ref spi_ctra_data.scpol.
167  */
hal_spi_v151_spi_ctra_set_scpol(spi_bus_t bus,uint32_t val)168 static inline void hal_spi_v151_spi_ctra_set_scpol(spi_bus_t bus, uint32_t val)
169 {
170     spi_ctra_data_t spi_ctra;
171     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
172     spi_ctra.b.scpol = val;
173     spis_v151_regs(bus)->spi_ctra = spi_ctra.d32;
174 }
175 
176 /**
177  * @brief  Get the value of @ref spi_ctra_data.trsm.
178  * @param  [in]  bus The index of spi.
179  * @return The value of @ref spi_ctra_data.trsm.
180  */
hal_spi_v151_spi_ctra_get_trsm(spi_bus_t bus)181 static inline uint32_t hal_spi_v151_spi_ctra_get_trsm(spi_bus_t bus)
182 {
183     spi_ctra_data_t spi_ctra;
184     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
185     return spi_ctra.b.trsm;
186 }
187 
188 /**
189  * @brief  Set the value of @ref spi_ctra_data.trsm.
190  * @param  [in]  bus The index of spi.
191  * @param  [in]  val The value of @ref spi_ctra_data.trsm.
192  */
hal_spi_v151_spi_ctra_set_trsm(spi_bus_t bus,uint32_t val)193 static inline void hal_spi_v151_spi_ctra_set_trsm(spi_bus_t bus, uint32_t val)
194 {
195     spi_ctra_data_t spi_ctra;
196     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
197     spi_ctra.b.trsm = val;
198     spis_v151_regs(bus)->spi_ctra = spi_ctra.d32;
199 }
200 
201 /**
202  * @brief  Get the value of @ref spi_ctra_data.soe.
203  * @param  [in]  bus The index of spi.
204  * @return The value of @ref spi_ctra_data.soe.
205  */
hal_spi_v151_spi_ctra_get_soe(spi_bus_t bus)206 static inline uint32_t hal_spi_v151_spi_ctra_get_soe(spi_bus_t bus)
207 {
208     spi_ctra_data_t spi_ctra;
209     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
210     return spi_ctra.b.soe;
211 }
212 
213 /**
214  * @brief  Set the value of @ref spi_ctra_data.soe.
215  * @param  [in]  bus The index of spi.
216  * @param  [in]  val The value of @ref spi_ctra_data.soe.
217  */
hal_spi_v151_spi_ctra_set_soe(spi_bus_t bus,uint32_t val)218 static inline void hal_spi_v151_spi_ctra_set_soe(spi_bus_t bus, uint32_t val)
219 {
220     spi_ctra_data_t spi_ctra;
221     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
222     spi_ctra.b.soe = val;
223     spis_v151_regs(bus)->spi_ctra = spi_ctra.d32;
224 }
225 
226 /**
227  * @brief  Get the value of @ref spi_ctra_data.srlt.
228  * @param  [in]  bus The index of spi.
229  * @return The value of @ref spi_ctra_data.srlt.
230  */
hal_spi_v151_spi_ctra_get_srlt(spi_bus_t bus)231 static inline uint32_t hal_spi_v151_spi_ctra_get_srlt(spi_bus_t bus)
232 {
233     spi_ctra_data_t spi_ctra;
234     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
235     return spi_ctra.b.srlt;
236 }
237 
238 /**
239  * @brief  Set the value of @ref spi_ctra_data.srlt.
240  * @param  [in]  bus The index of spi.
241  * @param  [in]  val The value of @ref spi_ctra_data.srlt.
242  */
hal_spi_v151_spi_ctra_set_srlt(spi_bus_t bus,uint32_t val)243 static inline void hal_spi_v151_spi_ctra_set_srlt(spi_bus_t bus, uint32_t val)
244 {
245     spi_ctra_data_t spi_ctra;
246     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
247     spi_ctra.b.srlt = val;
248     spis_v151_regs(bus)->spi_ctra = spi_ctra.d32;
249 }
250 
251 /**
252  * @brief  Get the value of @ref spi_ctra_data.cfs16.
253  * @param  [in]  bus The index of spi.
254  * @return The value of @ref spi_ctra_data.cfs16.
255  */
hal_spi_v151_spi_ctra_get_cfs16(spi_bus_t bus)256 static inline uint32_t hal_spi_v151_spi_ctra_get_cfs16(spi_bus_t bus)
257 {
258     spi_ctra_data_t spi_ctra;
259     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
260     return spi_ctra.b.cfs16;
261 }
262 
263 /**
264  * @brief  Set the value of @ref spi_ctra_data.cfs16.
265  * @param  [in]  bus The index of spi.
266  * @param  [in]  val The value of @ref spi_ctra_data.cfs16.
267  */
hal_spi_v151_spi_ctra_set_cfs16(spi_bus_t bus,uint32_t val)268 static inline void hal_spi_v151_spi_ctra_set_cfs16(spi_bus_t bus, uint32_t val)
269 {
270     spi_ctra_data_t spi_ctra;
271     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
272     spi_ctra.b.cfs16 = val;
273     spis_v151_regs(bus)->spi_ctra = spi_ctra.d32;
274 }
275 
276 /**
277  * @brief  Get the value of @ref spi_ctra_data.dfs32.
278  * @param  [in]  bus The index of spi.
279  * @return The value of @ref spi_ctra_data.dfs32.
280  */
hal_spi_v151_spi_ctra_get_dfs32(spi_bus_t bus)281 static inline uint32_t hal_spi_v151_spi_ctra_get_dfs32(spi_bus_t bus)
282 {
283     spi_ctra_data_t spi_ctra;
284     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
285     return spi_ctra.b.dfs32;
286 }
287 
288 /**
289  * @brief  Set the value of @ref spi_ctra_data.dfs32.
290  * @param  [in]  bus The index of spi.
291  * @param  [in]  val The value of @ref spi_ctra_data.dfs32.
292  */
hal_spi_v151_spi_ctra_set_dfs32(spi_bus_t bus,uint32_t val)293 static inline void hal_spi_v151_spi_ctra_set_dfs32(spi_bus_t bus, uint32_t val)
294 {
295     spi_ctra_data_t spi_ctra;
296     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
297     spi_ctra.b.dfs32 = val;
298     spis_v151_regs(bus)->spi_ctra = spi_ctra.d32;
299 }
300 
301 /**
302  * @brief  Get the value of @ref spi_ctra_data.enhff.
303  * @param  [in]  bus The index of spi.
304  * @return The value of @ref spi_ctra_data.enhff.
305  */
hal_spi_v151_spi_ctra_get_enhff(spi_bus_t bus)306 static inline uint32_t hal_spi_v151_spi_ctra_get_enhff(spi_bus_t bus)
307 {
308     spi_ctra_data_t spi_ctra;
309     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
310     return spi_ctra.b.enhff;
311 }
312 
313 /**
314  * @brief  Set the value of @ref spi_ctra_data.enhff.
315  * @param  [in]  bus The index of spi.
316  * @param  [in]  val The value of @ref spi_ctra_data.enhff.
317  */
hal_spi_v151_spi_ctra_set_enhff(spi_bus_t bus,uint32_t val)318 static inline void hal_spi_v151_spi_ctra_set_enhff(spi_bus_t bus, uint32_t val)
319 {
320     spi_ctra_data_t spi_ctra;
321     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
322     spi_ctra.b.enhff = val;
323     spis_v151_regs(bus)->spi_ctra = spi_ctra.d32;
324 }
325 
326 /**
327  * @brief  Get the value of @ref spi_ctra_data.ssn_te.
328  * @param  [in]  bus The index of spi.
329  * @return The value of @ref spi_ctra_data.ssn_te.
330  */
hal_spi_v151_spi_ctra_get_ssn_te(spi_bus_t bus)331 static inline uint32_t hal_spi_v151_spi_ctra_get_ssn_te(spi_bus_t bus)
332 {
333     spi_ctra_data_t spi_ctra;
334     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
335     return spi_ctra.b.ssn_te;
336 }
337 
338 /**
339  * @brief  Set the value of @ref spi_ctra_data.ssn_te.
340  * @param  [in]  bus The index of spi.
341  * @param  [in]  val The value of @ref spi_ctra_data.ssn_te.
342  */
hal_spi_v151_spi_ctra_set_ssn_te(spi_bus_t bus,uint32_t val)343 static inline void hal_spi_v151_spi_ctra_set_ssn_te(spi_bus_t bus, uint32_t val)
344 {
345     spi_ctra_data_t spi_ctra;
346     spi_ctra.d32 = spis_v151_regs(bus)->spi_ctra;
347     spi_ctra.b.ssn_te = val;
348     spis_v151_regs(bus)->spi_ctra = spi_ctra.d32;
349 }
350 
351 /**
352  * @brief  Get the value of @ref spi_ctrb_data.nrdf.
353  * @param  [in]  bus The index of spi.
354  * @return The value of @ref spi_ctrb_data.nrdf.
355  */
hal_spi_v151_spi_ctrb_get_nrdf(spi_bus_t bus)356 static inline uint32_t hal_spi_v151_spi_ctrb_get_nrdf(spi_bus_t bus)
357 {
358     spi_ctrb_data_t spi_ctrb;
359     spi_ctrb.d32 = spis_v151_regs(bus)->spi_ctrb;
360     return spi_ctrb.b.nrdf;
361 }
362 
363 /**
364  * @brief  Set the value of @ref spi_ctrb_data.nrdf.
365  * @param  [in]  bus The index of spi.
366  * @param  [in]  val The value of @ref spi_ctrb_data.nrdf.
367  */
hal_spi_v151_spi_ctrb_set_nrdf(spi_bus_t bus,uint32_t val)368 static inline void hal_spi_v151_spi_ctrb_set_nrdf(spi_bus_t bus, uint32_t val)
369 {
370     spi_ctrb_data_t spi_ctrb;
371     spi_ctrb.d32 = spis_v151_regs(bus)->spi_ctrb;
372     spi_ctrb.b.nrdf = val;
373     spis_v151_regs(bus)->spi_ctrb = spi_ctrb.d32;
374 }
375 
376 /**
377  * @brief  Get the value of @ref spi_er_data.start_en.
378  * @param  [in]  bus The index of spi.
379  * @return The value of @ref spi_er_data.start_en.
380  */
hal_spi_v151_spi_er_get_start_en(spi_bus_t bus)381 static inline uint32_t hal_spi_v151_spi_er_get_start_en(spi_bus_t bus)
382 {
383     spi_er_data_t spi_er;
384     spi_er.d32 = spis_v151_regs(bus)->spi_er;
385     return spi_er.b.start_en;
386 }
387 
388 /**
389  * @brief  Set the value of @ref spi_er_data.start_en.
390  * @param  [in]  bus The index of spi.
391  * @param  [in]  val The value of @ref spi_er_data.start_en.
392  */
hal_spi_ssienr_set_ssi_en(spi_bus_t bus,uint32_t val)393 static inline void hal_spi_ssienr_set_ssi_en(spi_bus_t bus, uint32_t val)
394 {
395     spi_er_data_t spi_er;
396     spi_er.d32 = spis_v151_regs(bus)->spi_er;
397     spi_er.b.start_en = val;
398     spis_v151_regs(bus)->spi_er = spi_er.d32;
399 }
400 
401 /**
402  * @brief  Get the value of @ref spi_mcr_data.mss.
403  * @param  [in]  bus The index of spi.
404  * @return The value of @ref spi_mcr_data.mss.
405  */
hal_spi_v151_spi_mcr_get_mss(spi_bus_t bus)406 static inline uint32_t hal_spi_v151_spi_mcr_get_mss(spi_bus_t bus)
407 {
408     spi_mcr_data_t spi_mcr;
409     spi_mcr.d32 = spis_v151_regs(bus)->spi_mcr;
410     return spi_mcr.b.mss;
411 }
412 
413 /**
414  * @brief  Set the value of @ref spi_mcr_data.mss.
415  * @param  [in]  bus The index of spi.
416  * @param  [in]  val The value of @ref spi_mcr_data.mss.
417  */
hal_spi_v151_spi_mcr_set_mss(spi_bus_t bus,uint32_t val)418 static inline void hal_spi_v151_spi_mcr_set_mss(spi_bus_t bus, uint32_t val)
419 {
420     spi_mcr_data_t spi_mcr;
421     spi_mcr.d32 = spis_v151_regs(bus)->spi_mcr;
422     spi_mcr.b.mss = val;
423     spis_v151_regs(bus)->spi_mcr = spi_mcr.d32;
424 }
425 
426 /**
427  * @brief  Get the value of @ref spi_mcr_data.mtrc.
428  * @param  [in]  bus The index of spi.
429  * @return The value of @ref spi_mcr_data.mtrc.
430  */
hal_spi_v151_spi_mcr_get_mtrc(spi_bus_t bus)431 static inline uint32_t hal_spi_v151_spi_mcr_get_mtrc(spi_bus_t bus)
432 {
433     spi_mcr_data_t spi_mcr;
434     spi_mcr.d32 = spis_v151_regs(bus)->spi_mcr;
435     return spi_mcr.b.mtrc;
436 }
437 
438 /**
439  * @brief  Set the value of @ref spi_mcr_data.mtrc.
440  * @param  [in]  bus The index of spi.
441  * @param  [in]  val The value of @ref spi_mcr_data.mtrc.
442  */
hal_spi_v151_spi_mcr_set_mtrc(spi_bus_t bus,uint32_t val)443 static inline void hal_spi_v151_spi_mcr_set_mtrc(spi_bus_t bus, uint32_t val)
444 {
445     spi_mcr_data_t spi_mcr;
446     spi_mcr.d32 = spis_v151_regs(bus)->spi_mcr;
447     spi_mcr.b.mtrc = val;
448     spis_v151_regs(bus)->spi_mcr = spi_mcr.d32;
449 }
450 
451 /**
452  * @brief  Get the value of @ref spi_mcr_data.mh.
453  * @param  [in]  bus The index of spi.
454  * @return The value of @ref spi_mcr_data.mh.
455  */
hal_spi_v151_spi_mcr_get_mh(spi_bus_t bus)456 static inline uint32_t hal_spi_v151_spi_mcr_get_mh(spi_bus_t bus)
457 {
458     spi_mcr_data_t spi_mcr;
459     spi_mcr.d32 = spis_v151_regs(bus)->spi_mcr;
460     return spi_mcr.b.mh;
461 }
462 
463 /**
464  * @brief  Set the value of @ref spi_mcr_data.mh.
465  * @param  [in]  bus The index of spi.
466  * @param  [in]  val The value of @ref spi_mcr_data.mh.
467  */
hal_spi_v151_spi_mcr_set_mh(spi_bus_t bus,uint32_t val)468 static inline void hal_spi_v151_spi_mcr_set_mh(spi_bus_t bus, uint32_t val)
469 {
470     spi_mcr_data_t spi_mcr;
471     spi_mcr.d32 = spis_v151_regs(bus)->spi_mcr;
472     spi_mcr.b.mh = val;
473     spis_v151_regs(bus)->spi_mcr = spi_mcr.d32;
474 }
475 
476 /**
477  * @brief  Get the value of @ref spi_slenr_data.ssef.
478  * @param  [in]  bus The index of spi.
479  * @return The value of @ref spi_slenr_data.ssef.
480  */
hal_spi_v151_spi_slenr_get_ssef(spi_bus_t bus)481 static inline uint32_t hal_spi_v151_spi_slenr_get_ssef(spi_bus_t bus)
482 {
483     spi_slenr_data_t spi_slenr;
484     spi_slenr.d32 = spis_v151_regs(bus)->spi_slenr;
485     return spi_slenr.b.ssef;
486 }
487 
488 /**
489  * @brief  Set the value of @ref spi_slenr_data.ssef.
490  * @param  [in]  bus The index of spi.
491  * @param  [in]  val The value of @ref spi_slenr_data.ssef.
492  */
hal_spi_ser_set_ser(spi_bus_t bus,uint32_t val)493 static inline void hal_spi_ser_set_ser(spi_bus_t bus, uint32_t val)
494 {
495     spi_slenr_data_t spi_slenr;
496     spi_slenr.d32 = spis_v151_regs(bus)->spi_slenr;
497     spi_slenr.b.ssef = val;
498     spis_v151_regs(bus)->spi_slenr = spi_slenr.d32;
499 }
500 
501 /**
502  * @brief  Get the value of @ref spi_brs_data.frdv.
503  * @param  [in]  bus The index of spi.
504  * @return The value of @ref spi_brs_data.frdv.
505  */
hal_spi_v151_spi_brs_get_frdv(spi_bus_t bus)506 static inline uint32_t hal_spi_v151_spi_brs_get_frdv(spi_bus_t bus)
507 {
508     spi_brs_data_t spi_brs;
509     spi_brs.d32 = spis_v151_regs(bus)->spi_brs;
510     return spi_brs.b.frdv;
511 }
512 
513 /**
514  * @brief  Set the value of @ref spi_brs_data.frdv.
515  * @param  [in]  bus The index of spi.
516  * @param  [in]  val The value of @ref spi_brs_data.frdv.
517  */
hal_spi_baudr_set_sckdv(spi_bus_t bus,uint32_t val)518 static inline void hal_spi_baudr_set_sckdv(spi_bus_t bus, uint32_t val)
519 {
520     spi_brs_data_t spi_brs;
521     spi_brs.d32 = spis_v151_regs(bus)->spi_brs;
522     spi_brs.b.frdv = val;
523     spis_v151_regs(bus)->spi_brs = spi_brs.d32;
524 }
525 
526 /**
527  * @brief  Get the value of @ref spi_twlr_data.twl.
528  * @param  [in]  bus The index of spi.
529  * @return The value of @ref spi_twlr_data.twl.
530  */
hal_spi_v151_spi_twlr_get_twl(spi_bus_t bus)531 static inline uint32_t hal_spi_v151_spi_twlr_get_twl(spi_bus_t bus)
532 {
533     spi_twlr_data_t spi_twlr;
534     spi_twlr.d32 = spis_v151_regs(bus)->spi_twlr;
535     return spi_twlr.b.twl;
536 }
537 
538 /**
539  * @brief  Set the value of @ref spi_twlr_data.twl.
540  * @param  [in]  bus The index of spi.
541  * @param  [in]  val The value of @ref spi_twlr_data.twl.
542  */
hal_spi_txftlr_set_tft(spi_bus_t bus,uint32_t val)543 static inline void hal_spi_txftlr_set_tft(spi_bus_t bus, uint32_t val)
544 {
545     spi_twlr_data_t spi_twlr;
546     spi_twlr.d32 = spis_v151_regs(bus)->spi_twlr;
547     spi_twlr.b.twl = val;
548     spis_v151_regs(bus)->spi_twlr = spi_twlr.d32;
549 }
550 
551 /**
552  * @brief  Get the value of @ref spi_rwlr_data.rwl.
553  * @param  [in]  bus The index of spi.
554  * @return The value of @ref spi_rwlr_data.rwl.
555  */
hal_spi_v151_spi_rwlr_get_rwl(spi_bus_t bus)556 static inline uint32_t hal_spi_v151_spi_rwlr_get_rwl(spi_bus_t bus)
557 {
558     spi_rwlr_data_t spi_rwlr;
559     spi_rwlr.d32 = spis_v151_regs(bus)->spi_rwlr;
560     return spi_rwlr.b.rwl;
561 }
562 
563 /**
564  * @brief  Set the value of @ref spi_rwlr_data.rwl.
565  * @param  [in]  bus The index of spi.
566  * @param  [in]  val The value of @ref spi_rwlr_data.rwl.
567  */
hal_spi_rxftlr_set_rft(spi_bus_t bus,uint32_t val)568 static inline void hal_spi_rxftlr_set_rft(spi_bus_t bus, uint32_t val)
569 {
570     spi_rwlr_data_t spi_rwlr;
571     spi_rwlr.d32 = spis_v151_regs(bus)->spi_rwlr;
572     spi_rwlr.b.rwl = val;
573     spis_v151_regs(bus)->spi_rwlr = spi_rwlr.d32;
574 }
575 
576 /**
577  * @brief  Get the value of @ref spi_tlr_data.tfl.
578  * @param  [in]  bus The index of spi.
579  * @return The value of @ref spi_tlr_data.tfl.
580  */
hal_spi_txflr_get_txtfl(spi_bus_t bus)581 static inline uint32_t hal_spi_txflr_get_txtfl(spi_bus_t bus)
582 {
583     spi_tlr_data_t spi_tlr;
584     spi_tlr.d32 = spis_v151_regs(bus)->spi_tlr;
585     return spi_tlr.b.tfl;
586 }
587 
588 /**
589  * @brief  Get the value of @ref spi_rlr_data.rfl.
590  * @param  [in]  bus The index of spi.
591  * @return The value of @ref spi_rlr_data.rfl.
592  */
hal_spi_rxflr_get_rxtfl(spi_bus_t bus)593 static inline uint32_t hal_spi_rxflr_get_rxtfl(spi_bus_t bus)
594 {
595     spi_rlr_data_t spi_rlr;
596     spi_rlr.d32 = spis_v151_regs(bus)->spi_rlr;
597     return spi_rlr.b.rfl;
598 }
599 
600 /**
601  * @brief  Get the value of @ref spi_wsr_data.sbf.
602  * @param  [in]  bus The index of spi.
603  * @return The value of @ref spi_wsr_data.sbf.
604  */
hal_spi_sr_get_busy(spi_bus_t bus)605 static inline uint32_t hal_spi_sr_get_busy(spi_bus_t bus)
606 {
607     spi_wsr_data_t spi_wsr;
608     spi_wsr.d32 = spis_v151_regs(bus)->spi_wsr;
609     return spi_wsr.b.sbf;
610 }
611 
612 /**
613  * @brief  Get the value of @ref spi_wsr_data.tfnf.
614  * @param  [in]  bus The index of spi.
615  * @return The value of @ref spi_wsr_data.tfnf.
616  */
hal_spi_v151_spi_wsr_get_tfnf(spi_bus_t bus)617 static inline uint32_t hal_spi_v151_spi_wsr_get_tfnf(spi_bus_t bus)
618 {
619     spi_wsr_data_t spi_wsr;
620     spi_wsr.d32 = spis_v151_regs(bus)->spi_wsr;
621     return spi_wsr.b.tfnf;
622 }
623 
624 /**
625  * @brief  Get the value of @ref spi_wsr_data.tfe.
626  * @param  [in]  bus The index of spi.
627  * @return The value of @ref spi_wsr_data.tfe.
628  */
hal_spi_v151_spi_wsr_get_tfe(spi_bus_t bus)629 static inline uint32_t hal_spi_v151_spi_wsr_get_tfe(spi_bus_t bus)
630 {
631     spi_wsr_data_t spi_wsr;
632     spi_wsr.d32 = spis_v151_regs(bus)->spi_wsr;
633     return spi_wsr.b.tfe;
634 }
635 
636 /**
637  * @brief  Get the value of @ref spi_wsr_data.rfne.
638  * @param  [in]  bus The index of spi.
639  * @return The value of @ref spi_wsr_data.rfne.
640  */
hal_spi_v151_spi_wsr_get_rfne(spi_bus_t bus)641 static inline uint32_t hal_spi_v151_spi_wsr_get_rfne(spi_bus_t bus)
642 {
643     spi_wsr_data_t spi_wsr;
644     spi_wsr.d32 = spis_v151_regs(bus)->spi_wsr;
645     return spi_wsr.b.rfne;
646 }
647 
648 /**
649  * @brief  Get the value of @ref spi_wsr_data.rffe.
650  * @param  [in]  bus The index of spi.
651  * @return The value of @ref spi_wsr_data.rffe.
652  */
hal_spi_v151_spi_wsr_get_rffe(spi_bus_t bus)653 static inline uint32_t hal_spi_v151_spi_wsr_get_rffe(spi_bus_t bus)
654 {
655     spi_wsr_data_t spi_wsr;
656     spi_wsr.d32 = spis_v151_regs(bus)->spi_wsr;
657     return spi_wsr.b.rffe;
658 }
659 
660 /**
661  * @brief  Get the value of @ref spi_wsr_data.dcfe_tfee.
662  * @param  [in]  bus The index of spi.
663  * @return The value of @ref spi_wsr_data.dcfe_tfee.
664  */
hal_spi_v151_spi_wsr_get_dcfe_tfee(spi_bus_t bus)665 static inline uint32_t hal_spi_v151_spi_wsr_get_dcfe_tfee(spi_bus_t bus)
666 {
667     spi_wsr_data_t spi_wsr;
668     spi_wsr.d32 = spis_v151_regs(bus)->spi_wsr;
669     return spi_wsr.b.dcfe_tfee;
670 }
671 
672 /**
673  * @brief  Get the register address of ssi interrupt set interface.
674  * @param  [in]  bus The index of spi.
675  * @param  [in]  reg The register need to get.
676  * @return The register address of ssi interrupt set interface.
677  */
678 volatile uint32_t *hal_spi_v151_int_set_reg(spi_bus_t bus, spi_v151_int_reg_t reg);
679 
680 /**
681  * @brief  Get the register address of ssi interrupt get interface.
682  * @param  [in]  bus The index of spi.
683  * @param  [in]  reg The register need to get.
684  * @return The register address of ssi interrupt get interface.
685  */
686 volatile uint32_t *hal_spi_v151_int_get_reg(spi_bus_t bus, spi_v151_int_reg_t reg);
687 
688 /**
689  * @brief  Set the value of @ref spi_v151_interrupt_data
690  * @param  [in]  bus The index of spi.
691  * @param  [in]  reg The register need to set.
692  * @param  [in]  val The value of @ref spi_v151_interrupt_data.
693  */
hal_spi_v151_int_set(spi_bus_t bus,spi_v151_int_reg_t reg,uint32_t val)694 static inline void hal_spi_v151_int_set(spi_bus_t bus, spi_v151_int_reg_t reg, uint32_t val)
695 {
696     union spi_v151_interrupt_data data;
697     volatile uint32_t *reg_addr = hal_spi_v151_int_set_reg(bus, reg);
698 
699     data.d32 = val;
700     if (reg_addr) {
701         *reg_addr = data.d32;
702     }
703 }
704 
705 /**
706  * @brief  Set the value of @ref spi_v151_interrupt_data.tfeis.
707  * @param  [in]  bus The index of spi.
708  * @param  [in]  reg The register need to set.
709  * @param  [in]  val The value of @ref spi_v151_interrupt_data.tfeis.
710  */
hal_spi_v151_int_set_tfeis(spi_bus_t bus,spi_v151_int_reg_t reg,uint32_t val)711 static inline void hal_spi_v151_int_set_tfeis(spi_bus_t bus, spi_v151_int_reg_t reg, uint32_t val)
712 {
713     union spi_v151_interrupt_data data;
714     volatile uint32_t *reg_addr = hal_spi_v151_int_set_reg(bus, reg);
715 
716     data.d32 = *reg_addr;
717     data.b.tfeis = val;
718     *reg_addr = data.d32;
719 }
720 
721 /**
722  * @brief  Get the value of @ref spi_v151_interrupt_data.tfeis.
723  * @param  [in]  bus The index of spi.
724  * @param  [in]  reg The register need to get.
725  * @return The value of @ref spi_v151_interrupt_data.tfeis.
726  */
hal_spi_v151_int_get_tfeis(spi_bus_t bus,spi_v151_int_reg_t reg)727 static inline uint32_t hal_spi_v151_int_get_tfeis(spi_bus_t bus, spi_v151_int_reg_t reg)
728 {
729     union spi_v151_interrupt_data data;
730     volatile uint32_t *reg_addr = hal_spi_v151_int_get_reg(bus, reg);
731 
732     data.d32 = *reg_addr;
733     return data.b.tfeis;
734 }
735 
736 /**
737  * @brief  Set the value of @ref spi_v151_interrupt_data.tfofis.
738  * @param  [in]  bus The index of spi.
739  * @param  [in]  reg The register need to set.
740  * @param  [in]  val The value of @ref spi_v151_interrupt_data.tfofis.
741  */
hal_spi_v151_int_set_tfofis(spi_bus_t bus,spi_v151_int_reg_t reg,uint32_t val)742 static inline void hal_spi_v151_int_set_tfofis(spi_bus_t bus, spi_v151_int_reg_t reg, uint32_t val)
743 {
744     union spi_v151_interrupt_data data;
745     volatile uint32_t *reg_addr = hal_spi_v151_int_set_reg(bus, reg);
746 
747     data.d32 = *reg_addr;
748     data.b.tfofis = val;
749     *reg_addr = data.d32;
750 }
751 
752 /**
753  * @brief  Get the value of @ref spi_v151_interrupt_data.tfofis.
754  * @param  [in]  bus The index of spi.
755  * @param  [in]  reg The register need to get.
756  * @return The value of @ref spi_v151_interrupt_data.tfofis.
757  */
hal_spi_v151_int_get_tfofis(spi_bus_t bus,spi_v151_int_reg_t reg)758 static inline uint32_t hal_spi_v151_int_get_tfofis(spi_bus_t bus, spi_v151_int_reg_t reg)
759 {
760     union spi_v151_interrupt_data data;
761     volatile uint32_t *reg_addr = hal_spi_v151_int_get_reg(bus, reg);
762 
763     data.d32 = *reg_addr;
764     return data.b.tfofis;
765 }
766 
767 /**
768  * @brief  Set the value of @ref spi_v151_interrupt_data.rfufis.
769  * @param  [in]  bus The index of spi.
770  * @param  [in]  reg The register need to set.
771  * @param  [in]  val The value of @ref spi_v151_interrupt_data.rfufis.
772  */
hal_spi_v151_int_set_rfufis(spi_bus_t bus,spi_v151_int_reg_t reg,uint32_t val)773 static inline void hal_spi_v151_int_set_rfufis(spi_bus_t bus, spi_v151_int_reg_t reg, uint32_t val)
774 {
775     union spi_v151_interrupt_data data;
776     volatile uint32_t *reg_addr = hal_spi_v151_int_set_reg(bus, reg);
777 
778     data.d32 = *reg_addr;
779     data.b.rfufis = val;
780     *reg_addr = data.d32;
781 }
782 
783 /**
784  * @brief  Get the value of @ref spi_v151_interrupt_data.rfufis.
785  * @param  [in]  bus The index of spi.
786  * @param  [in]  reg The register need to get.
787  * @return The value of @ref spi_v151_interrupt_data.rfufis.
788  */
hal_spi_v151_int_get_rfufis(spi_bus_t bus,spi_v151_int_reg_t reg)789 static inline uint32_t hal_spi_v151_int_get_rfufis(spi_bus_t bus, spi_v151_int_reg_t reg)
790 {
791     union spi_v151_interrupt_data data;
792     volatile uint32_t *reg_addr = hal_spi_v151_int_get_reg(bus, reg);
793 
794     data.d32 = *reg_addr;
795     return data.b.rfufis;
796 }
797 
798 /**
799  * @brief  Set the value of @ref spi_v151_interrupt_data.rfofis.
800  * @param  [in]  bus The index of spi.
801  * @param  [in]  reg The register need to set.
802  * @param  [in]  val The value of @ref spi_v151_interrupt_data.rfofis.
803  */
hal_spi_v151_int_set_rfofis(spi_bus_t bus,spi_v151_int_reg_t reg,uint32_t val)804 static inline void hal_spi_v151_int_set_rfofis(spi_bus_t bus, spi_v151_int_reg_t reg, uint32_t val)
805 {
806     union spi_v151_interrupt_data data;
807     volatile uint32_t *reg_addr = hal_spi_v151_int_set_reg(bus, reg);
808 
809     data.d32 = *reg_addr;
810     data.b.rfofis = val;
811     *reg_addr = data.d32;
812 }
813 
814 /**
815  * @brief  Get the value of @ref spi_v151_interrupt_data.rfofis.
816  * @param  [in]  bus The index of spi.
817  * @param  [in]  reg The register need to get.
818  * @return The value of @ref spi_v151_interrupt_data.rfofis.
819  */
hal_spi_v151_int_get_rfofis(spi_bus_t bus,spi_v151_int_reg_t reg)820 static inline uint32_t hal_spi_v151_int_get_rfofis(spi_bus_t bus, spi_v151_int_reg_t reg)
821 {
822     union spi_v151_interrupt_data data;
823     volatile uint32_t *reg_addr = hal_spi_v151_int_get_reg(bus, reg);
824 
825     data.d32 = *reg_addr;
826     return data.b.rfofis;
827 }
828 
829 /**
830  * @brief  Set the value of @ref spi_v151_interrupt_data.rffis.
831  * @param  [in]  bus The index of spi.
832  * @param  [in]  reg The register need to set.
833  * @param  [in]  val The value of @ref spi_v151_interrupt_data.rffis.
834  */
hal_spi_v151_int_set_rffis(spi_bus_t bus,spi_v151_int_reg_t reg,uint32_t val)835 static inline void hal_spi_v151_int_set_rffis(spi_bus_t bus, spi_v151_int_reg_t reg, uint32_t val)
836 {
837     union spi_v151_interrupt_data data;
838     volatile uint32_t *reg_addr = hal_spi_v151_int_set_reg(bus, reg);
839 
840     data.d32 = *reg_addr;
841     data.b.rffis = val;
842     *reg_addr = data.d32;
843 }
844 
845 /**
846  * @brief  Get the value of @ref spi_v151_interrupt_data.rffis.
847  * @param  [in]  bus The index of spi.
848  * @param  [in]  reg The register need to get.
849  * @return The value of @ref spi_v151_interrupt_data.rffis.
850  */
hal_spi_v151_int_get_rffis(spi_bus_t bus,spi_v151_int_reg_t reg)851 static inline uint32_t hal_spi_v151_int_get_rffis(spi_bus_t bus, spi_v151_int_reg_t reg)
852 {
853     union spi_v151_interrupt_data data;
854     volatile uint32_t *reg_addr = hal_spi_v151_int_get_reg(bus, reg);
855 
856     data.d32 = *reg_addr;
857     return data.b.rffis;
858 }
859 
860 /**
861  * @brief  Set the value of @ref spi_v151_interrupt_data.mmcris.
862  * @param  [in]  bus The index of spi.
863  * @param  [in]  reg The register need to set.
864  * @param  [in]  val The value of @ref spi_v151_interrupt_data.mmcris.
865  */
hal_spi_v151_int_set_mmcris(spi_bus_t bus,spi_v151_int_reg_t reg,uint32_t val)866 static inline void hal_spi_v151_int_set_mmcris(spi_bus_t bus, spi_v151_int_reg_t reg, uint32_t val)
867 {
868     union spi_v151_interrupt_data data;
869     volatile uint32_t *reg_addr = hal_spi_v151_int_set_reg(bus, reg);
870 
871     data.d32 = *reg_addr;
872     data.b.mmcris = val;
873     *reg_addr = data.d32;
874 }
875 
876 /**
877  * @brief  Get the value of @ref spi_v151_interrupt_data.mmcris.
878  * @param  [in]  bus The index of spi.
879  * @param  [in]  reg The register need to get.
880  * @return The value of @ref spi_v151_interrupt_data.mmcris.
881  */
hal_spi_v151_int_get_mmcris(spi_bus_t bus,spi_v151_int_reg_t reg)882 static inline uint32_t hal_spi_v151_int_get_mmcris(spi_bus_t bus, spi_v151_int_reg_t reg)
883 {
884     union spi_v151_interrupt_data data;
885     volatile uint32_t *reg_addr = hal_spi_v151_int_get_reg(bus, reg);
886 
887     data.d32 = *reg_addr;
888     return data.b.mmcris;
889 }
890 
891 /**
892  * @brief  Get the value of spi_tfoficr @ref spi_tfoficr_data_t.
893  * @param  [in]  bus The index of spi.
894  * @return The value of spi_tfoficr @ref spi_tfoficr_data_t.
895  */
hal_spi_v151_spi_tfoficr_get_spi_tfoficr(spi_bus_t bus)896 static inline uint32_t hal_spi_v151_spi_tfoficr_get_spi_tfoficr(spi_bus_t bus)
897 {
898     spi_tfoficr_data_t spi_tfoficr;
899     spi_tfoficr.d32 = spis_v151_regs(bus)->spi_tfoficr;
900     return spi_tfoficr.b.cis;
901 }
902 
903 /**
904  * @brief  Get the value of spi_rxoicr @ref spi_rxoicr_data_t.
905  * @param  [in]  bus The index of spi.
906  * @return The value of spi_rxoicr @ref spi_rxoicr_data_t.
907  */
hal_spi_v151_spi_rxoicr_get_spi_rxoicr(spi_bus_t bus)908 static inline uint32_t hal_spi_v151_spi_rxoicr_get_spi_rxoicr(spi_bus_t bus)
909 {
910     spi_rxoicr_data_t spi_rxoicr;
911     spi_rxoicr.d32 = spis_v151_regs(bus)->spi_rxoicr;
912     return spi_rxoicr.b.cis;
913 }
914 
915 /**
916  * @brief  Get the value of spi_rfficr @ref spi_rfficr_data_t.
917  * @param  [in]  bus The index of spi.
918  * @return The value of spi_rfficr @ref spi_rfficr_data_t.
919  */
hal_spi_v151_spi_rfficr_get_spi_rfficr(spi_bus_t bus)920 static inline uint32_t hal_spi_v151_spi_rfficr_get_spi_rfficr(spi_bus_t bus)
921 {
922     spi_rfficr_data_t spi_rfficr;
923     spi_rfficr.d32 = spis_v151_regs(bus)->spi_rfficr;
924     return spi_rfficr.b.cis;
925 }
926 
927 /**
928  * @brief  Get the value of spi_msticr @ref spi_msticr_data_t.
929  * @param  [in]  bus The index of spi.
930  * @return The value of spi_msticr @ref spi_msticr_data_t.
931  */
hal_spi_v151_spi_msticr_get_spi_msticr(spi_bus_t bus)932 static inline uint32_t hal_spi_v151_spi_msticr_get_spi_msticr(spi_bus_t bus)
933 {
934     spi_msticr_data_t spi_msticr;
935     spi_msticr.d32 = spis_v151_regs(bus)->spi_msticr;
936     return spi_msticr.b.cis;
937 }
938 
939 /**
940  * @brief  Get the value of @ref spi_icr_data.cis.
941  * @param  [in]  bus The index of spi.
942  * @return The value of @ref spi_icr_data.cis.
943  */
hal_spi_v151_spi_icr_get_cis(spi_bus_t bus)944 static inline uint32_t hal_spi_v151_spi_icr_get_cis(spi_bus_t bus)
945 {
946     spi_icr_data_t spi_icr;
947     spi_icr.d32 = spis_v151_regs(bus)->spi_icr;
948     return spi_icr.b.cis;
949 }
950 
951 /**
952  * @brief  Get the value of @ref spi_dcr_data.rden.
953  * @param  [in]  bus The index of spi.
954  * @return The value of @ref spi_dcr_data.rden.
955  */
hal_spi_v151_spi_dcr_get_rden(spi_bus_t bus)956 static inline uint32_t hal_spi_v151_spi_dcr_get_rden(spi_bus_t bus)
957 {
958     spi_dcr_data_t spi_dcr;
959     spi_dcr.d32 = spis_v151_regs(bus)->spi_dcr;
960     return spi_dcr.b.rden;
961 }
962 
963 /**
964  * @brief  Set the value of @ref spi_dcr_data.rden.
965  * @param  [in]  bus The index of spi.
966  * @param  [in]  val The value of @ref spi_dcr_data.rden.
967  */
hal_spi_dmacr_set_rdmae(spi_bus_t bus,uint32_t val)968 static inline void hal_spi_dmacr_set_rdmae(spi_bus_t bus, uint32_t val)
969 {
970     spi_dcr_data_t spi_dcr;
971     spi_dcr.d32 = spis_v151_regs(bus)->spi_dcr;
972     spi_dcr.b.rden = val;
973     spis_v151_regs(bus)->spi_dcr = spi_dcr.d32;
974 }
975 
976 /**
977  * @brief  Get the value of @ref spi_dcr_data.tden.
978  * @param  [in]  bus The index of spi.
979  * @return The value of @ref spi_dcr_data.tden.
980  */
hal_spi_v151_spi_dcr_get_tden(spi_bus_t bus)981 static inline uint32_t hal_spi_v151_spi_dcr_get_tden(spi_bus_t bus)
982 {
983     spi_dcr_data_t spi_dcr;
984     spi_dcr.d32 = spis_v151_regs(bus)->spi_dcr;
985     return spi_dcr.b.tden;
986 }
987 
988 /**
989  * @brief  Set the value of @ref spi_dcr_data.tden.
990  * @param  [in]  bus The index of spi.
991  * @param  [in]  val The value of @ref spi_dcr_data.tden.
992  */
hal_spi_v151_spi_dcr_set_tden(spi_bus_t bus,uint32_t val)993 static inline void hal_spi_v151_spi_dcr_set_tden(spi_bus_t bus, uint32_t val)
994 {
995     spi_dcr_data_t spi_dcr;
996     spi_dcr.d32 = spis_v151_regs(bus)->spi_dcr;
997     spi_dcr.b.tden = val;
998     spis_v151_regs(bus)->spi_dcr = spi_dcr.d32;
999 }
1000 
1001 /**
1002  * @brief  Get the value of dmatdl @ref spi_drdl_data_t.
1003  * @param  [in]  bus The index of spi.
1004  * @return The value of dmatdl @ref spi_drdl_data_t.
1005  */
hal_spi_v151_spi_drdl_data_get_dl(spi_bus_t bus)1006 static inline uint32_t hal_spi_v151_spi_drdl_data_get_dl(spi_bus_t bus)
1007 {
1008     spi_drdl_data_t spi_drdl;
1009     spi_drdl.d32 = spis_v151_regs(bus)->spi_drdl;
1010     return spi_drdl.b.dl;
1011 }
1012 
1013 /**
1014  * @brief  Set the value of dmatdl @ref spi_drdl_data_t.
1015  * @param  [in]  bus The index of spi.
1016  * @param  [in]  val The value of dmatdl @ref spi_drdl_data_t.
1017  */
hal_spi_dmardlr_set_dmardl(spi_bus_t bus,uint32_t val)1018 static inline void hal_spi_dmardlr_set_dmardl(spi_bus_t bus, uint32_t val)
1019 {
1020     spi_drdl_data_t spi_drdl;
1021     spi_drdl.d32 = spis_v151_regs(bus)->spi_drdl;
1022     spi_drdl.b.dl = val;
1023     spis_v151_regs(bus)->spi_drdl = spi_drdl.d32;
1024 }
1025 
1026 /**
1027  * @brief  Get the value of dmardl @ref spi_dtdl_data_t.
1028  * @param  [in]  bus The index of spi.
1029  * @return The value of dmardl @ref spi_dtdl_data_t.
1030  */
hal_spi_v151_spi_dtdl_data_get_dl(spi_bus_t bus)1031 static inline uint32_t hal_spi_v151_spi_dtdl_data_get_dl(spi_bus_t bus)
1032 {
1033     spi_dtdl_data_t spi_dtdl;
1034     spi_dtdl.d32 = spis_v151_regs(bus)->spi_dtdl;
1035     return spi_dtdl.b.dl;
1036 }
1037 
1038 /**
1039  * @brief  Set the value of dmardl @ref spi_dtdl_data_t.
1040  * @param  [in]  bus The index of spi.
1041  * @param  [in]  val The value of dmardl @ref spi_dtdl_data_t.
1042  */
hal_spi_v151_spi_dtdl_data_set_dl(spi_bus_t bus,uint32_t val)1043 static inline void hal_spi_v151_spi_dtdl_data_set_dl(spi_bus_t bus, uint32_t val)
1044 {
1045     spi_dtdl_data_t spi_dtdl;
1046     spi_dtdl.d32 = spis_v151_regs(bus)->spi_dtdl;
1047     spi_dtdl.b.dl = val;
1048     spis_v151_regs(bus)->spi_dtdl = spi_dtdl.d32;
1049 }
1050 
1051 /**
1052  * @brief  Get the value of @ref spi_id_data.id.
1053  * @param  [in]  bus The index of spi.
1054  * @return The value of @ref spi_id_data.id.
1055  */
hal_spi_v151_spi_id_get_id(spi_bus_t bus)1056 static inline uint32_t hal_spi_v151_spi_id_get_id(spi_bus_t bus)
1057 {
1058     spi_id_data_t spi_id;
1059     spi_id.d32 = spis_v151_regs(bus)->spi_id;
1060     return spi_id.b.id;
1061 }
1062 
1063 /**
1064  * @brief  Get data from data register.
1065  * @param  [in]  bus The index of spi.
1066  * @return The data from data register.
1067  */
hal_spi_dr_get_dr(spi_bus_t bus)1068 static inline uint32_t hal_spi_dr_get_dr(spi_bus_t bus)
1069 {
1070     return spis_v151_regs(bus)->spi_drnm[0];
1071 }
1072 
1073 /**
1074  * @brief  Set data into data register.
1075  * @param  [in]  bus The index of spi.
1076  * @param  [in]  val The data need to set into data register.
1077  */
hal_spi_dr_set_dr(spi_bus_t bus,uint32_t val)1078 static inline void hal_spi_dr_set_dr(spi_bus_t bus, uint32_t val)
1079 {
1080     spis_v151_regs(bus)->spi_drnm[0] = val;
1081 }
1082 
1083 /**
1084  * @brief  Get the value of @ref spi_rsdr_data.rxdsd.
1085  * @param  [in]  bus The index of spi.
1086  * @return The value of @ref spi_rsdr_data.rxdsd.
1087  */
hal_spi_v151_spi_rsdr_data_get_rxdsd(spi_bus_t bus)1088 static inline uint32_t hal_spi_v151_spi_rsdr_data_get_rxdsd(spi_bus_t bus)
1089 {
1090     spi_rsdr_data_t spi_rsdr;
1091     spi_rsdr.d32 = spis_v151_regs(bus)->spi_rsdr;
1092     return spi_rsdr.b.rxdsd;
1093 }
1094 
1095 /**
1096  * @brief  Set the value of @ref spi_rsdr_data.rxdsd.
1097  * @param  [in]  bus The index of spi.
1098  * @param  [in]  val The value of @ref spi_rsdr_data.rxdsd.
1099  */
hal_spi_rx_sample_dly_set_rsd(spi_bus_t bus,uint32_t val)1100 static inline void hal_spi_rx_sample_dly_set_rsd(spi_bus_t bus, uint32_t val)
1101 {
1102     spi_rsdr_data_t spi_rsdr;
1103     spi_rsdr.d32 = spis_v151_regs(bus)->spi_rsdr;
1104     spi_rsdr.b.rxdsd = val;
1105     spis_v151_regs(bus)->spi_rsdr = spi_rsdr.d32;
1106 }
1107 
1108 /**
1109  * @brief  Get the value of @ref spi_enhctl_data.
1110  * @param  [in]  bus The index of spi.
1111  * @return The value of @ref spi_enhctl_data.
1112  */
hal_spi_v151_spi_enhctl_get(spi_bus_t bus)1113 static inline uint32_t hal_spi_v151_spi_enhctl_get(spi_bus_t bus)
1114 {
1115     spi_enhctl_data_t spi_enhctl;
1116     spi_enhctl.d32 = spis_v151_regs(bus)->spi_enhctl;
1117     return spi_enhctl.d32;
1118 }
1119 
1120 /**
1121  * @brief  Set the value of @ref spi_enhctl_data.
1122  * @param  [in]  bus The index of spi.
1123  * @param  [in]  val The value of @ref spi_enhctl_data.
1124  */
hal_spi_v151_spi_enhctl_set(spi_bus_t bus,uint32_t val)1125 static inline void hal_spi_v151_spi_enhctl_set(spi_bus_t bus, uint32_t val)
1126 {
1127     spi_enhctl_data_t spi_enhctl;
1128     spi_enhctl.d32 = val;
1129     spis_v151_regs(bus)->spi_enhctl = spi_enhctl.d32;
1130 }
1131 
1132 /**
1133  * @brief  Get the value of @ref spi_enhctl_data.aaitf.
1134  * @param  [in]  bus The index of spi.
1135  * @return The value of @ref spi_enhctl_data.aaitf.
1136  */
hal_spi_v151_spi_enhctl_get_aaitf(spi_bus_t bus)1137 static inline uint32_t hal_spi_v151_spi_enhctl_get_aaitf(spi_bus_t bus)
1138 {
1139     spi_enhctl_data_t spi_enhctl;
1140     spi_enhctl.d32 = spis_v151_regs(bus)->spi_enhctl;
1141     return spi_enhctl.b.aaitf;
1142 }
1143 
1144 /**
1145  * @brief  Set the value of @ref spi_enhctl_data.aaitf.
1146  * @param  [in]  bus The index of spi.
1147  * @param  [in]  val The value of @ref spi_enhctl_data.aaitf.
1148  */
hal_spi_v151_spi_enhctl_set_aaitf(spi_bus_t bus,uint32_t val)1149 static inline void hal_spi_v151_spi_enhctl_set_aaitf(spi_bus_t bus, uint32_t val)
1150 {
1151     spi_enhctl_data_t spi_enhctl;
1152     spi_enhctl.d32 = spis_v151_regs(bus)->spi_enhctl;
1153     spi_enhctl.b.aaitf = val;
1154     spis_v151_regs(bus)->spi_enhctl = spi_enhctl.d32;
1155 }
1156 
1157 /**
1158  * @brief  Get the value of @ref spi_enhctl_data.addrlen.
1159  * @param  [in]  bus The index of spi.
1160  * @return The value of @ref spi_enhctl_data.addrlen.
1161  */
hal_spi_v151_spi_enhctl_get_addrlen(spi_bus_t bus)1162 static inline uint32_t hal_spi_v151_spi_enhctl_get_addrlen(spi_bus_t bus)
1163 {
1164     spi_enhctl_data_t spi_enhctl;
1165     spi_enhctl.d32 = spis_v151_regs(bus)->spi_enhctl;
1166     return spi_enhctl.b.addrlen;
1167 }
1168 
1169 /**
1170  * @brief  Set the value of @ref spi_enhctl_data.addrlen.
1171  * @param  [in]  bus The index of spi.
1172  * @param  [in]  val The value of @ref spi_enhctl_data.addrlen.
1173  */
hal_spi_v151_spi_enhctl_set_addrlen(spi_bus_t bus,uint32_t val)1174 static inline void hal_spi_v151_spi_enhctl_set_addrlen(spi_bus_t bus, uint32_t val)
1175 {
1176     spi_enhctl_data_t spi_enhctl;
1177     spi_enhctl.d32 = spis_v151_regs(bus)->spi_enhctl;
1178     spi_enhctl.b.addrlen = val;
1179     spis_v151_regs(bus)->spi_enhctl = spi_enhctl.d32;
1180 }
1181 
1182 /**
1183  * @brief  Get the value of @ref spi_enhctl_data.ilen.
1184  * @param  [in]  bus The index of spi.
1185  * @return The value of @ref spi_enhctl_data.ilen.
1186  */
hal_spi_v151_spi_enhctl_get_ilen(spi_bus_t bus)1187 static inline uint32_t hal_spi_v151_spi_enhctl_get_ilen(spi_bus_t bus)
1188 {
1189     spi_enhctl_data_t spi_enhctl;
1190     spi_enhctl.d32 = spis_v151_regs(bus)->spi_enhctl;
1191     return spi_enhctl.b.ilen;
1192 }
1193 
1194 /**
1195  * @brief  Set the value of @ref spi_enhctl_data.ilen.
1196  * @param  [in]  bus The index of spi.
1197  * @param  [in]  val The value of @ref spi_enhctl_data.ilen.
1198  */
hal_spi_v151_spi_enhctl_set_ilen(spi_bus_t bus,uint32_t val)1199 static inline void hal_spi_v151_spi_enhctl_set_ilen(spi_bus_t bus, uint32_t val)
1200 {
1201     spi_enhctl_data_t spi_enhctl;
1202     spi_enhctl.d32 = spis_v151_regs(bus)->spi_enhctl;
1203     spi_enhctl.b.ilen = val;
1204     spis_v151_regs(bus)->spi_enhctl = spi_enhctl.d32;
1205 }
1206 
1207 /**
1208  * @brief  Get the value of @ref spi_enhctl_data.waitnum.
1209  * @param  [in]  bus The index of spi.
1210  * @return The value of @ref spi_enhctl_data.waitnum.
1211  */
hal_spi_v151_spi_enhctl_get_waitnum(spi_bus_t bus)1212 static inline uint32_t hal_spi_v151_spi_enhctl_get_waitnum(spi_bus_t bus)
1213 {
1214     spi_enhctl_data_t spi_enhctl;
1215     spi_enhctl.d32 = spis_v151_regs(bus)->spi_enhctl;
1216     return spi_enhctl.b.waitnum;
1217 }
1218 
1219 /**
1220  * @brief  Set the value of @ref spi_enhctl_data.waitnum.
1221  * @param  [in]  bus The index of spi.
1222  * @param  [in]  val The value of @ref spi_enhctl_data.waitnum.
1223  */
hal_spi_v151_spi_enhctl_set_waitnum(spi_bus_t bus,uint32_t val)1224 static inline void hal_spi_v151_spi_enhctl_set_waitnum(spi_bus_t bus, uint32_t val)
1225 {
1226     spi_enhctl_data_t spi_enhctl;
1227     spi_enhctl.d32 = spis_v151_regs(bus)->spi_enhctl;
1228     spi_enhctl.b.waitnum = val;
1229     spis_v151_regs(bus)->spi_enhctl = spi_enhctl.d32;
1230 }
1231 
1232 /**
1233  * @brief  Get the value of @ref spi_enhctl_data.iddren.
1234  * @param  [in]  bus The index of spi.
1235  * @return The value of @ref spi_enhctl_data.iddren.
1236  */
hal_spi_v151_spi_enhctl_get_iddren(spi_bus_t bus)1237 static inline uint32_t hal_spi_v151_spi_enhctl_get_iddren(spi_bus_t bus)
1238 {
1239     spi_enhctl_data_t spi_enhctl;
1240     spi_enhctl.d32 = spis_v151_regs(bus)->spi_enhctl;
1241     return spi_enhctl.b.iddren;
1242 }
1243 
1244 /**
1245  * @brief  Set the value of @ref spi_enhctl_data.iddren.
1246  * @param  [in]  bus The index of spi.
1247  * @param  [in]  val The value of @ref spi_enhctl_data.iddren.
1248  */
hal_spi_v151_spi_enhctl_set_iddren(spi_bus_t bus,uint32_t val)1249 static inline void hal_spi_v151_spi_enhctl_set_iddren(spi_bus_t bus, uint32_t val)
1250 {
1251     spi_enhctl_data_t spi_enhctl;
1252     spi_enhctl.d32 = spis_v151_regs(bus)->spi_enhctl;
1253     spi_enhctl.b.iddren = val;
1254     spis_v151_regs(bus)->spi_enhctl = spi_enhctl.d32;
1255 }
1256 
1257 /**
1258  * @brief  Get the value of @ref spi_enhctl_data.rdsen.
1259  * @param  [in]  bus The index of spi.
1260  * @return The value of @ref spi_enhctl_data.rdsen.
1261  */
hal_spi_v151_spi_enhctl_get_rdsen(spi_bus_t bus)1262 static inline uint32_t hal_spi_v151_spi_enhctl_get_rdsen(spi_bus_t bus)
1263 {
1264     spi_enhctl_data_t spi_enhctl;
1265     spi_enhctl.d32 = spis_v151_regs(bus)->spi_enhctl;
1266     return spi_enhctl.b.rdsen;
1267 }
1268 
1269 /**
1270  * @brief  Set the value of @ref spi_enhctl_data.rdsen.
1271  * @param  [in]  bus The index of spi.
1272  * @param  [in]  val The value of @ref spi_enhctl_data.rdsen.
1273  */
hal_spi_v151_spi_enhctl_set_rdsen(spi_bus_t bus,uint32_t val)1274 static inline void hal_spi_v151_spi_enhctl_set_rdsen(spi_bus_t bus, uint32_t val)
1275 {
1276     spi_enhctl_data_t spi_enhctl;
1277     spi_enhctl.d32 = spis_v151_regs(bus)->spi_enhctl;
1278     spi_enhctl.b.rdsen = val;
1279     spis_v151_regs(bus)->spi_enhctl = spi_enhctl.d32;
1280 }
1281 
1282 /**
1283  * @brief  Get the value of @ref spi_tder_data.txdde.
1284  * @param  [in]  bus The index of spi.
1285  * @return The value of @ref spi_tder_data.txdde.
1286  */
hal_spi_v151_spi_tder_data_get_txdde(spi_bus_t bus)1287 static inline uint32_t hal_spi_v151_spi_tder_data_get_txdde(spi_bus_t bus)
1288 {
1289     spi_tder_data_t spi_tder_data;
1290     spi_tder_data.d32 = spis_v151_regs(bus)->spi_tder;
1291     return spi_tder_data.b.txdde;
1292 }
1293 
1294 /**
1295  * @brief  Set the value of @ref spi_tder_data.txdde.
1296  * @param  [in]  bus The index of spi.
1297  * @param  [in]  val The value of @ref spi_tder_data.txdde.
1298  */
hal_spi_v151_spi_tder_data_set_txdde(spi_bus_t bus,uint32_t val)1299 static inline void hal_spi_v151_spi_tder_data_set_txdde(spi_bus_t bus, uint32_t val)
1300 {
1301     spi_tder_data_t spi_tder_data;
1302     spi_tder_data.d32 = spis_v151_regs(bus)->spi_tder;
1303     spi_tder_data.b.txdde = val;
1304     spis_v151_regs(bus)->spi_tder = spi_tder_data.d32;
1305 }
1306 
1307 /**
1308  * @brief  Set the value of @ref spi_inmar_data_t.rffis.
1309  * @param  [in]  bus The index of spi.
1310  * @param  [in]  val The value of @ref spi_inmar_data_t.rffis.
1311  */
hal_spi_v151_spi_inmar_set_rffis(spi_bus_t bus,uint32_t val)1312 static inline void hal_spi_v151_spi_inmar_set_rffis(spi_bus_t bus, uint32_t val)
1313 {
1314     spi_inmar_data_t spi_inmar_data;
1315     spi_inmar_data.d32 = spis_v151_regs(bus)->spi_inmar;
1316     spi_inmar_data.b.rffis = val;
1317     spis_v151_regs(bus)->spi_inmar = spi_inmar_data.d32;
1318 }
1319 
1320 /**
1321  * @brief  Set the value of @ref spi_inmar_data_t.tfeis.
1322  * @param  [in]  bus The index of spi.
1323  * @param  [in]  val The value of @ref spi_inmar_data_t.tfeis.
1324  */
hal_spi_v151_spi_inmar_set_tfeis(spi_bus_t bus,uint32_t val)1325 static inline void hal_spi_v151_spi_inmar_set_tfeis(spi_bus_t bus, uint32_t val)
1326 {
1327     spi_inmar_data_t spi_inmar_data;
1328     spi_inmar_data.d32 = spis_v151_regs(bus)->spi_inmar;
1329     spi_inmar_data.b.tfeis = val;
1330     spis_v151_regs(bus)->spi_inmar = spi_inmar_data.d32;
1331 }
1332 
1333 /**
1334  * @brief  Set the value of @ref spi_inmar_data_t.mmcris.
1335  * @param  [in]  bus The index of spi.
1336  * @param  [in]  val The value of @ref spi_inmar_data_t.mmcris.
1337  */
hal_spi_v151_spi_inmar_set_mmcris(spi_bus_t bus,uint32_t val)1338 static inline void hal_spi_v151_spi_inmar_set_mmcris(spi_bus_t bus, uint32_t val)
1339 {
1340     spi_inmar_data_t spi_inmar_data;
1341     spi_inmar_data.d32 = spis_v151_regs(bus)->spi_inmar;
1342     spi_inmar_data.b.mmcris = val;
1343     spis_v151_regs(bus)->spi_inmar = spi_inmar_data.d32;
1344 }
1345 
1346 /**
1347  * @brief  Set the value of @ref spi_icr_data_t.cis.
1348  * @param  [in]  bus The index of spi.
1349  */
hal_spi_v151_icr_set_any(spi_bus_t bus)1350 static inline void hal_spi_v151_icr_set_any(spi_bus_t bus)
1351 {
1352     spi_icr_data_t icr_data;
1353     icr_data.d32 = spis_v151_regs(bus)->spi_icr;
1354     icr_data.b.cis = 1;
1355     spis_v151_regs(bus)->spi_icr = icr_data.d32;
1356 }
1357 
1358 /**
1359  * @brief  Get the value of spi_rsvd.
1360  * @param  [in]  bus The index of spi.
1361  * @return The value of spi_rsvd.
1362  */
hal_spi_v151_spi_rsvd_get(spi_bus_t bus)1363 static inline uint32_t hal_spi_v151_spi_rsvd_get(spi_bus_t bus)
1364 {
1365     return spis_v151_regs(bus)->spi_rsvd;
1366 }
1367 
1368 /**
1369  * @brief  Set the value of spi_rsvd.
1370  * @param  [in]  bus The index of spi.
1371  * @param  [in]  val The value of spi_rsvd.
1372  */
hal_spi_v151_spi_rsvd_set(spi_bus_t bus,uint32_t val)1373 static inline void hal_spi_v151_spi_rsvd_set(spi_bus_t bus, uint32_t val)
1374 {
1375     spis_v151_regs(bus)->spi_rsvd = val;
1376 }
1377 
1378 /**
1379  * @}
1380  */
1381 
1382 #ifdef __cplusplus
1383 #if __cplusplus
1384 }
1385 #endif /* __cplusplus */
1386 #endif /* __cplusplus */
1387 
1388 #endif