00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef LINUX_SDIOEMB_UIF_H
00010 #define LINUX_SDIOEMB_UIF_H
00011
00012 enum sdioemb_uif_cmd_type {
00013 SDIOEMB_UIF_CMD52_READ, SDIOEMB_UIF_CMD52_WRITE,
00014 SDIOEMB_UIF_CMD53_READ, SDIOEMB_UIF_CMD53_WRITE,
00015 };
00016
00017 struct sdioemb_uif_cmd {
00018 enum sdioemb_uif_cmd_type type;
00019 int function;
00020 uint32_t address;
00021 uint8_t * data;
00022 size_t len;
00023 int block_size;
00024 };
00025
00026 #define SDIOEMB_UIF_IOC_MAGIC 's'
00027
00028 #define SDIOEMB_UIF_IOCQNUMFUNCS _IO(SDIOEMB_UIF_IOC_MAGIC, 0)
00029 #define SDIOEMB_UIF_IOCCMD _IOWR(SDIOEMB_UIF_IOC_MAGIC, 1, struct sdioemb_uif_cmd)
00030 #define SDIOEMB_UIF_IOCWAITFORINT _IO(SDIOEMB_UIF_IOC_MAGIC, 2)
00031 #define SDIOEMB_UIF_IOCTBUSWIDTH _IO(SDIOEMB_UIF_IOC_MAGIC, 3)
00032 #define SDIOEMB_UIF_IOCREINSERT _IO(SDIOEMB_UIF_IOC_MAGIC, 4)
00033 #define SDIOEMB_UIF_IOCTBUSFREQ _IO(SDIOEMB_UIF_IOC_MAGIC, 5)
00034 #define SDIOEMB_UIF_IOCQMANFID _IO(SDIOEMB_UIF_IOC_MAGIC, 6)
00035 #define SDIOEMB_UIF_IOCQCARDID _IO(SDIOEMB_UIF_IOC_MAGIC, 7)
00036 #define SDIOEMB_UIF_IOCQSTDIF _IO(SDIOEMB_UIF_IOC_MAGIC, 8)
00037 #define SDIOEMB_UIF_IOCQMAXBLKSZ _IO(SDIOEMB_UIF_IOC_MAGIC, 9)
00038 #define SDIOEMB_UIF_IOCQBLKSZ _IO(SDIOEMB_UIF_IOC_MAGIC, 10)
00039 #define SDIOEMB_UIF_IOCTBLKSZ _IO(SDIOEMB_UIF_IOC_MAGIC, 11)
00040
00041 #endif