MAX32665 SDK Documentation  0.2
Software Development Kit Overview and API Documentation
SPI External Flash (SPIXF)

Modules

 SPIXF_Registers
 Registers, Bit Masks and Bit Positions for the SPIXF Peripheral Module.
 

Data Structures

struct  spixf_req_t
 SPIXF Transaction request. More...
 

Enumerations

enum  spixf_cfg_mode_t {
  SPI_MODE_0 = MXC_S_SPIXF_CFG_MODE_SCLK_HI_SAMPLE_RISING,
  SPI_MODE_3 = MXC_S_SPIXF_CFG_MODE_SCLK_LO_SAMPLE_FAILLING
}
 SPIXF_CFG. More...
 
enum  spixf_cfg_sspol_t {
  SSPOL_ACTIVE_HI = 0,
  SSPOL_ACTIVE_LO = MXC_F_SPIXF_CFG_SSPOL
}
 Polarity of slave select.
 
enum  spixf_cfg_ssact_t {
  SYS_CLOCKS_0 = MXC_S_SPIXF_CFG_SSACT_OFF,
  SYS_CLOCKS_2 = MXC_S_SPIXF_CFG_SSACT_FOR_2_MOD_CLK,
  SYS_CLOCKS_4 = MXC_S_SPIXF_CFG_SSACT_FOR_4_MOD_CLK,
  SYS_CLOCKS_8 = MXC_S_SPIXF_CFG_SSACT_FOR_8_MOD_CLK
}
 Slave select active timing.
 
enum  spixf_cfg_ssiact_t {
  SYS_CLOCKS_1 = MXC_S_SPIXF_CFG_SSIACT_FOR_1_MOD_CLK,
  SYS_CLOCKS_3 = MXC_S_SPIXF_CFG_SSIACT_FOR_3_MOD_CLK,
  SYS_CLOCKS_5 = MXC_S_SPIXF_CFG_SSIACT_FOR_5_MOD_CLK,
  SYS_CLOCKS_9 = MXC_S_SPIXF_CFG_SSIACT_FOR_9_MOD_CLK
}
 Slave select Inactive timing. More...
 
enum  spixf_fctl_cmdwth_t {
  SINGLE_SDIO_CMD = MXC_S_SPIXF_FETCH_CTRL_CMD_WIDTH_SINGLE,
  DUAL_SDIO_CMD = MXC_S_SPIXF_FETCH_CTRL_CMD_WIDTH_DUAL_IO,
  QUAD_SDIO_CMD = MXC_S_SPIXF_FETCH_CTRL_CMD_WIDTH_QUAD_IO,
  INVALID_CMD = MXC_S_SPIXF_FETCH_CTRL_CMD_WIDTH_INVALID
}
 SPIXF_FETCH_CTRL. More...
 
enum  spixf_fctl_adrwth_t {
  SINGLE_SDIO_ADDR = MXC_S_SPIXF_FETCH_CTRL_ADDR_WIDTH_SINGLE,
  DUAL_SDIO_ADDR = MXC_S_SPIXF_FETCH_CTRL_ADDR_WIDTH_DUAL_IO,
  QUAD_SDIO_ADDR = MXC_S_SPIXF_FETCH_CTRL_ADDR_WIDTH_QUAD_IO,
  INVALID_ADDR = MXC_S_SPIXF_FETCH_CTRL_ADDR_WIDTH_INVALID
}
 Addr Width, # of data I/O used to send addr and mode/dummy clks.
 
enum  spixf_fctl_datwth_t {
  SINGLE_SDIO_DATA = MXC_S_SPIXF_FETCH_CTRL_DATA_WIDTH_SINGLE,
  DUAL_SDIO_DATA = MXC_S_SPIXF_FETCH_CTRL_DATA_WIDTH_DUAL_IO,
  QUAD_SDIO_DATA = MXC_S_SPIXF_FETCH_CTRL_DATA_WIDTH_QUAD_IO,
  INVALID_DATA = MXC_S_SPIXF_FETCH_CTRL_DATA_WIDTH_INVALID
}
 Data Width, # of data I/O used to rcv data.
 
