1 /*----------------------------------------------------------------------- 
   2 /  Low level disk interface modlue include file  R0.07   (C)ChaN, 2010 
   3 /-----------------------------------------------------------------------*/ 
   7 #define _READONLY       0       /* 1: Read-only mode */ 
  13 #include "../DataflashManager.h" 
  16 /* Status of Disk Functions */ 
  19 /* Results of Disk Functions */ 
  21         RES_OK 
= 0,             /* 0: Successful */ 
  22         RES_ERROR
,              /* 1: R/W Error */ 
  23         RES_WRPRT
,              /* 2: Write Protected */ 
  24         RES_NOTRDY
,             /* 3: Not Ready */ 
  25         RES_PARERR              
/* 4: Invalid Parameter */ 
  29 /*---------------------------------------*/ 
  30 /* Prototypes for disk control functions */ 
  32 BOOL 
assign_drives (int argc
, char *argv
[]); 
  33 DSTATUS 
disk_initialize (BYTE
); 
  34 DSTATUS 
disk_status (BYTE
); 
  35 DRESULT 
disk_read (BYTE
, BYTE
*, DWORD
, BYTE
); 
  37 DRESULT 
disk_write (BYTE
, const BYTE
*, DWORD
, BYTE
); 
  39 DRESULT 
disk_ioctl (BYTE
, BYTE
, void*); 
  42 /* Disk Status Bits (DSTATUS) */ 
  44 #define STA_NOINIT              0x01    /* Drive not initialized */ 
  45 #define STA_NODISK              0x02    /* No medium in the drive */ 
  46 #define STA_PROTECT             0x04    /* Write protected */ 
  49 /* Command code for disk_ioctrl() */ 
  52 #define CTRL_SYNC                       0       /* Mandatory for write functions */ 
  53 #define GET_SECTOR_COUNT        1       /* Mandatory for only f_mkfs() */ 
  54 #define GET_SECTOR_SIZE         2       /* Mandatory for multiple sector size cfg */ 
  55 #define GET_BLOCK_SIZE          3       /* Mandatory for only f_mkfs() */ 
  60 #define MMC_GET_TYPE            10 
  61 #define MMC_GET_CSD                     11 
  62 #define MMC_GET_CID                     12 
  63 #define MMC_GET_OCR                     13 
  64 #define MMC_GET_SDSTAT          14 
  66 #define ATA_GET_REV                     20 
  67 #define ATA_GET_MODEL           21