PDK API Guide for J721E
board_flash.h File Reference

Go to the source code of this file.

Data Structures

struct  Board_FlashInfo
 This structure contains information about the flash device on the board. More...
 

Macros

#define BOARD_FLASH_EINVALID   -3
 
#define BOARD_FLASH_EUNSUPPORTED   -2
 
#define BOARD_FLASH_EFAIL   -1
 
#define BOARD_FLASH_EOK   0
 
#define BOARD_FLASH_ID_MT29F1G08ABCHC   0x2CA1
 Device Identifiers. These are used in the Open call to allow access to a specific memory device. More...
 
#define BOARD_FLASH_ID_NAND512R3A2D   0x2036
 
#define BOARD_FLASH_ID_MT29F4G08ABADA   0x2CDC
 
#define BOARD_FLASH_ID_MT29F16G08ADBCAH4C   0x2CA5
 
#define BOARD_FLASH_ID_MT29F2G16ABAFA   0x2CCA
 
#define BOARD_FLASH_ID_NORN25Q128   0xBB18
 
#define BOARD_FLASH_ID_NORN25Q128A13ESF40F   0xBA18
 
#define BOARD_FLASH_ID_W25X32VSFIG   0x4016
 
#define BOARD_FLASH_ID_NORN25Q032A   0xBB16
 
#define BOARD_FLASH_ID_EEPROM50   0x50
 
#define BOARD_FLASH_ID_EEPROM51   0x51
 
#define BOARD_FLASH_ID_EMMC   0xFF00
 
#define BOARD_FLASH_ID_SD   0xFF01
 
#define BOARD_FLASH_ID_QSPIFLASH_S25FL512S   0x0220
 
#define BOARD_FLASH_ID_QSPIFLASH_S25FL256S   0x0219
 
#define BOARD_FLASH_ID_S25FL512S   (0x0220U)
 
#define BOARD_FLASH_ID_S25FL256S   (0x0219U)
 
#define BOARD_FLASH_ID_MT29W160EB   (0x2249U)
 
#define BOARD_FLASH_ID_MT29F4G08ABAEAWP   (0xDC90U)
 
#define BOARD_FLASH_ID_MT35XU512ABA1G12   (0x5B1AU)
 
#define BOARD_FLASH_ID_MT35XU256ABA1G12   (0x5B19U)
 
#define BOARD_FLASH_ID_MT25QU512ABB   (0xBB20)
 
#define BOARD_FLASH_ID_S71KS512S   (0x007EU)
 
#define BOARD_FLASH_ID_S28HS512T   (0x5B1AU)
 
#define BOARD_FLASH_ID_MX25V1635F   (0x2315U) /** Macronix 16Mbit NOR Flash **/
 
#define BOARD_FLASH_ID_GD25B16CSAG   (0x4015U) /** Giga device 16Mbit NOR Flash **/
 
#define BOARD_FLASH_ID_GD25B64CW2G   (0x4017U) /** Giga device 16Mbit NOR Flash **/
 
#define BOARD_FLASH_ID_W25Q16FWSF   (0x6015U) /** Winbond flash model on TPR12 QT **/
 
#define BOARD_FLASH_ID_MT29F4G16ABAFAH   (0xCC4DU) /* Device Id code 1 */
 
#define BOARD_FLASH_ID_MT29F8G16ABACAWP   (0x2C00U) /* Device Id code 1 */
 
#define BOARD_FLASH_ID_MT28EW256ABA   (0x227EU) /* Device Id code 1 */
 
#define BOARD_FLASH_ID_CY7C10612G   (0)
 
#define BOARD_FLASH_ID_W35N01JWTBAG   (0xDC21U)
 
#define MAX_BOARD_FLASH_INSTANCE_NUM   8
 Maximum Board flash instance number that can be opened. More...
 

Typedefs

typedef uintptr_t Board_flashHandle
 This type defines the opaque handle returned to a flash device that is opened. The handle must be used in all subsequent operations. More...
 
typedef int32_t Board_flash_STATUS
 

Enumerations

enum  Board_flashNorPeriType {
  BOARD_FLASH_NOR_SPI = 0, BOARD_FLASH_NOR_QSPI, BOARD_FLASH_NOR_GPMC, BOARD_FLASH_NOR_OSPI,
  BOARD_FLASH_NOR_HPF, BOARD_FLASH_NOR_INTF_MAX
}
 Board specific Flash Device Identifiers. More...
 
enum  Board_flashNandPeriType { BOARD_FLASH_NAND_GPMC = 0, BOARD_FLASH_NAND_EMIF16, BOARD_FLASH_NAND_OSPI, BOARD_FLASH_NAND_INTF_MAX }
 Indicates the type of NAND flash peripheral. More...
 
enum  Board_flashType {
  BOARD_FLASH_NAND, BOARD_FLASH_NOR, BOARD_FLASH_EEPROM, BOARD_FLASH_SD,
  BOARD_FLASH_EMMC, BOARD_FLASH_QSPI_FLASH, BOARD_FLASH_MAX
}
 Indicates the type of device. More...
 
enum  Board_flashQspiIoMode { BOARD_FLASH_QSPI_IO_MODE_SINGLE, BOARD_FLASH_QSPI_IO_MODE_DUAL, BOARD_FLASH_QSPI_IO_MODE_QUAD }
 Options to set qspi flash read/write access mode. More...
 

Functions

Board_flashHandle Board_flashOpen (uint32_t deviceId, uint32_t portNum, void *params)
 Opens a flash device for use. More...
 
Board_flash_STATUS Board_flashClose (Board_flashHandle handle)
 Closes the device. More...
 
Board_flash_STATUS Board_flashRead (Board_flashHandle handle, uint32_t offset, uint8_t *buf, uint32_t len, void *params)
 Reads a page from the device. More...
 
Board_flash_STATUS Board_flashWrite (Board_flashHandle handle, uint32_t offset, uint8_t *buf, uint32_t len, void *params)
 Write the data to the device. More...
 
Board_flash_STATUS Board_flashBlkPageToOffset (Board_flashHandle handle, uint32_t *offset, uint32_t block, uint32_t page)
 Convert the block and page number to offset. More...
 
Board_flash_STATUS Board_flashOffsetToBlkPage (Board_flashHandle handle, uint32_t offset, uint32_t *block, uint32_t *page)
 Convert the offset to block and page number. More...
 
Board_flash_STATUS Board_flashOffsetToSectorPage (Board_flashHandle handle, uint32_t offset, uint32_t *sector, uint32_t *page, bool hybridSector_flag)
 Convert the offset to sector and page number. More...
 
Board_flash_STATUS Board_flashEraseBlk (Board_flashHandle handle, uint32_t block_number)
 erase a block on the flash block More...