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