1
/* Cypress West Bridge API header file (cyanstorage.h)
2
## Header for backward compatibility with previous releases of Antioch SDK.
3
## ===========================
4
## Copyright (C) 2010 Cypress Semiconductor
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.
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.
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
## ===========================
23
#ifndef _INCLUDED_CYANSTORAGE_H_
24
#define _INCLUDED_CYANSTORAGE_H_
27
#include "cyanmedia.h"
29
#include "cyasstorage.h"
30
#include "cyas_cplus_start.h"
32
#define CY_AN_LUN_PHYSICAL_DEVICE (CY_AS_LUN_PHYSICAL_DEVICE)
33
#define CY_AN_STORAGE_EP_SIZE (CY_AS_STORAGE_EP_SIZE)
35
#define cy_an_storage_antioch cy_as_storage_antioch
36
#define cy_an_storage_processor cy_as_storage_processor
37
#define cy_an_storage_removed cy_as_storage_removed
38
#define cy_an_storage_inserted cy_as_storage_inserted
39
#define cy_an_sdio_interrupt cy_as_sdio_interrupt
40
typedef cy_as_storage_event cy_an_storage_event;
42
#define cy_an_op_read cy_as_op_read
43
#define cy_an_op_write cy_as_op_write
44
typedef cy_as_oper_type cy_an_oper_type;
46
typedef cy_as_device_desc cy_an_device_desc;
48
typedef cy_as_unit_desc cy_an_unit_desc;
50
typedef cy_as_storage_callback_dep \
51
cy_an_storage_callback;
53
typedef cy_as_storage_event_callback_dep \
54
cy_an_storage_event_callback;
56
#define cy_an_sd_reg_OCR cy_as_sd_reg_OCR
57
#define cy_an_sd_reg_CID cy_as_sd_reg_CID
58
#define cy_an_sd_reg_CSD cy_as_sd_reg_CSD
59
typedef cy_as_sd_card_reg_type \
60
cy_an_sd_card_reg_type;
62
typedef cy_as_storage_query_device_data_dep \
63
cy_an_storage_query_device_data;
65
typedef cy_as_storage_query_unit_data_dep \
66
cy_an_storage_query_unit_data;
68
typedef cy_as_storage_sd_reg_read_data \
69
cy_an_storage_sd_reg_read_data;
71
#define CY_AN_SD_REG_OCR_LENGTH (CY_AS_SD_REG_OCR_LENGTH)
72
#define CY_AN_SD_REG_CID_LENGTH (CY_AS_SD_REG_CID_LENGTH)
73
#define CY_AN_SD_REG_CSD_LENGTH (CY_AS_SD_REG_CSD_LENGTH)
74
#define CY_AN_SD_REG_MAX_RESP_LENGTH \
75
(CY_AS_SD_REG_MAX_RESP_LENGTH)
77
/**** API Functions ******/
79
/* Sync version of Storage Start */
80
EXTERN cy_an_return_status_t
82
cy_an_device_handle handle
84
#define cy_an_storage_start(handle) \
85
cy_as_storage_start((cy_as_device_handle)(handle), 0, 0)
87
/* Async version of Storage Start */
88
EXTERN cy_an_return_status_t
89
cy_an_storage_start_e_x(
90
cy_an_device_handle handle,
91
cy_an_function_callback cb,
94
#define cy_an_storage_start_e_x(h, cb, client) \
95
cy_as_storage_start((cy_as_device_handle)(h), \
96
(cy_as_function_callback)(cb), (client))
98
/* Sync version of Storage Stop */
99
EXTERN cy_an_return_status_t
101
cy_an_device_handle handle
103
#define cy_an_storage_stop(handle) \
104
cy_as_storage_stop((cy_as_device_handle)(handle), 0, 0)
106
/* Async version of Storage Stop */
107
EXTERN cy_an_return_status_t
108
cy_an_storage_stop_e_x(
109
cy_an_device_handle handle,
110
cy_an_function_callback cb,
113
#define cy_an_storage_stop_e_x(h, cb, client) \
114
cy_as_storage_stop((cy_as_device_handle)(h), \
115
(cy_as_function_callback)(cb), (client))
117
/* Register Call back api */
118
EXTERN cy_an_return_status_t
119
cy_an_storage_register_callback(
120
cy_an_device_handle handle,
121
cy_an_storage_event_callback callback
123
#define cy_an_storage_register_callback(h, cb) \
124
cy_as_storage_register_callback_dep((cy_as_device_handle)(h), \
125
(cy_as_storage_event_callback_dep)(cb))
127
/* Sync version of Storage Claim */
128
EXTERN cy_an_return_status_t
130
cy_an_device_handle handle,
131
cy_an_media_type type
133
#define cy_an_storage_claim(h, type) \
134
cy_as_storage_claim_dep((cy_as_device_handle)(h), \
135
(cy_as_media_type)(type))
137
/* Async version of Storage Claim */
138
EXTERN cy_an_return_status_t
139
cy_an_storage_claim_e_x(
140
cy_an_device_handle handle,
141
cy_an_media_type *type,
142
cy_an_function_callback cb,
145
#define cy_an_storage_claim_e_x(h, type_p, cb, client) \
146
cy_as_storage_claim_dep_EX((cy_as_device_handle)(h), \
147
(cy_as_media_type *)(type_p), \
148
(cy_as_function_callback)(cb), (client))
150
/* Sync Version of Storage Release */
151
EXTERN cy_an_return_status_t
152
cy_an_storage_release(
153
cy_an_device_handle handle,
154
cy_an_media_type type
156
#define cy_an_storage_release(h, type) \
157
cy_as_storage_release_dep((cy_as_device_handle)(h), \
158
(cy_as_media_type)(type))
160
/* Async Version of Storage Release */
161
EXTERN cy_an_return_status_t
162
cy_an_storage_release_e_x(
163
cy_an_device_handle handle,
164
cy_an_media_type *type,
165
cy_an_function_callback cb,
168
#define cy_an_storage_release_e_x(h, type_p, cb, client) \
169
cy_as_storage_release_dep_EX((cy_as_device_handle)(h), \
170
(cy_as_media_type *)(type_p), \
171
(cy_as_function_callback)(cb), (client))
173
/* Sync version of Query Media */
174
EXTERN cy_an_return_status_t
175
cy_an_storage_query_media(
176
cy_an_device_handle handle,
177
cy_an_media_type type,
180
#define cy_an_storage_query_media(handle, type, count) \
181
cy_as_storage_query_media((cy_as_device_handle)(handle), \
182
(cy_as_media_type)(type), (count), 0, 0)
184
/* Async version of Query Media */
185
EXTERN cy_an_return_status_t
186
cy_an_storage_query_media_e_x(
187
cy_an_device_handle handle,
188
cy_an_media_type type,
190
cy_an_function_callback cb,
193
#define cy_an_storage_query_media_e_x(h, type, count, cb, client) \
194
cy_as_storage_query_media((cy_as_device_handle)(h), \
195
(cy_as_media_type)(type), (count), \
196
(cy_as_function_callback)(cb), (client))
198
/* Sync version of Query device */
199
EXTERN cy_an_return_status_t
200
cy_an_storage_query_device(
201
cy_an_device_handle handle,
202
cy_an_media_type type,
204
cy_an_device_desc *desc_p
206
#define cy_an_storage_query_device(h, type, device, desc_p) \
207
cy_as_storage_query_device_dep((cy_as_device_handle)(h), \
208
(cy_as_media_type)(type), (device), (cy_as_device_desc *)(desc_p))
210
/* Async version of Query device */
211
EXTERN cy_an_return_status_t
212
cy_an_storage_query_device_e_x(
213
cy_an_device_handle handle,
214
cy_an_storage_query_device_data *data,
215
cy_an_function_callback cb,
218
#define cy_an_storage_query_device_e_x(h, data, cb, client) \
219
cy_as_storage_query_device_dep_EX((cy_as_device_handle)(h), \
220
(cy_as_storage_query_device_data_dep *)(data), \
221
(cy_as_function_callback)(cb), (client))
223
/* Sync version of Query Unit */
224
EXTERN cy_an_return_status_t
225
cy_an_storage_query_unit(
226
cy_an_device_handle handle,
227
cy_an_media_type type,
230
cy_an_unit_desc *desc_p
232
#define cy_an_storage_query_unit(h, type, device, unit, desc_p) \
233
cy_as_storage_query_unit_dep((cy_as_device_handle)(h), \
234
(cy_as_media_type)(type), (device), \
235
(unit), (cy_as_unit_desc *)(desc_p))
237
/* Async version of Query Unit */
238
EXTERN cy_an_return_status_t
239
cy_an_storage_query_unit_e_x(
240
cy_an_device_handle handle,
241
cy_an_storage_query_unit_data *data_p,
242
cy_an_function_callback cb,
245
#define cy_an_storage_query_unit_e_x(h, data_p, cb, client) \
246
cy_as_storage_query_unit_dep_EX((cy_as_device_handle)(h), \
247
(cy_as_storage_query_unit_data_dep *)(data_p), \
248
(cy_as_function_callback)(cb), (client))
250
/* Sync version of device control */
251
EXTERN cy_an_return_status_t
252
cy_an_storage_device_control(
253
cy_an_device_handle handle,
254
cy_bool card_detect_en,
255
cy_bool write_prot_en
257
#define cy_an_storage_device_control(handle, \
258
card_detect_en, write_prot_en) \
259
cy_as_storage_device_control_dep((cy_as_device_handle)(handle), \
260
(card_detect_en), (write_prot_en), 0, 0)
262
/* Async version of device control */
263
EXTERN cy_an_return_status_t
264
cy_an_storage_device_control_e_x(
265
cy_an_device_handle handle,
266
cy_bool card_detect_en,
267
cy_bool write_prot_en,
268
cy_an_function_callback cb,
271
#define cy_an_storage_device_control_e_x(h, det_en, prot_en, cb, client) \
272
cy_as_storage_device_control_dep((cy_as_device_handle)(h), (det_en), \
273
(prot_en), (cy_as_function_callback)(cb), (client))
276
EXTERN cy_an_return_status_t
278
cy_an_device_handle handle,
279
cy_an_media_type type,
286
#define cy_an_storage_read(h, type, device, unit, block, data_p, nblks) \
287
cy_as_storage_read_dep((cy_as_device_handle)(h), \
288
(cy_as_media_type)(type), (device), (unit), \
289
(block), (data_p), (nblks))
292
EXTERN cy_an_return_status_t
293
cy_an_storage_read_async(
294
cy_an_device_handle handle,
295
cy_an_media_type type,
301
cy_an_storage_callback callback
303
#define cy_an_storage_read_async(h, type, device, unit, \
304
block, data_p, nblks, cb) \
305
cy_as_storage_read_async_dep((cy_as_device_handle)(h), \
306
(cy_as_media_type)(type), (device), (unit), (block), \
307
(data_p), (nblks), (cy_as_storage_callback_dep)(cb))
310
EXTERN cy_an_return_status_t
312
cy_an_device_handle handle,
313
cy_an_media_type type,
320
#define cy_an_storage_write(h, type, device, unit, \
321
block, data_p, nblks) \
322
cy_as_storage_write_dep((cy_as_device_handle)(h), \
323
(cy_as_media_type)(type), (device), (unit), \
324
(block), (data_p), (nblks))
327
EXTERN cy_an_return_status_t
328
cy_an_storage_write_async(
329
cy_an_device_handle handle,
330
cy_an_media_type type,
336
cy_an_storage_callback callback
338
#define cy_an_storage_write_async(h, type, device, unit, \
339
block, data_p, nblks, cb) \
340
cy_as_storage_write_async_dep((cy_as_device_handle)(h), \
341
(cy_as_media_type)(type), (device), (unit), (block), \
342
(data_p), (nblks), (cy_as_storage_callback_dep)(cb))
345
EXTERN cy_an_return_status_t
346
cy_an_storage_cancel_async(
347
cy_an_device_handle handle
349
#define cy_an_storage_cancel_async(h) \
350
cy_as_storage_cancel_async((cy_as_device_handle)(h))
352
/* Sync SD Register Read*/
353
EXTERN cy_an_return_status_t
354
cy_an_storage_sd_register_read(
355
cy_an_device_handle handle,
356
cy_an_media_type type,
358
cy_an_sd_card_reg_type reg_type,
362
#define cy_an_storage_sd_register_read(h, type, device, \
363
reg_type, len, data_p) \
364
cy_as_storage_sd_register_read_dep((cy_as_device_handle)(h), \
365
(cy_as_media_type)(type), (device), \
366
(cy_as_sd_card_reg_type)(reg_type), (len), (data_p))
368
/*Async SD Register Read*/
369
EXTERN cy_an_return_status_t
370
cy_an_storage_sd_register_read_e_x(
371
cy_an_device_handle handle,
372
cy_an_media_type type,
374
cy_an_sd_card_reg_type reg_type,
375
cy_an_storage_sd_reg_read_data *data_p,
376
cy_an_function_callback cb,
379
#define cy_an_storage_sd_register_read_e_x(h, type, device, \
380
reg_type, data_p, cb, client) \
381
cy_as_storage_sd_register_read_dep_EX((cy_as_device_handle)(h), \
382
(cy_as_media_type)(type), (device), \
383
(cy_as_sd_card_reg_type)(reg_type), \
384
(cy_as_storage_sd_reg_read_data *)(data_p), \
385
(cy_as_function_callback)(cb), (client))
387
/* Create partition on storage device */
388
EXTERN cy_an_return_status_t
389
cy_an_storage_create_p_partition(
390
cy_an_device_handle handle,
391
cy_an_media_type media,
394
cy_an_function_callback cb,
396
#define cy_an_storage_create_p_partition(h, media, dev, \
398
cy_as_storage_create_p_partition_dep((cy_as_device_handle)(h), \
399
(cy_as_media_type)(media), (dev), \
400
(size), (cy_as_function_callback)(cb), (client))
402
/* Remove partition on storage device */
403
EXTERN cy_an_return_status_t
404
cy_an_storage_remove_p_partition(
405
cy_an_device_handle handle,
406
cy_an_media_type media,
408
cy_an_function_callback cb,
410
#define cy_an_storage_remove_p_partition\
411
(h, media, dev, cb, client) \
412
cy_as_storage_remove_p_partition_dep((cy_as_device_handle)(h), \
413
(cy_as_media_type)(media), (dev), \
414
(cy_as_function_callback)(cb), (client))
416
#include "cyas_cplus_end.h"
417
#endif /*__doxygen__ */