LPCOpen Platform for LPC18XX/43XX microcontrollers  18XX43XX
LPCOpen Platform for the NXP LPC18XX/43XX family of Microcontrollers
Data Structures | Macros | Typedefs | Enumerations | Functions
spifilib_dev.h File Reference
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  SPIFI_FAM_NODE_T
 LPCSPIFILIB family data. More...
 
struct  SPIFI_FAM_DESC_T
 LPCSPIFILIB family descriptor, used to describe devices to non-device specific functions. More...
 
struct  SPIFI_DEV_NODE_T
 Register device data node. More...
 
struct  SPIFI_FAM_FX_T
 Device specific function pointers. More...
 
struct  SPIFI_DEVICE_ID_T
 Device identification data. More...
 
struct  SPIFI_DEVICE_DATA_T
 Register device data. More...
 
struct  SPIFI_HANDLE_T
 LPCSPIFILIB device handle, used with all device and info functions. More...
 
struct  SPIFI_INFODATA_T
 Common data applicable to all devices. More...
 
struct  SPIFI_DEV_ENUMERATOR_T
 Context for enumerating devices. More...
 

Macros

#define INLINE   inline
 
#define SPIFI_CAP_DUAL_READ   (1 << 0)
 Possible device capabilities returned from getInfo() More...
 
#define SPIFI_CAP_DUAL_WRITE   (1 << 1)
 
#define SPIFI_CAP_QUAD_READ   (1 << 2)
 
#define SPIFI_CAP_QUAD_WRITE   (1 << 3)
 
#define SPIFI_CAP_FULLLOCK   (1 << 4)
 
#define SPIFI_CAP_BLOCKLOCK   (1 << 5)
 
#define SPIFI_CAP_SUBBLKERASE   (1 << 6)
 
#define SPIFI_CAP_4BYTE_ADDR   (1 << 7)
 
#define SPIFI_CAP_NOBLOCK   (1 << 16)
 
#define SPIFI_OPT_USE_DUAL   (3 << 0)
 Possible driver options, may not be supported by all drivers. More...
 
#define SPIFI_OPT_USE_QUAD   (3 << 2)
 
#define SPIFI_OPT_NOBLOCK   (1 << 16)
 
#define SPIFI_STAT_BUSY   (1 << 0)
 Possible device statuses returned from getInfo() More...
 
#define SPIFI_STAT_ISWP   (1 << 1)
 
#define SPIFI_STAT_FULLLOCK   (1 << 2)
 
#define SPIFI_STAT_PARTLOCK   (1 << 3)
 
#define SPIFI_STAT_PROGERR   (1 << 4)
 
#define SPIFI_STAT_ERASEERR   (1 << 5)
 
#define SPIFI_INFO_QUADREAD_CLOCK   SPIFI_INFO_MAX_HSREAD_CLOCK
 SPIFI_INFO_QUADREAD_CLOCK Depricated! Do NOT use for new development. More...
 
#define SPIFI_INFO_QUADPROG_CLOCK   SPIFI_INFO_MAX_HSPROG_CLOCK
 SPIFI_INFO_QUADPROG_CLOCK Depricated! Do NOT use for new development. More...
 
#define SPIFI_REG_FAMILY_Spansion_2Byte_PStatus   spifi_REG_FAMILY_CommonCommandSet
 SPIFI_REG_FAMILY_Spansion_2Byte_PStatus Depricated! Do NOT use for new development. More...
 
#define SPIFI_REG_FAMILY_Spansion_3Byte_Status   spifi_REG_FAMILY_CommonCommandSet
 SPIFI_REG_FAMILY_Spansion_3Byte_Status Depricated! Do NOT use for new development. More...
 
#define SPIFI_REG_FAMILY_Macronix_2Byte_Status   spifi_REG_FAMILY_CommonCommandSet
 SPIFI_REG_FAMILY_Macronix_2Byte_Status Depricated! Do NOT use for new development. More...
 
#define SPIFI_REG_FAMILY_SpansionS25FLP   spifi_REG_FAMILY_CommonCommandSet
 SPIFI_REG_FAMILY_SpansionS25FLP Depricated! Do NOT use for new development. More...
 
#define SPIFI_REG_FAMILY_SpansionS25FL1   spifi_REG_FAMILY_CommonCommandSet
 SPIFI_REG_FAMILY_SpansionS25FL1 Depricated! Do NOT use for new development. More...
 
#define SPIFI_REG_FAMILY_MacronixMX25L   spifi_REG_FAMILY_CommonCommandSet
 SPIFI_REG_FAMILY_MacronixMX25L Depricated! Do NOT use for new development. More...
 

Typedefs

