PSoC 6 Peripheral Driver Library

General Description

Enumerations

enum  cy_en_smif_txfr_width_t {
  CY_SMIF_WIDTH_SINGLE = 0U,
  CY_SMIF_WIDTH_DUAL = 1U,
  CY_SMIF_WIDTH_QUAD = 2U,
  CY_SMIF_WIDTH_OCTAL = 3U,
  CY_SMIF_WIDTH_NA = 0xFFU
}
 The Transfer width options for the command, data, the address and the mode. More...
 
enum  cy_en_smif_error_event_t {
  CY_SMIF_BUS_ERROR = 0UL,
  CY_SMIF_WAIT_STATES = 1UL
}
 The SMIF error-event selection. More...
 
enum  cy_en_smif_data_select_t {
  CY_SMIF_DATA_SEL0 = 0,
  CY_SMIF_DATA_SEL1 = 1,
  CY_SMIF_DATA_SEL2 = 2,
  CY_SMIF_DATA_SEL3 = 3
}
 The data line-selection options for a slave device. More...
 
enum  cy_en_smif_mode_t {
  CY_SMIF_NORMAL,
  CY_SMIF_MEMORY
}
 The SMIF modes to work with an external memory. More...
 
enum  cy_en_smif_txfr_status_t {
  CY_SMIF_STARTED,
  CY_SMIF_SEND_COMPLETE,
  CY_SMIF_SEND_BUSY,
  CY_SMIF_RX_COMPLETE,
  CY_SMIF_RX_BUSY,
  CY_SMIF_XIP_ERROR,
  CY_SMIF_CMD_ERROR,
  CY_SMIF_TX_ERROR,
  CY_SMIF_RX_ERROR
}
 The SMIF transfer status return values. More...
 
enum  cy_en_smif_status_t {
  CY_SMIF_SUCCESS = 0x00U,
  CY_SMIF_CMD_FIFO_FULL = CY_SMIF_ID |CY_PDL_STATUS_ERROR | 0x01U,
  CY_SMIF_EXCEED_TIMEOUT = CY_SMIF_ID |CY_PDL_STATUS_ERROR | 0x02U,
  CY_SMIF_NO_QE_BIT = CY_SMIF_ID |CY_PDL_STATUS_ERROR | 0x03U,
  CY_SMIF_BAD_PARAM = CY_SMIF_ID |CY_PDL_STATUS_ERROR | 0x04U,
  CY_SMIF_NO_SFDP_SUPPORT = CY_SMIF_ID |CY_PDL_STATUS_ERROR | 0x05U,
  CY_SMIF_NOT_HYBRID_MEM = CY_SMIF_ID |CY_PDL_STATUS_ERROR | 0x06U,
  CY_SMIF_SFDP_CORRUPTED_TABLE = CY_SMIF_ID |CY_PDL_STATUS_ERROR | 0x07U,
  CY_SMIF_SFDP_SS0_FAILED,
  CY_SMIF_SFDP_SS1_FAILED,
  CY_SMIF_SFDP_SS2_FAILED,
  CY_SMIF_SFDP_SS3_FAILED,
  CY_SMIF_CMD_NOT_FOUND = CY_SMIF_ID |CY_PDL_STATUS_ERROR | 0x80U
}
 The SMIF API return values. More...
 
enum  cy_en_smif_slave_select_t {
  CY_SMIF_SLAVE_SELECT_0 = 1U,
  CY_SMIF_SLAVE_SELECT_1 = 2U,
  CY_SMIF_SLAVE_SELECT_2 = 4U,
  CY_SMIF_SLAVE_SELECT_3 = 8U
}
 The SMIF slave select definitions for the driver API. More...
 
enum  cy_en_smif_clk_select_t {
  CY_SMIF_SEL_INTERNAL_CLK = 0U,
  CY_SMIF_SEL_INVERTED_INTERNAL_CLK = 1U,
  CY_SMIF_SEL_FEEDBACK_CLK = 2U,
  CY_SMIF_SEL_INVERTED_FEEDBACK_CLK = 3U
}
 Specifies the clock source for the receiver clock. More...
 
enum  cy_en_smif_cache_t {
  CY_SMIF_CACHE_SLOW = 1U,
  CY_SMIF_CACHE_FAST = 2U,
  CY_SMIF_CACHE_BOTH = 3U
}
 Specifies enabled type of SMIF cache. More...
 

Enumeration Type Documentation

◆ cy_en_smif_txfr_width_t

The Transfer width options for the command, data, the address and the mode.

Enumerator
CY_SMIF_WIDTH_SINGLE 

Single SPI mode.

CY_SMIF_WIDTH_DUAL 

Dual SPI mode.

CY_SMIF_WIDTH_QUAD 

Quad SPI mode.

CY_SMIF_WIDTH_OCTAL 

Octal SPI mode.

CY_SMIF_WIDTH_NA 

The specific width parameter is not applicable for this memory command.

◆ cy_en_smif_error_event_t

The SMIF error-event selection.

Enumerator
CY_SMIF_BUS_ERROR 

