|
AM64x MCU+ SDK
09.00.00
|
|
Go to the documentation of this file.
43 #include <drivers/hw_include/soc_config.h>
44 #include <board/flash/flash_config.h>
46 #define FLASH_INVALID_VALUE (0xFFFFFFFFU)
79 typedef struct Flash_DevConfig_s {
165 uint8_t *buf, uint32_t len) ;
181 uint8_t *buf, uint32_t len) ;
249 typedef struct Flash_Params_s {
259 typedef struct Flash_Fxns_s
274 typedef struct Flash_Attrs_s {
295 typedef struct Flash_Config_s
305 #if defined (DRV_VERSION_FLASH_V0)
306 #include <board/flash/ospi/flash_nor_ospi.h>
309 #if defined (DRV_VERSION_FLASH_V1)
310 #include <board/flash/qspi/flash_nor_qspi.h>
313 #if defined (DRV_VERSION_GPMC_V0)
314 #include <board/flash/gpmc/flash_nand_gpmc.h>
uint8_t cmdPageLoadCyc1
Definition: flash.h:91
uint32_t flashType
Definition: flash.h:276
uint8_t cmdPageProgCyc1
Definition: flash.h:96
void Flash_close(Flash_Handle handle)
Close flash driver.
uint8_t cmdReadStatus
Definition: flash.h:100
Flash_Attrs * attrs
Definition: flash.h:297
uint32_t flashSize
Definition: flash.h:281
Flash_OpenFxn openFxn
Definition: flash.h:261
FlashCfg_EraseConfig eraseCfg
Definition: flash.h:114
uint32_t blockCount
Definition: flash.h:282
FlashCfg_ProtoEnConfig protocolCfg
Definition: flash.h:116
uint8_t cmdExtType
Definition: flash.h:81
void(* Flash_CloseFxn)(Flash_Config *config)
Driver implementation to close a specific flash driver.
Definition: flash.h:149
uint8_t cmdWren
Definition: flash.h:87
Flash_DevConfig * devConfig
Definition: flash.h:299
uint32_t driverInstance
Definition: flash.h:280
Flash driver configuration, these are filled by SysCfg based on the flash device that is selected.
Definition: flash.h:296
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)
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.
uint8_t deviceBusyType
Definition: flash.h:106
uint8_t cmdRdsr
Definition: flash.h:88
uint32_t xspiWipReg
Definition: flash.h:109
uint8_t cmdPageProgCyc2
Definition: flash.h:97
Flash_EraseSectorFxn eraseSectorFxn
Definition: flash.h:266
uint32_t flashBusyTimeout
Definition: flash.h:112
uint32_t sectorSize
Definition: flash.h:287
Flash_Fxns * fxns
Definition: flash.h:298
uint32_t pageSize
Definition: flash.h:285
uint8_t addrByteSupport
Definition: flash.h:84
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.
Definition: flash.h:164
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.
Flash device attributes, these are filled by SysCfg based on the flash device that is selected.
Definition: flash.h:274
char * flashName
Definition: flash.h:277
uint8_t cmdRandomReadCyc2
Definition: flash.h:94
uint32_t xspiWipBit
Definition: flash.h:110
Flash_EraseFxn eraseFxn
Definition: flash.h:265
Flash_Handle Flash_getHandle(uint32_t instanceId)
Get handle to flash driver.
Driver implementation callbacks.
Definition: flash.h:260
int32_t(* Flash_EraseFxn)(Flash_Config *config, uint32_t blockNum)
Driver implementation to erase a block using a specific flash driver.
Definition: flash.h:194
uint32_t Flash_getPhyTuningOffset(Flash_Handle handle)
Return flash offset to write PHY tuning data.
uint8_t fourByteAddrEnSeq
Definition: flash.h:86
uint8_t srWip
Definition: flash.h:89
uint8_t srWel
Definition: flash.h:104
struct Flash_Config_s Flash_Config
Forward declaration of Flash_Config.
Definition: flash.h:67
uint8_t resetType
Definition: flash.h:105
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.
Definition: flash.h:180
Flash_CloseFxn closeFxn
Definition: flash.h:262
uint8_t cmdPageLoadCyc2
Definition: flash.h:92
uint32_t flashWriteTimeout
Definition: flash.h:111
void Flash_Params_init(Flash_Params *params)
Set default parameters in the Flash_Params structure.
int32_t(* Flash_ResetFxn)(Flash_Config *config)
Driver implementation to soft reset the flash.
Definition: flash.h:220
uint32_t pageCount
Definition: flash.h:284
struct Flash_Params_s Flash_Params
Forward declaration of Flash_Params.
Definition: flash.h:72
uint32_t spareAreaSize
Definition: flash.h:288
uint8_t pageRowAddrCyc
Definition: flash.h:99
int32_t(* Flash_custProtocolFxn)(Flash_Config *config)
User implementation of a custom function to configure flash to operate in a specific protocol.
Definition: flash.h:241
Flash_Attrs * Flash_getAttrs(uint32_t instanceId)
Return flash attributes.
uint8_t xspiWipRdCmd
Definition: flash.h:107
uint32_t blockSize
Definition: flash.h:283
FlashCfg_ReadIDConfig idCfg
Definition: flash.h:115
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)
int32_t Flash_eraseSector(Flash_Handle handle, uint32_t sectorNum)
Erase a sector from flash.
uint32_t deviceId
Definition: flash.h:278
Flash_ReadFxn readFxn
Definition: flash.h:263
uint8_t enable4BAddr
Definition: flash.h:83
int32_t Flash_reset(Flash_Handle handle)
Do a soft reset of the flash.
int32_t(* Flash_EraseSectorFxn)(Flash_Config *config, uint32_t sectorNum)
Driver implementation to erase a sector using a specific flash driver.
Definition: flash.h:207
Flash_WriteFxn writeFxn
Definition: flash.h:264
int32_t(* Flash_OpenFxn)(Flash_Config *config, Flash_Params *params)
Driver implementation to open a specific flash driver.
Definition: flash.h:137
uint8_t cmdReset
Definition: flash.h:101
Flash_Handle Flash_open(uint32_t instanceId, Flash_Params *params)
Open flash driver.
uint8_t cmdRandomInput
Definition: flash.h:95
uint8_t cmdRandomReadCyc1
Definition: flash.h:93
uint8_t byteOrder
Definition: flash.h:82
uint32_t manufacturerId
Definition: flash.h:279
Flash_ResetFxn resetFxn
Definition: flash.h:267
uint8_t pageColAddrCyc
Definition: flash.h:98
int32_t Flash_eraseBlk(Flash_Handle handle, uint32_t blockNum)
Erase a block from flash.
int32_t Flash_write(Flash_Handle handle, uint32_t offset, uint8_t *buf, uint32_t len)
Write to flash.
int32_t(* Flash_quirksFxn)(Flash_Config *config)
User implementation of a custom function to handle vendor specific quirks.
Definition: flash.h:232
uint32_t sectorCount
Definition: flash.h:286
Parameters passed during Flash_open()
Definition: flash.h:249
void * Flash_Handle
Handle to the FLash driver returned by Flash_opem()
Definition: flash.h:62
Flash_quirksFxn quirksFxn
Definition: flash.h:251
Flash_custProtocolFxn custProtoFxn
Definition: flash.h:252
Flash device config. This will be part of the flash config, so has to be filled by sysconfig or other...
Definition: flash.h:79
int32_t Flash_read(Flash_Handle handle, uint32_t offset, uint8_t *buf, uint32_t len)
Read data from flash.
void * object
Definition: flash.h:300