AM62Ax MCU+ SDK  10.01.00
flash.h File Reference

Go to the source code of this file.

Data Structures

struct  Flash_DevConfig
 Flash device config. This will be part of the flash config, so has to be filled by sysconfig or otherwise before invoking Flash_open. More...
 
struct  Flash_Params
 Parameters passed during Flash_open() More...
 
struct  Flash_Fxns
 Driver implementation callbacks. More...
 
struct  Flash_Attrs
 Flash device attributes, these are filled by SysCfg based on the flash device that is selected. More...
 
struct  Flash_Config
 Flash driver configuration, these are filled by SysCfg based on the flash device that is selected. More...
 

Macros

#define FLASH_INVALID_VALUE   (0xFFFFFFFFU)
 
#define CONFIG_FLASH_TYPE_SERIAL   ((uint32_t)0x1)
 
#define CONFIG_FLASH_TYPE_PARALLEL   ((uint32_t)0x2)
 
#define CONFIG_FLASH_TYPE_SERIAL_NOR   (0x00U)
 Flash type supported. More...
 
#define CONFIG_FLASH_TYPE_SERIAL_NAND   (0x01U)
 
#define CONFIG_FLASH_TYPE_PARALLEL_NOR   (0x02U)
 
#define CONFIG_FLASH_TYPE_PARALLEL_NAND   (0x03U)
 
#define CONFIG_FLASH_TYPE_INVALID   (0xFFU)
 
#define FLASH_NOR_UPDATE_RD_DUMMY_VALUE   (1U)
 
#define FLASH_NAND_UPDATE_RD_DUMMY_VALUE   (0U)
 

Typedefs

typedef void * Flash_Handle
 Handle to the FLash driver returned by Flash_opem() More...
 
typedef struct Flash_Config_s Flash_Config
 Forward declaration of Flash_Config. More...
 
typedef struct Flash_Params_s Flash_Params
 Forward declaration of Flash_Params. More...
 
Flash driver implementation callbacks
typedef int32_t(* Flash_OpenFxn) (Flash_Config *config, Flash_Params *params)
 Driver implementation to open a specific flash driver. More...
 
typedef void(* Flash_CloseFxn) (Flash_Config *config)
 Driver implementation to close a specific flash driver. More...
 
typedef int32_t(* Flash_ReadFxn) (Flash_Config *config, uint32_t offset, uint8_t *buf, uint32_t len)
 Driver implementation to read from flash using a specific flash driver. More...
 
typedef int32_t(* Flash_WriteFxn) (Flash_Config *config, uint32_t offset, uint8_t *buf, uint32_t len)
 Driver implementation to write to flash using specific flash driver. More...
 
typedef int32_t(* Flash_EraseFxn) (Flash_Config *config, uint32_t blockNum)
 Driver implementation to erase a block using a specific flash driver. More...
 
typedef int32_t(* Flash_EraseSectorFxn) (Flash_Config *config, uint32_t sectorNum)
 Driver implementation to erase a sector using a specific flash driver. More...
 
typedef int32_t(* Flash_ResetFxn) (Flash_Config *config)
 Driver implementation to soft reset the flash. More...
 
typedef int32_t(* Flash_EnablePhyPipelineFxn) (Flash_Config *config)
 Driver implementation to enable PHY pipeline mode in Flash. More...
 
typedef int32_t(* Flash_DisablePhyPipelineFxn) (Flash_Config *config)
 Driver implementation to disable PHY pipeline mode in Flash. More...
 
typedef int32_t(* Flash_quirksFxn) (Flash_Config *config)
 User implementation of a custom function to handle vendor specific quirks. More...
 
typedef int32_t(* Flash_custProtocolFxn) (Flash_Config *config)
 User implementation of a custom function to configure flash to operate in a specific protocol. More...
 

Functions

void Flash_Params_init (Flash_Params *params)
 Set default parameters in the Flash_Params structure. More...
 
Flash_Handle Flash_open (uint32_t instanceId, Flash_Params *params)
 Open flash driver. More...
 