Generates a bus error.

CY_SMIF_WAIT_STATES 

Stalls the bus with the wait states.

This option will increase the interrupt latency.

◆ cy_en_smif_data_select_t

The data line-selection options for a slave device.

Enumerator
CY_SMIF_DATA_SEL0 

smif.spi_data[0] = DATA0, smif.spi_data[1] = DATA1, ..., smif.spi_data[7] = DATA7.

This value is allowed for the SPI, DSPI, QSPI, dual QSPI, and octal SPI modes.

CY_SMIF_DATA_SEL1 

smif.spi_data[2] = DATA0, smif.spi_data[3] = DATA1.

This value is only allowed for the SPI and DSPI modes.

CY_SMIF_DATA_SEL2 

smif.spi_data[4] = DATA0, smif.spi_data[5] = DATA1, ..., smif.spi_data[7] = DATA3.

This value is only allowed for the SPI, DSPI, QSPI and dual QSPI modes.

CY_SMIF_DATA_SEL3 

smif.spi_data[6] = DATA0, smif.spi_data[7] = DATA1.

This value is only allowed for the SPI and DSPI modes.

◆ cy_en_smif_mode_t

The SMIF modes to work with an external memory.

Enumerator
CY_SMIF_NORMAL 

Command mode (MMIO mode).

CY_SMIF_MEMORY 

XIP (eXecute In Place) mode.

◆ cy_en_smif_txfr_status_t

The SMIF transfer status return values.

Enumerator
CY_SMIF_STARTED 

The SMIF started.

CY_SMIF_SEND_COMPLETE 

The data transmission is complete.

CY_SMIF_SEND_BUSY 

The data transmission is in progress.

CY_SMIF_RX_COMPLETE 

The data reception is completed.

CY_SMIF_RX_BUSY 

The data reception is in progress.

CY_SMIF_XIP_ERROR 

An XIP alignment error.

CY_SMIF_CMD_ERROR 

A TX CMD FIFO overflow.

CY_SMIF_TX_ERROR 

A TX DATA FIFO overflow.

CY_SMIF_RX_ERROR 

An RX DATA FIFO underflow.

◆ cy_en_smif_status_t

The SMIF API return values.

Enumerator
CY_SMIF_SUCCESS 

Successful SMIF operation.

CY_SMIF_CMD_FIFO_FULL 

The command is cancelled.

The command FIFO is full.

CY_SMIF_EXCEED_TIMEOUT 

The SMIF operation timeout exceeded.

CY_SMIF_NO_QE_BIT 

The device does not have a QE bit.

The device detects 1-1-4 and 1-4-4 Reads based on the instruction.

CY_SMIF_BAD_PARAM 

The SMIF API received the wrong parameter.

CY_SMIF_NO_SFDP_SUPPORT 

The external memory does not support SFDP (JESD216B).

CY_SMIF_NOT_HYBRID_MEM 

The external memory is not hybrid.

CY_SMIF_SFDP_CORRUPTED_TABLE 

The SFDP table is corrupted.

CY_SMIF_SFDP_SS0_FAILED 

Failed to initialize the slave select 0 external memory by auto detection (SFDP).

CY_SMIF_SFDP_SS1_FAILED 

Failed to initialize the slave select 1 external memory by auto detection (SFDP).

CY_SMIF_SFDP_SS2_FAILED 

Failed to initialize the slave select 2 external memory by auto detection (SFDP).

CY_SMIF_SFDP_SS3_FAILED 

Failed to initialize the slave select 3 external memory by auto detection (SFDP).

CY_SMIF_CMD_NOT_FOUND 

The command API is not supported for this memory device.

◆ cy_en_smif_slave_select_t

The SMIF slave select definitions for the driver API.

Each slave select is represented by an enumeration that has the bit corresponding to the slave select number set.

Enumerator
CY_SMIF_SLAVE_SELECT_0 

The SMIF slave select 0.

CY_SMIF_SLAVE_SELECT_1 

The SMIF slave select 1.

CY_SMIF_SLAVE_SELECT_2 

The SMIF slave select 2.

CY_SMIF_SLAVE_SELECT_3 

The SMIF slave select 3.

◆ cy_en_smif_clk_select_t

Specifies the clock source for the receiver clock.

Enumerator
CY_SMIF_SEL_INTERNAL_CLK 

The SMIF internal clock.

CY_SMIF_SEL_INVERTED_INTERNAL_CLK 

The SMIF internal inverted clock.

CY_SMIF_SEL_FEEDBACK_CLK 

The SMIF feedback clock.

CY_SMIF_SEL_INVERTED_FEEDBACK_CLK 

The SMIF feedback inverted clock.

◆ cy_en_smif_cache_t

Specifies enabled type of SMIF cache.

Enumerator
CY_SMIF_CACHE_SLOW 

The SMIF slow cache (in the clk_slow domain) see TRM for details.

CY_SMIF_CACHE_FAST 

The SMIF fast cache (in the clk_fast domain) see TRM for details.

CY_SMIF_CACHE_BOTH 

The SMIF both caches.