blob: a11f6a8538f7d4935111020105ba089d56060e71 [file] [log] [blame]
yuezonghe824eb0c2024-06-27 02:32:26 -07001/*******************************************************************************
2 * Copyright (C) 2007, ZTE Corporation.
3 *
4 * File Name:
5 * File Mark:
6 * Description:
7 * Others:
8 * Version:
9 * Author: XUJINYOU
10 * Date: 2014-7-28
11 * History 1:
12 * Date:
13 * Version:
14 * Author:
15 * Modification:
16 * History 2:
17 ********************************************************************************/
18
19#ifndef _MMC_DRVS_IO_H
20#define _MMC_DRVS_IO_H
21
22typedef struct _T_MmcDrv_Ops T_MmcDrv_Ops;
23
24
25struct _T_MmcDrv_Ops
26{
27 SINT32 (*open)(VOID *devdata, UINT32 flags);
28 SINT32 (*read)(VOID *devdata, VOID*param1, VOID*param2);
29 SINT32 (*write)(VOID *devdata,VOID *param1, VOID*param2);
30 SINT32 (*ioctrl)(VOID *devdata, UINT32 event, VOID*param);
31 SINT32 (*close)(VOID *devdata);
32};
33
34
35
36#define MMC_DRVNAME_LEN 20
37#define MMC_APPNAME_LEN 20
38
39typedef struct _T_MmcDrv
40{
41 struct list_head node;
42 UINT8 drvName[MMC_DRVNAME_LEN];
43 T_MmcDrv_Ops* drv_op;
44 struct list_head devlist;
45 UINT32 devcount;
46}T_MmcDrv, *PTMmcDrv;
47
48#define MMC_DEVNAME_LEN 20
49
50typedef struct _T_MmcDev
51{
52 VOID* priv;
53 UINT8 devName[MMC_DEVNAME_LEN];
54 T_MmcDrv* driver;
55 VOID*param;
56 struct list_head devNode;
57}T_MmcDev,*PTMmcDev;
58
59
60typedef struct _T_MmcData_Collect
61{
62 UINT8 type;
63 UINT8 fun_num;
64 UINT16 blk_size;
65 UINT32 startaddr; /*startpos for blk, start addr for bytes*/
66 UINT32 count; /**/
67 UINT32 flag; /*b:0 fifo*/
68 VOID* pbuffer;
69 VOID (*Mmccallback)(struct _T_MmcData_Collect* param);
70 VOID*priv;
71}T_MmcData_Collect, *PMmcData_Collect;
72
73
74
75#endif
76