Merge branches 'x86-fixes-for-linus' and 'x86-uv-for-linus' of git://git.kernel.org...
[pandora-kernel.git] / drivers / staging / westbridge / astoria / include / linux / westbridge / cyanmisc.h
1 /*  Cypress West Bridge API header file (cyanmisc.h)
2  ## Version for backward compatibility with previous Antioch SDK releases.
3 ## ===========================
4 ## Copyright (C) 2010  Cypress Semiconductor
5 ##
6 ## This program is free software; you can redistribute it and/or
7 ## modify it under the terms of the GNU General Public License
8 ## as published by the Free Software Foundation; either version 2
9 ## of the License, or (at your option) any later version.
10 ##
11 ## This program is distributed in the hope that it will be useful,
12 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
13 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 ## GNU General Public License for more details.
15 ##
16 ## You should have received a copy of the GNU General Public License
17 ## along with this program; if not, write to the Free Software
18 ## Foundation, Inc., 51 Franklin Street
19 ## Fifth Floor, Boston, MA  02110-1301, USA.
20 ## ===========================
21 */
22
23 #ifndef _INCLUDED_CYANMISC_H_
24 #define _INCLUDED_CYANMISC_H_
25
26 #include "cyantypes.h"
27 #include <cyasmisc.h>
28 #include "cyanmedia.h"
29 #include "cyas_cplus_start.h"
30
31 #define CY_AN_LEAVE_STANDBY_DELAY_CLOCK \
32         (CY_AS_LEAVE_STANDBY_DELAY_CLOCK)
33 #define CY_AN_RESET_DELAY_CLOCK \
34         (CY_AS_RESET_DELAY_CLOCK)
35
36 #define CY_AN_LEAVE_STANDBY_DELAY_CRYSTAL \
37         (CY_AS_LEAVE_STANDBY_DELAY_CRYSTAL)
38
39 #define CY_AN_RESET_DELAY_CRYSTAL \
40         (CY_AS_RESET_DELAY_CRYSTAL)
41
42 /* Defines to convert the old CyAn names to the new
43  * CyAs names
44  */
45 typedef cy_as_device_handle     cy_an_device_handle;
46
47 #define cy_an_device_dack_ack   cy_as_device_dack_ack
48 #define cy_an_device_dack_eob   cy_as_device_dack_eob
49 typedef cy_as_device_dack_mode cy_an_device_dack_mode;
50
51 typedef cy_as_device_config cy_an_device_config;
52
53 #define cy_an_resource_u_s_b    cy_as_bus_u_sB
54 #define cy_an_resource_sdio_MMC cy_as_bus_1
55 #define cy_an_resource_nand     cy_as_bus_0
56 typedef cy_as_resource_type cy_an_resource_type;
57
58 #define cy_an_reset_soft        cy_as_reset_soft
59 #define cy_an_reset_hard        cy_as_reset_hard
60 typedef cy_as_reset_type cy_an_reset_type;
61 typedef cy_as_funct_c_b_type cy_an_funct_c_b_type;
62 typedef cy_as_function_callback cy_an_function_callback;
63
64 #define cy_an_event_misc_initialized \
65         cy_as_event_misc_initialized
66 #define cy_an_event_misc_awake  \
67         cy_as_event_misc_awake
68 #define cy_an_event_misc_heart_beat      \
69         cy_as_event_misc_heart_beat
70 #define cy_an_event_misc_wakeup \
71         cy_as_event_misc_wakeup
72 #define cy_an_event_misc_device_mismatch \
73         cy_as_event_misc_device_mismatch
74 typedef cy_as_misc_event_type \
75         cy_an_misc_event_type;
76 typedef cy_as_misc_event_callback \
77         cy_an_misc_event_callback;
78
79 #define cy_an_misc_gpio_0       cy_as_misc_gpio_0
80 #define cy_an_misc_gpio_1       cy_as_misc_gpio_1
81 #define cy_an_misc_gpio__nand_CE \
82         cy_as_misc_gpio__nand_CE
83 #define cy_an_misc_gpio__nand_CE2 \
84         cy_as_misc_gpio__nand_CE2
85 #define cy_an_misc_gpio__nand_WP \
86         cy_as_misc_gpio__nand_WP
87 #define cy_an_misc_gpio__nand_CLE \
88         cy_as_misc_gpio__nand_CLE
89 #define cy_an_misc_gpio__nand_ALE \
90         cy_as_misc_gpio__nand_ALE
91 #define cy_an_misc_gpio_U_valid \
92         cy_as_misc_gpio_U_valid
93 #define cy_an_misc_gpio_SD_POW \
94         cy_as_misc_gpio_SD_POW
95 typedef cy_as_misc_gpio cy_an_misc_gpio;
96
97 #define CY_AN_SD_DEFAULT_FREQ CY_AS_SD_DEFAULT_FREQ
98 #define CY_AN_SD_RATED_FREQ      CY_AS_SD_RATED_FREQ
99 typedef cy_as_low_speed_sd_freq cy_an_low_speed_sd_freq;
100
101 #define CY_AN_HS_SD_FREQ_48     CY_AS_HS_SD_FREQ_48
102 #define CY_AN_HS_SD_FREQ_24     CY_AS_HS_SD_FREQ_24
103 typedef cy_as_high_speed_sd_freq \
104         cy_an_high_speed_sd_freq;
105
106 #define cy_an_misc_active_high cy_as_misc_active_high
107 #define cy_an_misc_active_low cy_as_misc_active_low
108 typedef cy_as_misc_signal_polarity cy_an_misc_signal_polarity;
109
110 typedef cy_as_get_firmware_version_data \
111         cy_an_get_firmware_version_data;
112
113 enum {
114         CYAN_FW_TRACE_LOG_NONE = 0,
115         CYAN_FW_TRACE_LOG_STATE,
116         CYAN_FW_TRACE_LOG_CALLS,
117         CYAN_FW_TRACE_LOG_STACK_TRACE,
118         CYAN_FW_TRACE_MAX_LEVEL
119 };
120
121
122 /***********************************/
123 /***********************************/
124 /*      FUNCTIONS                                       */
125 /***********************************/
126 /***********************************/
127
128
129 EXTERN cy_an_return_status_t
130 cy_an_misc_create_device(
131                 cy_an_device_handle *handle_p,
132                 cy_an_hal_device_tag tag
133                 );
134 #define cy_an_misc_create_device(h, tag) \
135         cy_as_misc_create_device((cy_as_device_handle *)(h), \
136         (cy_as_hal_device_tag)(tag))
137
138 EXTERN cy_an_return_status_t
139 cy_an_misc_destroy_device(
140         cy_an_device_handle  handle
141         );
142 #define cy_an_misc_destroy_device(h) \
143         cy_as_misc_destroy_device((cy_as_device_handle)(h))
144
145 EXTERN cy_an_return_status_t
146 cy_an_misc_configure_device(
147                 cy_an_device_handle             handle,
148                 cy_an_device_config             *config_p
149                 );
150 #define cy_an_misc_configure_device(h, cfg) \
151         cy_as_misc_configure_device((cy_as_device_handle)(h), \
152         (cy_as_device_config *)(cfg))
153
154 EXTERN cy_an_return_status_t
155 cy_an_misc_in_standby(
156                 cy_an_device_handle             handle,
157                 cy_bool                                 *standby
158                 );
159 #define cy_an_misc_in_standby(h, standby) \
160         cy_as_misc_in_standby((cy_as_device_handle)(h), (standby))
161
162 /* Sync version of Download Firmware */
163 EXTERN cy_an_return_status_t
164 cy_an_misc_download_firmware(
165                 cy_an_device_handle             handle,
166                 const void                       *fw_p,
167                 uint16_t                        size
168                 );
169
170 #define cy_an_misc_download_firmware(handle, fw_p, size) \
171         cy_as_misc_download_firmware((cy_as_device_handle)\
172         (handle), (fw_p), (size), 0, 0)
173
174 /* Async version of Download Firmware */
175 EXTERN cy_an_return_status_t
176 cy_an_misc_download_firmware_e_x(
177                 cy_an_device_handle             handle,
178                 const void                       *fw_p,
179                 uint16_t                        size,
180                 cy_an_function_callback         cb,
181                 uint32_t                        client
182                 );
183
184 #define cy_an_misc_download_firmware_e_x(h, fw_p, size, cb, client) \
185         cy_as_misc_download_firmware((cy_as_device_handle)(h), \
186         (fw_p), (size), (cy_as_function_callback)(cb), (client))
187
188 /* Sync version of Get Firmware Version */
189 EXTERN cy_an_return_status_t
190 cy_as_misc_get_firmware_version_dep(
191                                 cy_as_device_handle handle,
192                                  uint16_t *major,
193                                  uint16_t *minor,
194                                  uint16_t *build,
195                                  uint8_t *media_type,
196                                  cy_bool *is_debug_mode);
197
198 #define cy_an_misc_get_firmware_version\
199         (h, major, minor, bld, type, mode)      \
200         cy_as_misc_get_firmware_version_dep((cy_as_device_handle)(h), \
201         (major), (minor), (bld), (type), (mode))
202
203 /* Async version of Get Firmware Version*/
204 EXTERN cy_an_return_status_t
205 cy_an_misc_get_firmware_version_e_x(
206                 cy_an_device_handle             handle,
207                 cy_an_get_firmware_version_data *data,
208                 cy_an_function_callback                 cb,
209                 uint32_t                        client
210                 );
211 #define cy_an_misc_get_firmware_version_e_x\
212         (h, data, cb, client) \
213         cy_as_misc_get_firmware_version((cy_as_device_handle)(h), \
214         (data), (cy_as_function_callback)(cb), (client))
215
216 /* Sync version of Read MCU Register*/
217 EXTERN cy_an_return_status_t
218 cy_an_misc_read_m_c_u_register(
219         cy_an_device_handle     handle,
220         uint16_t                        address,
221         uint8_t                         *value
222         );
223
224 #define cy_an_misc_read_m_c_u_register(handle, address, value) \
225         cy_as_misc_read_m_c_u_register((cy_as_device_handle)(handle), \
226         (address), (value), 0, 0)
227
228 /* Async version of Read MCU Register*/
229 EXTERN cy_an_return_status_t
230 cy_an_misc_read_m_c_u_register_e_x(
231         cy_an_device_handle             handle,
232         uint16_t                        address,
233         uint8_t                         *value,
234         cy_an_function_callback         cb,
235         uint32_t                        client
236         );
237
238 #define cy_an_misc_read_m_c_u_register_e_x\
239         (h, addr, val, cb, client) \
240         cy_as_misc_read_m_c_u_register((cy_as_device_handle)(h), \
241         (addr), (val), (cy_as_function_callback)(cb), (client))
242
243 /* Sync version of Write MCU Register*/
244 EXTERN cy_an_return_status_t
245 cy_an_misc_write_m_c_u_register(
246                 cy_an_device_handle     handle,
247                 uint16_t                        address,
248                 uint8_t                         mask,
249                 uint8_t                  value
250                 );
251 #define cy_an_misc_write_m_c_u_register\
252         (handle, address, mask, value) \
253         cy_as_misc_write_m_c_u_register((cy_as_device_handle)(handle), \
254         (address), (mask), (value), 0, 0)
255
256 /* Async version of Write MCU Register*/
257 EXTERN cy_an_return_status_t
258 cy_an_misc_write_m_c_u_register_e_x(
259                 cy_an_device_handle      handle,
260                 uint16_t                         address,
261                 uint8_t                  mask,
262                 uint8_t                   value,
263                 cy_an_function_callback cb,
264                 uint32_t                 client
265                 );
266 #define cy_an_misc_write_m_c_u_register_e_x\
267         (h, addr, mask, val, cb, client)          \
268         cy_as_misc_write_m_c_u_register((cy_as_device_handle)(h), \
269         (addr), (mask), (val), (cy_as_function_callback)(cb), (client))
270
271 /* Sync version of Write MCU Register*/
272 EXTERN cy_an_return_status_t
273 cy_an_misc_reset(
274         cy_an_device_handle             handle,
275         cy_an_reset_type                        type,
276         cy_bool                         flush
277         );
278 #define cy_an_misc_reset(handle, type, flush) \
279         cy_as_misc_reset((cy_as_device_handle)(handle), \
280         (type), (flush), 0, 0)
281
282 /* Async version of Write MCU Register*/
283 EXTERN cy_an_return_status_t
284 cy_an_misc_reset_e_x(
285         cy_an_device_handle     handle,
286         cy_an_reset_type                type,
287         cy_bool                         flush,
288         cy_an_function_callback cb,
289         uint32_t                client
290         );
291 #define cy_an_misc_reset_e_x(h, type, flush, cb, client) \
292         cy_as_misc_reset((cy_as_device_handle)(h), \
293         (cy_as_reset_type)(type), (flush), \
294         (cy_as_function_callback)(cb), (client))
295
296 /*  Synchronous version of CyAnMiscAcquireResource. */
297 EXTERN cy_an_return_status_t
298 cy_an_misc_acquire_resource(
299         cy_an_device_handle             handle,
300         cy_an_resource_type             type,
301         cy_bool                         force
302         );
303 #define cy_an_misc_acquire_resource(h, type, force)             \
304         cy_as_misc_acquire_resource_dep((cy_as_device_handle)(h), \
305         (cy_as_resource_type)(type), (force))
306
307 /* Asynchronous version of CyAnMiscAcquireResource. */
308 EXTERN cy_an_return_status_t
309 cy_an_misc_acquire_resource_e_x(
310         cy_an_device_handle             handle,
311         cy_an_resource_type *type,
312         cy_bool                         force,
313         cy_an_function_callback         cb,
314         uint32_t                        client
315         );
316 #define cy_an_misc_acquire_resource_e_x\
317         (h, type_p, force, cb, client) \
318         cy_as_misc_acquire_resource((cy_as_device_handle)(h), \
319         (cy_as_resource_type *)(type_p), \
320         (force), (cy_as_function_callback)(cb), (client))
321
322 /* The one and only version of Release resource */
323 EXTERN cy_an_return_status_t
324 cy_an_misc_release_resource(
325         cy_an_device_handle             handle,
326         cy_an_resource_type             type
327         );
328 #define cy_an_misc_release_resource(h, type)\
329         cy_as_misc_release_resource((cy_as_device_handle)(h), \
330         (cy_as_resource_type)(type))
331
332 /* Synchronous version of CyAnMiscSetTraceLevel. */
333 EXTERN cy_an_return_status_t
334 cy_an_misc_set_trace_level(
335         cy_an_device_handle     handle,
336         uint8_t                 level,
337         cy_an_media_type                media,
338         uint32_t                 device,
339         uint32_t                unit
340         );
341
342 #define cy_an_misc_set_trace_level\
343         (handle, level, media, device, unit) \
344         cy_as_misc_set_trace_level_dep((cy_as_device_handle)(handle), \
345         (level), (cy_as_media_type)(media), (device), (unit), 0, 0)
346
347 /* Asynchronous version of CyAnMiscSetTraceLevel. */
348 EXTERN cy_an_return_status_t
349 cy_an_misc_set_trace_level_e_x(
350         cy_an_device_handle             handle,
351         uint8_t                         level,
352         cy_an_media_type                        media,
353         uint32_t                        device,
354         uint32_t                        unit,
355         cy_an_function_callback         cb,
356         uint32_t                        client
357         );
358 #define cy_an_misc_set_trace_level_e_x\
359         (h, level, media, device, unit, cb, client)     \
360         cy_as_misc_set_trace_level_dep((cy_as_device_handle)(h), \
361         (level), (cy_as_media_type)(media), (device), (unit),   \
362                 (cy_as_function_callback)(cb), (client))
363
364 /* Synchronous version of CyAnMiscEnterStandby. */
365 EXTERN cy_an_return_status_t
366 cy_an_misc_enter_standby(
367         cy_an_device_handle     handle,
368         cy_bool                 pin
369         );
370 #define cy_an_misc_enter_standby(handle, pin) \
371         cy_as_misc_enter_standby(\
372                 (cy_as_device_handle)(handle), (pin), 0, 0)
373
374 /* Synchronous version of CyAnMiscEnterStandby. */
375 EXTERN cy_an_return_status_t
376 cy_an_misc_enter_standby_e_x(
377         cy_an_device_handle     handle,
378         cy_bool                 pin,
379         cy_an_function_callback cb,
380         uint32_t                client
381         );
382 #define cy_an_misc_enter_standby_e_x(h, pin, cb, client) \
383         cy_as_misc_enter_standby((cy_as_device_handle)(h), \
384         (pin), (cy_as_function_callback)(cb), (client))
385
386 /* Only one version of CyAnMiscLeaveStandby. */
387 EXTERN cy_an_return_status_t
388 cy_an_misc_leave_standby(
389         cy_an_device_handle             handle,
390         cy_an_resource_type             type
391         );
392 #define cy_an_misc_leave_standby(h, type)                                \
393         cy_as_misc_leave_standby((cy_as_device_handle)(h), \
394         (cy_as_resource_type)(type))
395
396 /* The one version of Misc Register Callback */
397 EXTERN cy_an_return_status_t
398 cy_an_misc_register_callback(
399         cy_an_device_handle     handle,
400         cy_an_misc_event_callback       callback
401         );
402 #define cy_an_misc_register_callback(h, cb)                     \
403         cy_as_misc_register_callback((cy_as_device_handle)(h), \
404         (cy_as_misc_event_callback)(cb))
405
406 /* The only version of SetLogLevel */
407 EXTERN void
408 cy_an_misc_set_log_level(
409         uint8_t level
410         );
411 #define cy_an_misc_set_log_level(level) \
412         cy_as_misc_set_log_level(level)
413
414 /* Sync version of Misc Storage Changed */
415 EXTERN cy_an_return_status_t
416 cy_an_misc_storage_changed(
417         cy_an_device_handle             handle
418         );
419 #define cy_an_misc_storage_changed(handle) \
420         cy_as_misc_storage_changed((cy_as_device_handle)(handle), 0, 0)
421
422 /* Async version of Misc Storage Changed */
423 EXTERN cy_an_return_status_t
424 cy_an_misc_storage_changed_e_x(
425         cy_an_device_handle     handle,
426         cy_an_function_callback cb,
427         uint32_t                client
428         );
429 #define cy_an_misc_storage_changed_e_x(h, cb, client) \
430         cy_as_misc_storage_changed((cy_as_device_handle)(h), \
431         (cy_as_function_callback)(cb), (client))
432
433 /* Sync version of Heartbeat control */
434 EXTERN cy_an_return_status_t
435 cy_an_misc_heart_beat_control(
436                 cy_an_device_handle                             handle,
437                 cy_bool                                           enable
438                 );
439 #define cy_an_misc_heart_beat_control(handle, enable) \
440         cy_as_misc_heart_beat_control((cy_as_device_handle)\
441         (handle), (enable), 0, 0)
442
443 /* Async version of Heartbeat control */
444 EXTERN cy_an_return_status_t
445 cy_an_misc_heart_beat_control_e_x(
446                 cy_an_device_handle                handle,
447                 cy_bool                                  enable,
448                 cy_an_function_callback    cb,
449                 uint32_t                client
450                 );
451 #define cy_an_misc_heart_beat_control_e_x(h, enable, cb, client) \
452         cy_as_misc_heart_beat_control((cy_as_device_handle)(h), \
453         (enable), (cy_as_function_callback)(cb), (client))
454
455 /* Sync version of Get Gpio */
456 EXTERN cy_an_return_status_t
457 cy_an_misc_get_gpio_value(
458                 cy_an_device_handle                             handle,
459                 cy_an_misc_gpio                                 pin,
460                 uint8_t                                         *value
461                 );
462 #define cy_an_misc_get_gpio_value(handle, pin, value) \
463         cy_as_misc_get_gpio_value((cy_as_device_handle)(handle), \
464         (cy_as_misc_gpio)(pin), (value), 0, 0)
465
466 /* Async version of Get Gpio */
467 EXTERN cy_an_return_status_t
468 cy_an_misc_get_gpio_value_e_x(
469                 cy_an_device_handle                             handle,
470                 cy_an_misc_gpio                                 pin,
471                 uint8_t                                         *value,
472                 cy_an_function_callback                 cb,
473                 uint32_t                                                client
474                 );
475 #define cy_an_misc_get_gpio_value_e_x(h, pin, value, cb, client) \
476         cy_as_misc_get_gpio_value((cy_as_device_handle)(h), \
477         (cy_as_misc_gpio)(pin), (value), \
478         (cy_as_function_callback)(cb), (client))
479
480 /* Sync version of Set Gpio */
481 EXTERN cy_an_return_status_t
482 cy_an_misc_set_gpio_value(
483                 cy_an_device_handle handle,
484                 cy_an_misc_gpio  pin,
485                 uint8_t           value
486                 );
487 #define cy_an_misc_set_gpio_value(handle, pin, value) \
488         cy_as_misc_set_gpio_value((cy_as_device_handle)(handle), \
489         (cy_as_misc_gpio)(pin), (value), 0, 0)
490
491 /* Async version of Set Gpio */
492 EXTERN cy_an_return_status_t
493 cy_an_misc_set_gpio_value_e_x(
494                 cy_an_device_handle                             handle,
495                 cy_an_misc_gpio                                 pin,
496                 uint8_t                                          value,
497                 cy_an_function_callback                 cb,
498                 uint32_t                                                client
499                 );
500 #define cy_an_misc_set_gpio_value_e_x\
501         (h, pin, value, cb, client)     \
502         cy_as_misc_set_gpio_value((cy_as_device_handle)(h), \
503         (cy_as_misc_gpio)(pin), (value), \
504         (cy_as_function_callback)(cb), (client))
505
506 /* Sync version of Enter suspend */
507 EXTERN cy_an_return_status_t
508 cy_an_misc_enter_suspend(
509                 cy_an_device_handle     handle,
510                 cy_bool usb_wakeup_en,
511                 cy_bool gpio_wakeup_en
512                 );
513 #define cy_an_misc_enter_suspend(handle, usb_wakeup_en, \
514         gpio_wakeup_en) \
515         cy_as_misc_enter_suspend((cy_as_device_handle)(handle), \
516         (usb_wakeup_en), (gpio_wakeup_en), 0, 0)
517
518 /* Async version of Enter suspend */
519 EXTERN cy_an_return_status_t
520 cy_an_misc_enter_suspend_e_x(
521                 cy_an_device_handle     handle,
522                 cy_bool usb_wakeup_en,
523                 cy_bool gpio_wakeup_en,
524                 cy_an_function_callback cb,
525                 uint32_t client
526                 );
527 #define cy_an_misc_enter_suspend_e_x(h, usb_en, gpio_en, cb, client)\
528         cy_as_misc_enter_suspend((cy_as_device_handle)(h), (usb_en), \
529         (gpio_en), (cy_as_function_callback)(cb), (client))
530
531 /* Sync version of Enter suspend */
532 EXTERN cy_an_return_status_t
533 cy_an_misc_leave_suspend(
534                 cy_an_device_handle                             handle
535                 );
536 #define cy_an_misc_leave_suspend(handle) \
537         cy_as_misc_leave_suspend((cy_as_device_handle)(handle), 0, 0)
538
539 /* Async version of Enter suspend */
540 EXTERN cy_an_return_status_t
541 cy_an_misc_leave_suspend_e_x(
542                 cy_an_device_handle                             handle,
543                 cy_an_function_callback                 cb,
544                 uint32_t                                                client
545                 );
546
547 #define cy_an_misc_leave_suspend_e_x(h, cb, client)             \
548         cy_as_misc_leave_suspend((cy_as_device_handle)(h), \
549         (cy_as_function_callback)(cb), (client))
550
551 /* Sync version of SetLowSpeedSDFreq */
552 EXTERN cy_an_return_status_t
553 cy_an_misc_set_low_speed_sd_freq(
554                 cy_an_device_handle                             handle,
555                 cy_an_low_speed_sd_freq                   setting
556                 );
557 #define cy_an_misc_set_low_speed_sd_freq(h, setting)               \
558         cy_as_misc_set_low_speed_sd_freq((cy_as_device_handle)(h), \
559         (cy_as_low_speed_sd_freq)(setting), 0, 0)
560
561 /* Async version of SetLowSpeedSDFreq */
562 EXTERN cy_an_return_status_t
563 cy_an_misc_set_low_speed_sd_freq_e_x(
564                 cy_an_device_handle                             handle,
565                 cy_an_low_speed_sd_freq                   setting,
566                 cy_an_function_callback                 cb,
567                 uint32_t                                                client
568                 );
569 #define cy_an_misc_set_low_speed_sd_freq_e_x\
570 (h, setting, cb, client)        \
571         cy_as_misc_set_low_speed_sd_freq((cy_as_device_handle)(h), \
572         (cy_as_low_speed_sd_freq)(setting),      \
573                         (cy_as_function_callback)(cb), (client))
574
575 /* SetHighSpeedSDFreq */
576 EXTERN cy_an_return_status_t
577 cy_an_misc_set_high_speed_sd_freq(
578                 cy_an_device_handle                             handle,
579                 cy_an_high_speed_sd_freq                         setting,
580                 cy_an_function_callback                 cb,
581                 uint32_t                                                client
582                 );
583 #define cy_an_misc_set_high_speed_sd_freq(h, setting, cb, client) \
584         cy_as_misc_set_high_speed_sd_freq((cy_as_device_handle)(h), \
585         (cy_as_high_speed_sd_freq)(setting),   \
586                         (cy_as_function_callback)(cb), (client))
587
588 /* ReserveLNABootArea */
589 EXTERN cy_an_return_status_t
590 cy_an_misc_reserve_l_n_a_boot_area(
591                 cy_an_device_handle handle,
592                 uint8_t numzones,
593                 cy_an_function_callback cb,
594                 uint32_t client);
595 #define cy_an_misc_reserve_l_n_a_boot_area(h, num, cb, client) \
596         cy_as_misc_reserve_l_n_a_boot_area((cy_as_device_handle)(h), \
597         num, (cy_as_function_callback)(cb), (client))
598
599 /* SetSDPowerPolarity */
600 EXTERN cy_an_return_status_t
601 cy_an_misc_set_sd_power_polarity(
602                 cy_an_device_handle        handle,
603                 cy_an_misc_signal_polarity polarity,
604                 cy_an_function_callback   cb,
605                 uint32_t                           client);
606 #define cy_an_misc_set_sd_power_polarity(h, pol, cb, client) \
607         cy_as_misc_set_sd_power_polarity((cy_as_device_handle)(h), \
608         (cy_as_misc_signal_polarity)(pol),      \
609         (cy_as_function_callback)(cb), (client))
610
611 #include "cyas_cplus_end.h"
612
613 #endif
614