diff options
| author | Raghuram Subramani <raghus2247@gmail.com> | 2022-06-19 19:47:51 +0530 | 
|---|---|---|
| committer | Raghuram Subramani <raghus2247@gmail.com> | 2022-06-19 19:47:51 +0530 | 
| commit | 4fd287655a72b9aea14cdac715ad5b90ed082ed2 (patch) | |
| tree | 65d393bc0e699dd12d05b29ba568e04cea666207 /circuitpython/lib/oofatfs/diskio.h | |
| parent | 0150f70ce9c39e9e6dd878766c0620c85e47bed0 (diff) | |
add circuitpython code
Diffstat (limited to 'circuitpython/lib/oofatfs/diskio.h')
| -rw-r--r-- | circuitpython/lib/oofatfs/diskio.h | 81 | 
1 files changed, 81 insertions, 0 deletions
| diff --git a/circuitpython/lib/oofatfs/diskio.h b/circuitpython/lib/oofatfs/diskio.h new file mode 100644 index 0000000..d886bdd --- /dev/null +++ b/circuitpython/lib/oofatfs/diskio.h @@ -0,0 +1,81 @@ +/* This file is part of ooFatFs, a customised version of FatFs + * See https://github.com/micropython/oofatfs for details + */ + +/*-----------------------------------------------------------------------/ +/  Low level disk interface modlue include file   (C)ChaN, 2014          / +/-----------------------------------------------------------------------*/ + +#ifndef _DISKIO_DEFINED +#define _DISKIO_DEFINED + +#ifdef __cplusplus +extern "C" { +#endif + +/* Status of Disk Functions */ +typedef BYTE    DSTATUS; + +/* Results of Disk Functions */ +typedef enum { +    RES_OK = 0,     /* 0: Successful */ +    RES_ERROR,      /* 1: R/W Error */ +    RES_WRPRT,      /* 2: Write Protected */ +    RES_NOTRDY,     /* 3: Not Ready */ +    RES_PARERR      /* 4: Invalid Parameter */ +} DRESULT; + + +/*---------------------------------------*/ +/* Prototypes for disk control functions */ + + +DRESULT disk_read (void *drv, BYTE* buff, DWORD sector, UINT count); +DRESULT disk_write (void *drv, const BYTE* buff, DWORD sector, UINT count); +DRESULT disk_ioctl (void *drv, BYTE cmd, void* buff); + + +/* Disk Status Bits (DSTATUS) */ + +#define STA_NOINIT      0x01    /* Drive not initialized */ +#define STA_NODISK      0x02    /* No medium in the drive */ +#define STA_PROTECT     0x04    /* Write protected */ + + +/* Command code for disk_ioctrl fucntion */ + +/* Generic command (Used by FatFs) */ +#define CTRL_SYNC           0   /* Complete pending write process (needed at FF_FS_READONLY == 0) */ +#define GET_SECTOR_COUNT    1   /* Get media size (needed at FF_USE_MKFS == 1) */ +#define GET_SECTOR_SIZE     2   /* Get sector size (needed at FF_MAX_SS != FF_MIN_SS) */ +#define GET_BLOCK_SIZE      3   /* Get erase block size (needed at FF_USE_MKFS == 1) */ +#define CTRL_TRIM           4   /* Inform device that the data on the block of sectors is no longer used (needed at FF_USE_TRIM == 1) */ +#define IOCTL_INIT          5 +#define IOCTL_STATUS        6 + +/* Generic command (Not used by FatFs) */ +#define CTRL_POWER          5   /* Get/Set power status */ +#define CTRL_LOCK           6   /* Lock/Unlock media removal */ +#define CTRL_EJECT          7   /* Eject media */ +#define CTRL_FORMAT         8   /* Create physical format on the media */ + +/* MMC/SDC specific ioctl command */ +#define MMC_GET_TYPE        10  /* Get card type */ +#define MMC_GET_CSD         11  /* Get CSD */ +#define MMC_GET_CID         12  /* Get CID */ +#define MMC_GET_OCR         13  /* Get OCR */ +#define MMC_GET_SDSTAT      14  /* Get SD status */ +#define ISDIO_READ          55  /* Read data form SD iSDIO register */ +#define ISDIO_WRITE         56  /* Write data to SD iSDIO register */ +#define ISDIO_MRITE         57  /* Masked write data to SD iSDIO register */ + +/* ATA/CF specific ioctl command */ +#define ATA_GET_REV         20  /* Get F/W revision */ +#define ATA_GET_MODEL       21  /* Get model name */ +#define ATA_GET_SN          22  /* Get serial number */ + +#ifdef __cplusplus +} +#endif + +#endif | 