void Flash_close (Flash_Handle handle)
 Close flash driver. More...
 
Flash_Handle Flash_getHandle (uint32_t instanceId)
 Get handle to flash driver. More...
 
int32_t Flash_read (Flash_Handle handle, uint32_t offset, uint8_t *buf, uint32_t len)
 Read data from flash. More...
 
int32_t Flash_write (Flash_Handle handle, uint32_t offset, uint8_t *buf, uint32_t len)
 Write to flash. More...
 
int32_t Flash_blkPageToOffset (Flash_Handle handle, uint32_t *offset, uint32_t block, uint32_t page)
 Utility API to convert (Block Num, Page Num) to offset in bytes. More...
 
int32_t Flash_offsetToBlkPage (Flash_Handle handle, uint32_t offset, uint32_t *block, uint32_t *page)
 Utility API to convert offset in bytes to (Block Num, Page Num) More...
 
int32_t Flash_SectorPageToOffset (Flash_Handle handle, uint32_t *offset, uint32_t sector, uint32_t page)
 Utility API to convert (Sector Num, Page Num) to offset in bytes. More...
 
int32_t Flash_offsetToSectorPage (Flash_Handle handle, uint32_t offset, uint32_t *sector, uint32_t *page)
 Utility API to convert offset in bytes to (Sector Num, Page Num) More...
 
int32_t Flash_eraseBlk (Flash_Handle handle, uint32_t blockNum)
 Erase a block from flash. More...
 
int32_t Flash_eraseSector (Flash_Handle handle, uint32_t sectorNum)
 Erase a sector from flash. More...
 
int32_t Flash_reset (Flash_Handle handle)
 Do a soft reset of the flash. More...
 
int32_t Flash_enablePhyPipeline (Flash_Handle handle)
 Enables PHY mode in flash. More...
 
int32_t Flash_disablePhyPipeline (Flash_Handle handle)
 Disable PHY mode in flash. More...
 
uint32_t Flash_getPhyTuningOffset (Flash_Handle handle)
 Return flash offset to write PHY tuning data. More...
 
Flash_AttrsFlash_getAttrs (uint32_t instanceId)
 Return flash attributes. More...
 
uint32_t Flash_getFlashInterfaceIndex (uint32_t flashType)
 Return flash index based on type of flash. More...
 
void Flash_init (void)
 This function initializes the Flash module. More...
 
void Flash_deinit (void)
 This function de-initializes the Flash module. More...
 

Macro Definition Documentation

◆ FLASH_INVALID_VALUE

#define FLASH_INVALID_VALUE   (0xFFFFFFFFU)

◆ CONFIG_FLASH_TYPE_SERIAL

#define CONFIG_FLASH_TYPE_SERIAL   ((uint32_t)0x1)

◆ CONFIG_FLASH_TYPE_PARALLEL

#define CONFIG_FLASH_TYPE_PARALLEL   ((uint32_t)0x2)

◆ CONFIG_FLASH_TYPE_SERIAL_NOR

#define CONFIG_FLASH_TYPE_SERIAL_NOR   (0x00U)

Flash type supported.

◆ CONFIG_FLASH_TYPE_SERIAL_NAND

#define CONFIG_FLASH_TYPE_SERIAL_NAND   (0x01U)

◆ CONFIG_FLASH_TYPE_PARALLEL_NOR

#define CONFIG_FLASH_TYPE_PARALLEL_NOR   (0x02U)

◆ CONFIG_FLASH_TYPE_PARALLEL_NAND

#define CONFIG_FLASH_TYPE_PARALLEL_NAND   (0x03U)

◆ CONFIG_FLASH_TYPE_INVALID

#define CONFIG_FLASH_TYPE_INVALID   (0xFFU)

◆ FLASH_NOR_UPDATE_RD_DUMMY_VALUE

#define FLASH_NOR_UPDATE_RD_DUMMY_VALUE   (1U)

◆ FLASH_NAND_UPDATE_RD_DUMMY_VALUE

#define FLASH_NAND_UPDATE_RD_DUMMY_VALUE   (0U)