1 /******************************************************************************
2  *
3  * Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
4  * Analog Devices, Inc.),
5  * Copyright (C) 2023-2024 Analog Devices, Inc.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *     http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  ******************************************************************************/
20 
21 /****** Includes *******/
22 #include <stddef.h>
23 #include <stdint.h>
24 #include "mxc_device.h"
25 #include "mxc_assert.h"
26 #include "mxc_lock.h"
27 #include "mxc_sys.h"
28 #include "spixf.h"
29 #include "spixf_reva.h"
30 
31 /****** Functions ******/
32 
MXC_SPIXF_Init(uint32_t cmdval,uint32_t frequency)33 int MXC_SPIXF_Init(uint32_t cmdval, uint32_t frequency)
34 {
35 #ifndef MSDK_NO_GPIO_CLK_INIT
36     MXC_SYS_ClockEnable(MXC_SYS_PERIPH_CLOCK_SPIXIP); // SPIX
37     MXC_SYS_ClockEnable(MXC_SYS_PERIPH_CLOCK_SPIXFC); // SPIXFC
38     MXC_SYS_ClockEnable(MXC_SYS_PERIPH_CLOCK_ICACHEXIP); // XIP ICACHE
39     MXC_GPIO_Config(&gpio_cfg_spixf);
40 #endif
41 
42     return MXC_SPIXF_RevA_Init((mxc_spixfc_reva_regs_t *)MXC_SPIXFC,
43                                (mxc_spixfm_reva_regs_t *)MXC_SPIXFM, cmdval, frequency);
44 }
45 
MXC_SPIXF_Shutdown(void)46 void MXC_SPIXF_Shutdown(void)
47 {
48     MXC_SPIXF_RevA_Shutdown((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
49     MXC_SYS_ClockDisable(MXC_SYS_PERIPH_CLOCK_SPIXFC); // SPIXFC
50     MXC_SYS_ClockDisable(MXC_SYS_PERIPH_CLOCK_SPIXIP); // SPIX
51     MXC_SYS_ClockDisable(MXC_SYS_PERIPH_CLOCK_ICACHEXIP); // XIP ICACHE
52 }
53 
MXC_SPIXF_IOCtrl(mxc_spixf_ds_t sclk_ds,mxc_spixf_ds_t ss_ds,mxc_spixf_ds_t sdio_ds,mxc_spixf_pup_t pupdctrl)54 void MXC_SPIXF_IOCtrl(mxc_spixf_ds_t sclk_ds, mxc_spixf_ds_t ss_ds, mxc_spixf_ds_t sdio_ds,
55                       mxc_spixf_pup_t pupdctrl)
56 {
57     MXC_SPIXF_RevA_IOCtrl((mxc_spixfm_reva_regs_t *)MXC_SPIXFM, sclk_ds, ss_ds, sdio_ds, pupdctrl);
58 }
59 
MXC_SPIXF_Clocks(uint32_t len,uint8_t deass)60 int MXC_SPIXF_Clocks(uint32_t len, uint8_t deass)
61 {
62     return MXC_SPIXF_RevA_Clocks((mxc_spixfc_reva_regs_t *)MXC_SPIXFC,
63                                  (mxc_spixfm_reva_regs_t *)MXC_SPIXFM,
64                                  (mxc_spixfc_fifo_reva_regs_t *)MXC_SPIXFC_FIFO, len, deass);
65 }
66 
MXC_SPIXF_Transaction(mxc_spixf_req_t * req)67 int MXC_SPIXF_Transaction(mxc_spixf_req_t *req)
68 {
69     return MXC_SPIXF_RevA_Transaction((mxc_spixfc_reva_regs_t *)MXC_SPIXFC,
70                                       (mxc_spixfc_fifo_reva_regs_t *)MXC_SPIXFC_FIFO, req);
71 }
72 
MXC_SPIXF_TransactionAsync(mxc_spixf_req_t * req)73 int MXC_SPIXF_TransactionAsync(mxc_spixf_req_t *req)
74 {
75     return MXC_SPIXF_RevA_TransactionAsync((mxc_spixfc_reva_regs_t *)MXC_SPIXFC,
76                                            (mxc_spixfc_fifo_reva_regs_t *)MXC_SPIXFC_FIFO, req);
77 }
78 
MXC_SPIXF_AbortAsync(mxc_spixf_req_t * req)79 int MXC_SPIXF_AbortAsync(mxc_spixf_req_t *req)
80 {
81     return MXC_SPIXF_RevA_AbortAsync((mxc_spixfc_reva_regs_t *)MXC_SPIXFC, req);
82 }
83 
MXC_SPIXF_Handler(void)84 void MXC_SPIXF_Handler(void)
85 {
86     MXC_SPIXF_RevA_Handler((mxc_spixfc_reva_regs_t *)MXC_SPIXFC,
87                            (mxc_spixfc_fifo_reva_regs_t *)MXC_SPIXFC_FIFO);
88 }
89 
MXC_SPIXF_ReadyForSleep(void)90 int MXC_SPIXF_ReadyForSleep(void)
91 {
92     return MXC_SPIXF_RevA_ReadyForSleep((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
93 }
94 
MXC_SPIXF_EnableInt(uint32_t mask)95 int MXC_SPIXF_EnableInt(uint32_t mask)
96 {
97     return MXC_SPIXF_RevA_EnableInt((mxc_spixfc_reva_regs_t *)MXC_SPIXFC, mask);
98 }
99 
MXC_SPIXF_DisableInt(uint32_t mask)100 int MXC_SPIXF_DisableInt(uint32_t mask)
101 {
102     return MXC_SPIXF_RevA_DisableInt((mxc_spixfc_reva_regs_t *)MXC_SPIXFC, mask);
103 }
104 
MXC_SPIXF_ClearFlags(uint32_t flags)105 int MXC_SPIXF_ClearFlags(uint32_t flags)
106 {
107     return MXC_SPIXF_RevA_ClearFlags((mxc_spixfc_reva_regs_t *)MXC_SPIXFC, flags);
108 }
109 
MXC_SPIXF_GetFlags(void)110 int MXC_SPIXF_GetFlags(void)
111 {
112     return MXC_SPIXF_RevA_GetFlags((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
113 }
114 
115 //Low level
116 
MXC_SPIXF_SetMode(mxc_spixf_mode_t mode)117 int MXC_SPIXF_SetMode(mxc_spixf_mode_t mode)
118 {
119     return MXC_SPIXF_RevA_SetMode((mxc_spixfc_reva_regs_t *)MXC_SPIXFC,
120                                   (mxc_spixfm_reva_regs_t *)MXC_SPIXFM, mode);
121 }
122 
MXC_SPIXF_GetMode(void)123 mxc_spixf_mode_t MXC_SPIXF_GetMode(void)
124 {
125     return MXC_SPIXF_RevA_GetMode((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
126 }
127 
MXC_SPIXF_SetSSPolActiveHigh(void)128 int MXC_SPIXF_SetSSPolActiveHigh(void)
129 {
130     return MXC_SPIXF_RevA_SetSSPolActiveHigh((mxc_spixfc_reva_regs_t *)MXC_SPIXFC,
131                                              (mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
132 }
133 
MXC_SPIXF_SetSSPolActiveLow(void)134 int MXC_SPIXF_SetSSPolActiveLow(void)
135 {
136     return MXC_SPIXF_RevA_SetSSPolActiveLow((mxc_spixfc_reva_regs_t *)MXC_SPIXFC,
137                                             (mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
138 }
139 
MXC_SPIXF_GetSSPolarity(void)140 int MXC_SPIXF_GetSSPolarity(void)
141 {
142     return MXC_SPIXF_RevA_GetSSPolarity((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
143 }
144 
MXC_SPIXF_SetSPIFrequency(unsigned int hz)145 int MXC_SPIXF_SetSPIFrequency(unsigned int hz)
146 {
147     return MXC_SPIXF_RevA_SetSPIFrequency((mxc_spixfc_reva_regs_t *)MXC_SPIXFC,
148                                           (mxc_spixfm_reva_regs_t *)MXC_SPIXFM, hz);
149 }
150 
MXC_SPIXF_SetSPIFrequencyRead(unsigned int hz)151 int MXC_SPIXF_SetSPIFrequencyRead(unsigned int hz)
152 {
153     return MXC_SPIXF_RevA_SetSPIFrequency(NULL, (mxc_spixfm_reva_regs_t *)MXC_SPIXFM, hz);
154 }
155 
MXC_SPIXF_SetSPIFrequencyWrite(unsigned int hz)156 int MXC_SPIXF_SetSPIFrequencyWrite(unsigned int hz)
157 {
158     return MXC_SPIXF_RevA_SetSPIFrequency((mxc_spixfc_reva_regs_t *)MXC_SPIXFC, NULL, hz);
159 }
160 
MXC_SPIXF_GetSPIFrequency(void)161 uint32_t MXC_SPIXF_GetSPIFrequency(void)
162 {
163     return MXC_SPIXF_RevA_GetSPIFrequency((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
164 }
165 
MXC_SPIXF_GetSPIFrequencyRead(void)166 uint32_t MXC_SPIXF_GetSPIFrequencyRead(void)
167 {
168     return MXC_SPIXF_RevA_GetSPIFrequency((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
169 }
170 
MXC_SPIXF_GetSPIFrequencyWrite(void)171 uint32_t MXC_SPIXF_GetSPIFrequencyWrite(void)
172 {
173     return MXC_SPIXF_RevA_GetSPIFrequencyWrite((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
174 }
175 
MXC_SPIXF_SetSSActiveTime(mxc_spixf_ssact_t ssact)176 int MXC_SPIXF_SetSSActiveTime(mxc_spixf_ssact_t ssact)
177 {
178     return MXC_SPIXF_RevA_SetSSActiveTime((mxc_spixfc_reva_regs_t *)MXC_SPIXFC,
179                                           (mxc_spixfm_reva_regs_t *)MXC_SPIXFM, ssact);
180 }
181 
MXC_SPIXF_GetSSActiveTime(void)182 mxc_spixf_ssact_t MXC_SPIXF_GetSSActiveTime(void)
183 {
184     return MXC_SPIXF_RevA_GetSSActiveTime((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
185 }
186 
MXC_SPIXF_SetSSInactiveTime(mxc_spixf_ssiact_t ssiact)187 int MXC_SPIXF_SetSSInactiveTime(mxc_spixf_ssiact_t ssiact)
188 {
189     return MXC_SPIXF_RevA_SetSSInactiveTime((mxc_spixfc_reva_regs_t *)MXC_SPIXFC,
190                                             (mxc_spixfm_reva_regs_t *)MXC_SPIXFM, ssiact);
191 }
192 
MXC_SPIXF_GetSSInactiveTime(void)193 mxc_spixf_ssiact_t MXC_SPIXF_GetSSInactiveTime(void)
194 {
195     return MXC_SPIXF_RevA_GetSSInactiveTime((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
196 }
197 
MXC_SPIXF_SetCmdWidth(mxc_spixf_spiwidth_t width)198 int MXC_SPIXF_SetCmdWidth(mxc_spixf_spiwidth_t width)
199 {
200     return MXC_SPIXF_RevA_SetCmdWidth((mxc_spixfm_reva_regs_t *)MXC_SPIXFM, width);
201 }
202 
MXC_SPIXF_GetCmdWidth(void)203 mxc_spixf_spiwidth_t MXC_SPIXF_GetCmdWidth(void)
204 {
205     return MXC_SPIXF_RevA_GetCmdWidth((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
206 }
207 
MXC_SPIXF_SetAddrWidth(mxc_spixf_spiwidth_t width)208 int MXC_SPIXF_SetAddrWidth(mxc_spixf_spiwidth_t width)
209 {
210     return MXC_SPIXF_RevA_SetAddrWidth((mxc_spixfm_reva_regs_t *)MXC_SPIXFM, width);
211 }
212 
MXC_SPIXF_GetAddrWidth(void)213 mxc_spixf_spiwidth_t MXC_SPIXF_GetAddrWidth(void)
214 {
215     return MXC_SPIXF_RevA_GetAddrWidth((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
216 }
217 
MXC_SPIXF_SetDataWidth(mxc_spixf_spiwidth_t width)218 int MXC_SPIXF_SetDataWidth(mxc_spixf_spiwidth_t width)
219 {
220     return MXC_SPIXF_RevA_SetDataWidth((mxc_spixfm_reva_regs_t *)MXC_SPIXFM, width);
221 }
222 
MXC_SPIXF_GetDataWidth(void)223 mxc_spixf_spiwidth_t MXC_SPIXF_GetDataWidth(void)
224 {
225     return MXC_SPIXF_RevA_GetDataWidth((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
226 }
227 
MXC_SPIXF_Set4ByteAddr(void)228 int MXC_SPIXF_Set4ByteAddr(void)
229 {
230     return MXC_SPIXF_RevA_Set4ByteAddr((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
231 }
232 
MXC_SPIXF_Set3ByteAddr(void)233 int MXC_SPIXF_Set3ByteAddr(void)
234 {
235     return MXC_SPIXF_RevA_Set3ByteAddr((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
236 }
237 
MXC_SPIXF_GetBytesPerAddr(void)238 unsigned int MXC_SPIXF_GetBytesPerAddr(void)
239 {
240     return MXC_SPIXF_RevA_GetBytesPerAddr((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
241 }
242 
MXC_SPIXF_SetModeClk(uint8_t mdclk)243 int MXC_SPIXF_SetModeClk(uint8_t mdclk)
244 {
245     return MXC_SPIXF_RevA_SetModeClk((mxc_spixfm_reva_regs_t *)MXC_SPIXFM, mdclk);
246 }
247 
MXC_SPIXF_GetModeClk(void)248 uint8_t MXC_SPIXF_GetModeClk(void)
249 {
250     return MXC_SPIXF_RevA_GetModeClk((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
251 }
252 
MXC_SPIXF_SetCmdValue(uint8_t cmdval)253 int MXC_SPIXF_SetCmdValue(uint8_t cmdval)
254 {
255     return MXC_SPIXF_RevA_SetCmdValue((mxc_spixfm_reva_regs_t *)MXC_SPIXFM, cmdval);
256 }
257 
MXC_SPIXF_SetCmdModeEveryTrans(void)258 int MXC_SPIXF_SetCmdModeEveryTrans(void)
259 {
260     return MXC_SPIXF_RevA_SetCmdModeEveryTrans((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
261 }
262 
MXC_SPIXF_SetCmdModeFirstTrans(void)263 int MXC_SPIXF_SetCmdModeFirstTrans(void)
264 {
265     return MXC_SPIXF_RevA_SetCmdModeFirstTrans((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
266 }
267 
MXC_SPIXF_GetCmdMode(void)268 mxc_spixf_cmd_t MXC_SPIXF_GetCmdMode(void)
269 {
270     return MXC_SPIXF_RevA_GetCmdMode((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
271 }
272 
MXC_SPIXF_BBDataOutputEnable(uint8_t mask)273 int MXC_SPIXF_BBDataOutputEnable(uint8_t mask)
274 {
275     return MXC_SPIXF_RevA_BBDataOutputEnable((mxc_spixfc_reva_regs_t *)MXC_SPIXFC, mask);
276 }
277 
MXC_SPIXF_BBDataOutputDisable(uint8_t mask)278 int MXC_SPIXF_BBDataOutputDisable(uint8_t mask)
279 {
280     return MXC_SPIXF_RevA_BBDataOutputDisable((mxc_spixfc_reva_regs_t *)MXC_SPIXFC, mask);
281 }
282 
MXC_SPIXF_BBDataOutputIsEnabled(void)283 uint8_t MXC_SPIXF_BBDataOutputIsEnabled(void)
284 {
285     return MXC_SPIXF_RevA_BBDataOutputIsEnabled((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
286 }
287 
MXC_SPIXF_GetBBDataOutputValue(void)288 uint8_t MXC_SPIXF_GetBBDataOutputValue(void)
289 {
290     return MXC_SPIXF_RevA_GetBBDataOutputValue((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
291 }
292 
MXC_SPIXF_GetBBDataInputValue(void)293 uint8_t MXC_SPIXF_GetBBDataInputValue(void)
294 {
295     return MXC_SPIXF_RevA_GetBBDataInputValue((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
296 }
297 
MXC_SPIXF_SetModeData(uint16_t data)298 int MXC_SPIXF_SetModeData(uint16_t data)
299 {
300     return MXC_SPIXF_RevA_SetModeData((mxc_spixfc_reva_regs_t *)MXC_SPIXFC,
301                                       (mxc_spixfm_reva_regs_t *)MXC_SPIXFM, data);
302 }
303 
MXC_SPIXF_GetModeData(void)304 uint16_t MXC_SPIXF_GetModeData(void)
305 {
306     return MXC_SPIXF_RevA_GetModeData((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
307 }
308 
MXC_SPIXF_SetSCKInverted(void)309 int MXC_SPIXF_SetSCKInverted(void)
310 {
311     return MXC_SPIXF_RevA_SetSCKInverted((mxc_spixfc_reva_regs_t *)MXC_SPIXFC,
312                                          (mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
313 }
314 
MXC_SPIXF_SetSCKNonInverted(void)315 int MXC_SPIXF_SetSCKNonInverted(void)
316 {
317     return MXC_SPIXF_RevA_SetSCKNonInverted((mxc_spixfc_reva_regs_t *)MXC_SPIXFC,
318                                             (mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
319 }
320 
MXC_SPIXF_GetSCKInverted(void)321 int MXC_SPIXF_GetSCKInverted(void)
322 {
323     return MXC_SPIXF_RevA_GetSCKInverted((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
324 }
325 
MXC_SPIXF_SCKFeedbackEnable(void)326 int MXC_SPIXF_SCKFeedbackEnable(void)
327 {
328     return MXC_SPIXF_RevA_SCKFeedbackEnable((mxc_spixfc_reva_regs_t *)MXC_SPIXFC,
329                                             (mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
330 }
331 
MXC_SPIXF_SCKFeedbackDisable(void)332 int MXC_SPIXF_SCKFeedbackDisable(void)
333 {
334     return MXC_SPIXF_RevA_SCKFeedbackDisable((mxc_spixfc_reva_regs_t *)MXC_SPIXFC,
335                                              (mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
336 }
337 
MXC_SPIXF_SCKFeedbackIsEnabled(void)338 int MXC_SPIXF_SCKFeedbackIsEnabled(void)
339 {
340     return MXC_SPIXF_RevA_SCKFeedbackIsEnabled((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
341 }
342 
MXC_SPIXF_SetSCKSampleDelay(uint8_t delay)343 int MXC_SPIXF_SetSCKSampleDelay(uint8_t delay)
344 {
345     return MXC_SPIXF_RevA_SetSCKSampleDelay((mxc_spixfc_reva_regs_t *)MXC_SPIXFC, delay);
346 }
347 
MXC_SPIXF_GetSCKSampleDelay(void)348 uint8_t MXC_SPIXF_GetSCKSampleDelay(void)
349 {
350     return MXC_SPIXF_RevA_GetSCKSampleDelay((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
351 }
352 
MXC_SPIXF_SetPageSize(mxc_spixf_page_size_t size)353 void MXC_SPIXF_SetPageSize(mxc_spixf_page_size_t size)
354 {
355     MXC_SPIXF_RevA_SetPageSize((mxc_spixfc_reva_regs_t *)MXC_SPIXFC, size);
356 }
357 
MXC_SPIXF_GetPageSize(void)358 mxc_spixf_page_size_t MXC_SPIXF_GetPageSize(void)
359 {
360     return MXC_SPIXF_RevA_GetPageSize((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
361 }
362 
MXC_SPIXF_SimpleRXEnabled(void)363 int MXC_SPIXF_SimpleRXEnabled(void)
364 {
365     return MXC_SPIXF_RevA_SimpleRXEnabled((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
366 }
367 
MXC_SPIXF_SimpleRXDisable(void)368 int MXC_SPIXF_SimpleRXDisable(void)
369 {
370     return MXC_SPIXF_RevA_SimpleRXDisable((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
371 }
372 
MXC_SPIXF_SimpleRXIsEnabled(void)373 int MXC_SPIXF_SimpleRXIsEnabled(void)
374 {
375     return MXC_SPIXF_RevA_SimpleRXIsEnabled((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
376 }
377 
MXC_SPIXF_SimpleModeEnable(void)378 int MXC_SPIXF_SimpleModeEnable(void)
379 {
380     return MXC_SPIXF_RevA_SimpleModeEnable((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
381 }
382 
MXC_SPIXF_SimpleModeDisable(void)383 int MXC_SPIXF_SimpleModeDisable(void)
384 {
385     return MXC_SPIXF_RevA_SimpleModeDisable((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
386 }
387 
MXC_SPIXF_SimpleModeIsEnabled(void)388 int MXC_SPIXF_SimpleModeIsEnabled(void)
389 {
390     return MXC_SPIXF_RevA_SimpleModeIsEnabled((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
391 }
392 
MXC_SPIXF_SampleOutputEnable(uint8_t mask)393 int MXC_SPIXF_SampleOutputEnable(uint8_t mask)
394 {
395     return MXC_SPIXF_RevA_SampleOutputEnable((mxc_spixfc_reva_regs_t *)MXC_SPIXFC, mask);
396 }
397 
MXC_SPIXF_SampleOutputDisable(uint8_t mask)398 int MXC_SPIXF_SampleOutputDisable(uint8_t mask)
399 {
400     return MXC_SPIXF_RevA_SampleOutputDisable((mxc_spixfc_reva_regs_t *)MXC_SPIXFC, mask);
401 }
402 
MXC_SPIXF_SampleOutputIsEnabled(void)403 uint8_t MXC_SPIXF_SampleOutputIsEnabled(void)
404 {
405     return MXC_SPIXF_RevA_SampleOutputIsEnabled((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
406 }
407 
MXC_SPIXF_GetSampleOutputValue(void)408 uint8_t MXC_SPIXF_GetSampleOutputValue(void)
409 {
410     return MXC_SPIXF_RevA_GetSampleOutputValue((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
411 }
412 
MXC_SPIXF_SetSCKDriveHigh(void)413 void MXC_SPIXF_SetSCKDriveHigh(void)
414 {
415     MXC_SPIXF_RevA_SetSCKDriveHigh((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
416 }
417 
MXC_SPIXF_SetSCKDriveLow(void)418 void MXC_SPIXF_SetSCKDriveLow(void)
419 {
420     MXC_SPIXF_RevA_SetSCKDriveLow((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
421 }
422 
MXC_SPIXF_GetSCKDrive(void)423 uint8_t MXC_SPIXF_GetSCKDrive(void)
424 {
425     return MXC_SPIXF_RevA_GetSCKDrive((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
426 }
427 
MXC_SPIXF_SetSSDriveOutputHigh(void)428 void MXC_SPIXF_SetSSDriveOutputHigh(void)
429 {
430     MXC_SPIXF_RevA_SetSSDriveOutputHigh((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
431 }
432 
MXC_SPIXF_SetSSDriveOutputLow(void)433 void MXC_SPIXF_SetSSDriveOutputLow(void)
434 {
435     MXC_SPIXF_RevA_SetSSDriveOutputLow((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
436 }
437 
MXC_SPIXF_GetSSDriveOutput(void)438 uint8_t MXC_SPIXF_GetSSDriveOutput(void)
439 {
440     return MXC_SPIXF_RevA_GetSSDriveOutput((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
441 }
442 
MXC_SPIXF_BitBangModeEnable(void)443 int MXC_SPIXF_BitBangModeEnable(void)
444 {
445     return MXC_SPIXF_RevA_BitBangModeEnable((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
446 }
447 
MXC_SPIXF_BitBangModeDisable(void)448 int MXC_SPIXF_BitBangModeDisable(void)
449 {
450     return MXC_SPIXF_RevA_BitBangModeDisable((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
451 }
452 
MXC_SPIXF_BitBangModeIsEnabled(void)453 int MXC_SPIXF_BitBangModeIsEnabled(void)
454 {
455     return MXC_SPIXF_RevA_BitBangModeIsEnabled((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
456 }
457 
MXC_SPIXF_RXFIFOEnable(void)458 int MXC_SPIXF_RXFIFOEnable(void)
459 {
460     return MXC_SPIXF_RevA_RXFIFOEnable((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
461 }
462 
MXC_SPIXF_RXFIFODisable(void)463 int MXC_SPIXF_RXFIFODisable(void)
464 {
465     return MXC_SPIXF_RevA_RXFIFODisable((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
466 }
467 
MXC_SPIXF_RXFIFOIsEnabled(void)468 int MXC_SPIXF_RXFIFOIsEnabled(void)
469 {
470     return MXC_SPIXF_RevA_RXFIFOIsEnabled((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
471 }
472 
MXC_SPIXF_TXFIFOEnable(void)473 int MXC_SPIXF_TXFIFOEnable(void)
474 {
475     return MXC_SPIXF_RevA_TXFIFOEnable((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
476 }
477 
MXC_SPIXF_TXFIFODisable(void)478 int MXC_SPIXF_TXFIFODisable(void)
479 {
480     return MXC_SPIXF_RevA_TXFIFODisable((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
481 }
482 
MXC_SPIXF_TXFIFOIsEnabled(void)483 int MXC_SPIXF_TXFIFOIsEnabled(void)
484 {
485     return MXC_SPIXF_RevA_TXFIFOIsEnabled((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
486 }
487 
MXC_SPIXF_Enable(void)488 int MXC_SPIXF_Enable(void)
489 {
490     return MXC_SPIXF_RevA_Enable((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
491 }
492 
MXC_SPIXF_Disable(void)493 int MXC_SPIXF_Disable(void)
494 {
495     return MXC_SPIXF_RevA_Disable((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
496 }
497 
MXC_SPIXF_IsEnabled(void)498 int MXC_SPIXF_IsEnabled(void)
499 {
500     return MXC_SPIXF_RevA_IsEnabled((mxc_spixfc_reva_regs_t *)MXC_SPIXFC);
501 }
502 
MXC_SPIXF_SetIoctrlSDIODriveHigh(void)503 void MXC_SPIXF_SetIoctrlSDIODriveHigh(void)
504 {
505     MXC_SPIXF_RevA_SetIoctrlSDIODriveHigh((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
506 }
507 
MXC_SPIXF_SetIoctrlSDIODriveLow(void)508 void MXC_SPIXF_SetIoctrlSDIODriveLow(void)
509 {
510     MXC_SPIXF_RevA_SetIoctrlSDIODriveLow((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
511 }
512 
MXC_SPIXF_GetIoctrlSDIODrive(void)513 uint8_t MXC_SPIXF_GetIoctrlSDIODrive(void)
514 {
515     return MXC_SPIXF_RevA_GetIoctrlSDIODrive((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
516 }
517 
MXC_SPIXF_SetIoctrlSCLKDriveHigh(void)518 void MXC_SPIXF_SetIoctrlSCLKDriveHigh(void)
519 {
520     MXC_SPIXF_RevA_SetIoctrlSCLKDriveHigh((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
521 }
522 
MXC_SPIXF_SetIoctrlSCLKDriveLow(void)523 void MXC_SPIXF_SetIoctrlSCLKDriveLow(void)
524 {
525     MXC_SPIXF_RevA_SetIoctrlSCLKDriveLow((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
526 }
527 
MXC_SPIXF_GetIoctrlSCLKDrive(void)528 uint8_t MXC_SPIXF_GetIoctrlSCLKDrive(void)
529 {
530     return MXC_SPIXF_RevA_GetIoctrlSCLKDrive((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
531 }
532 
MXC_SPIXF_SetIoctrlSSDriveHigh(void)533 void MXC_SPIXF_SetIoctrlSSDriveHigh(void)
534 {
535     MXC_SPIXF_RevA_SetIoctrlSSDriveHigh((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
536 }
537 
MXC_SPIXF_SetIoctrlSSDriveLow(void)538 void MXC_SPIXF_SetIoctrlSSDriveLow(void)
539 {
540     MXC_SPIXF_RevA_SetIoctrlSSDriveLow((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
541 }
542 
MXC_SPIXF_GetIoctrlSSDrive(void)543 uint8_t MXC_SPIXF_GetIoctrlSSDrive(void)
544 {
545     return MXC_SPIXF_RevA_GetIoctrlSSDrive((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
546 }
547 
MXC_SPIXF_SetPuPdCtrl(mxc_spixf_pup_t pupd)548 void MXC_SPIXF_SetPuPdCtrl(mxc_spixf_pup_t pupd)
549 {
550     MXC_SPIXF_RevA_SetPuPdCtrl((mxc_spixfm_reva_regs_t *)MXC_SPIXFM, pupd);
551 }
552 
MXC_SPIXF_GetPuPdCtrl(void)553 uint8_t MXC_SPIXF_GetPuPdCtrl(void)
554 {
555     return MXC_SPIXF_RevA_GetPuPdCtrl((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
556 }
557 
MXC_SPIXF_SetBusIdle(unsigned int busidle)558 int MXC_SPIXF_SetBusIdle(unsigned int busidle)
559 {
560     return MXC_SPIXF_RevA_SetBusIdle((mxc_spixfm_reva_regs_t *)MXC_SPIXFM, busidle);
561 }
562 
MXC_SPIXF_GetBusIdle(void)563 unsigned int MXC_SPIXF_GetBusIdle(void)
564 {
565     return MXC_SPIXF_RevA_GetBusIdle((mxc_spixfm_reva_regs_t *)MXC_SPIXFM);
566 }
567