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__ */