typedef SPIFI_ERR_T(* deviceInitDeInitFx )(const struct SPIFI_HANDLE *, uint32_t)
 
typedef void(* devClearStatusFx )(const struct SPIFI_HANDLE *)
 
typedef uint32_t(* devGetStatusFx )(const struct SPIFI_HANDLE *)
 
typedef void(* devSetStatusFx )(const struct SPIFI_HANDLE *, uint32_t)
 
typedef SPIFI_ERR_T(* devSetOptsFx )(const struct SPIFI_HANDLE *, uint32_t, uint32_t)
 
typedef void(* devGetReadCmdFx )(const struct SPIFI_HANDLE *, uint8_t, uint32_t *, uint32_t *)
 
typedef void(* devGetWriteCmdFx )(const struct SPIFI_HANDLE *, uint32_t *)
 

Enumerations

enum  SPIFI_ERR_T {
  SPIFI_ERR_NONE = 0, SPIFI_ERR_BUSY, SPIFI_ERR_GEN, SPIFI_ERR_NOTSUPPORTED,
  SPIFI_ERR_ALIGNERR, SPIFI_ERR_LOCKED, SPIFI_ERR_PROGERR, SPIFI_ERR_ERASEERR,
  SPIFI_ERR_NOTBLANK, SPIFI_ERR_PAGESIZE, SPIFI_ERR_VAL, SPIFI_ERR_RANGE,
  SPIFI_ERR_MEMMODE
}
 Possible error codes that can be returned from functions. More...
 
enum  SPIFI_INFO_ID_T {
  SPIFI_INFO_BASE_ADDRESS = 0, SPIFI_INFO_DEVSIZE, SPIFI_INFO_ERASE_BLOCKS, SPIFI_INFO_ERASE_BLOCKSIZE,
  SPIFI_INFO_ERASE_SUBBLOCKS, SPIFI_INFO_ERASE_SUBBLOCKSIZE, SPIFI_INFO_PAGESIZE, SPIFI_INFO_MAXREADSIZE,
  SPIFI_INFO_MAXCLOCK, SPIFI_INFO_MAX_READ_CLOCK, SPIFI_INFO_MAX_HSREAD_CLOCK, SPIFI_INFO_MAX_PROG_CLOCK,
  SPIFI_INFO_MAX_HSPROG_CLOCK, SPIFI_INFO_CAPS, SPIFI_INFO_STATUS, SPIFI_INFO_STATUS_RETAIN,
  SPIFI_INFO_OPTIONS, SPIFI_INFO_LASTINDEX
}
 Possible info lookup requests. More...
 
enum  SPIFI_PCMD_LOCK_UNLOCK_T { SPIFI_PCMD_UNLOCK_DEVICE = 0, SPIFI_PCMD_LOCK_DEVICE, SPIFI_PCMD_UNLOCK_BLOCK, SPIFI_PCMD_LOCK_BLOCK }
 Possible device specific lock / un-lock commands. More...
 
enum  SPIFI_PCMD_SUBBLK_T { SPIFI_PCMD_ADDR_TO_SUB_BLOCK = 0, SPIFI_PCMD_SUB_BLOCK_TO_ADDR, SPIFI_PCMD_BLOCK_TO_SUB_BLOCK }
 Possible device specific sub-block commands. More...
 
enum  SPIFI_DEVFX_T {
  FX_spifiDeviceDataInitDeinit = 0, FX_spifiDeviceDataInitDeinitS25FL164K, FX_spifiDeviceDataClearStatusNone, FX_spifiDeviceDataClearStatusS25FL032P,
  FX_spifiDeviceDataGetStatusS25FL032P, FX_spifiDeviceDataGetStatusS25FL164K, FX_spifiDeviceDataGetStatusMX25L3235E, FX_spifiDeviceDataGetStatusW25Q80BV,
  FX_spifiDeviceDataSetStatusS25FL032P, FX_spifiDeviceDataSetStatusS25FL164K, FX_spifiDeviceDataSetStatusMX25L3235E, FX_spifiDeviceDataSetOptsQuadModeBit9,
  FX_spifiDeviceDataSetOptsQuadModeBit6, FX_spifiDeviceInitReadCommand, FX_spifiDevice4BInitReadCommand, FX_spifiDeviceInitWriteCommand,
  FX_spifiDevice4BInitWriteCommand, FX_spifiDeviceInitWriteCommandMacronix
}
 Enumeration of device specific functions. More...
 

Functions

SPIFI_FAM_NODE_Tspifi_REG_FAMILY_CommonCommandSet (void)
 Family registration function. More...
 

Macro Definition Documentation

#define INLINE   inline

Definition at line 46 of file spifilib_dev.h.