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