enum  spixf_fctl_addr4_t {
  THREE_BYTE_ADDR_MODE = 0,
  FOUR_BYTE_ADDR_MODE = MXC_F_SPIXF_FETCH_CTRL_FOUR_BYTE_ADDR
}
 3 or 4 byte address mode flash
 
enum  spixf_mctl_nocmd_t {
  SND_RDCMD_EVRYTIME = 0,
  SND_RDCMD_ONLYONCE = MXC_F_SPIXF_MODE_CTRL_NO_CMD
}
 SPIXF_MODE_CTRL. More...
 
enum  spixf_fctrl_fbmd_t {
  DISABLE_SCLK_FB = 0,
  ENABLE_SCLK_FB = MXC_F_SPIXF_SCLK_FB_CTRL_FB_EN
}
 SPIXF_FB_CTRL. More...
 
enum  spixf_fctrl_finv_t {
  DISABLE_FBCLK_INV = 0,
  ENABLE_FBCLK_INV = MXC_F_SPIXF_SCLK_FB_CTRL_INVERT_EN
}
 Feedback clock invert.
 
enum  spixf_ioctl_sclk_t {
  LO_DRIVE_STRENGTH_SCLK = 0,
  HI_DRIVE_STRENGTH_SCLK = MXC_F_SPIXF_IO_CTRL_SCLK_DS
}
 SPIXF_IOCTRL. More...
 
enum  spixf_ioctl_ss_t {
  LO_DRIVE_STRENGTH_SS = 0,
  HI_DRIVE_STRENGTH_SS = MXC_F_SPIXF_IO_CTRL_SS_DS
}
 Slave Sel. Drive Strength.
 
enum  spixf_ioctl_sdio_t {
  LO_DRIVE_STRENGTH_SDIO = 0,
  HI_DRIVE_STRENGTH_SDIO = MXC_F_SPIXF_IO_CTRL_SDIO_DS
}
 SDIO Drive Strength.
 
enum  spixf_ioctl_pup_t {
  TRISTATE = MXC_S_SPIXF_IO_CTRL_PU_PD_CTRL_TRI_STATE,
  PULL_UP = MXC_S_SPIXF_IO_CTRL_PU_PD_CTRL_PULL_UP,
  PULL_DOWN = MXC_S_SPIXF_IO_CTRL_PU_PD_CTRL_PULL_DOWN
}
 IO pullup/pulldown Control.
 

Functions

void SPIXF_setup (mxc_spixf_regs_t *spixf, spixf_req_t *req)
 Setup SPIXF for Execute in Place. More...
 
void SPIXF_ioctrl (spixf_ioctl_sclk_t sclk_ds, spixf_ioctl_ss_t ss_ds, spixf_ioctl_sdio_t sdio_ds, spixf_ioctl_pup_t pupdctrl)
 Setup Drive Strength on the I/O pins. More...
 

Detailed Description

Enumeration Type Documentation

◆ spixf_cfg_mode_t

SPI Mode 0 & 3 selected

◆ spixf_cfg_ssiact_t

Enumerator
SYS_CLOCKS_1 

1 system clocks

SYS_CLOCKS_3 

3 system clocks

SYS_CLOCKS_5 

5 system clocks

SYS_CLOCKS_9 

9 system clocks

◆ spixf_fctl_cmdwth_t

Command Width, # of data I/O used to send commands

◆ spixf_mctl_nocmd_t

No command mode

◆ spixf_fctrl_fbmd_t

SCLK Feedback enable/disable

◆ spixf_ioctl_sclk_t

SCLK Drive Strength

Function Documentation

◆ SPIXF_setup()

void SPIXF_setup ( mxc_spixf_regs_t spixf,
spixf_req_t req 
)
Parameters
spixfPointer to SPIXF regs.
reqRequest for a SPIXF transaction.

◆ SPIXF_ioctrl()

void SPIXF_ioctrl ( spixf_ioctl_sclk_t  sclk_ds,
spixf_ioctl_ss_t  ss_ds,
spixf_ioctl_sdio_t  sdio_ds,
spixf_ioctl_pup_t  pupdctrl 
)
Parameters
sclk_dsSCLK drive strength
ss_dsSlave Select Drive Strength
sdio_dsSDIO Drive Strength
pupdctrlIO Pullup/Pulldown Control