MCUXpresso SDK API Reference Manual  Rev. 0
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Flash_ifr_driver

Overview

Files

file  fsl_iap_ffr.h
 

Macros

#define ALIGN_DOWN(x, a)   ((x) & (uint32_t)(-((int32_t)(a))))
 Alignment(down) utility. More...
 
#define ALIGN_UP(x, a)   (-((int32_t)((uint32_t)(-((int32_t)(x))) & (uint32_t)(-((int32_t)(a))))))
 Alignment(up) utility. More...
 

Enumerations

enum  _flash_ffr_page_offset {
  kFfrPageOffset_CFPA = 0,
  kFfrPageOffset_CFPA_Scratch = 0,
  kFfrPageOffset_CFPA_Cfg = 1,
  kFfrPageOffset_CFPA_CfgPong = 2,
  kFfrPageOffset_CMPA = 3,
  kFfrPageOffset_CMPA_Cfg = 3,
  kFfrPageOffset_CMPA_Key = 4,
  kFfrPageOffset_NMPA = 7,
  kFfrPageOffset_NMPA_Romcp = 7,
  kFfrPageOffset_NMPA_Repair = 9,
  kFfrPageOffset_NMPA_Cfg = 15,
  kFfrPageOffset_NMPA_End = 16
}
 
enum  _flash_ffr_page_num {
  kFfrPageNum_CFPA = 3,
  kFfrPageNum_CMPA = 4,
  kFfrPageNum_NMPA = 10
}
 

Functions

status_t FFR_Init (flash_config_t *config)
 Generic APIs for FFR.
 
status_t FFR_CustomerPagesInit (flash_config_t *config)
 APIs to access CFPA pages.
 
status_t FFR_GetCustomerInfieldData (flash_config_t *config, uint8_t *pData, uint32_t offset, uint32_t len)
 Read data stored in 'Customer In-field Page'. More...
 
bool FFR_IsCmpaCfgPageUpdateInProgress (flash_config_t *config)
 APIs to access CMPA pages.
 
status_t FFR_GetCustomerData (flash_config_t *config, uint8_t *pData, uint32_t offset, uint32_t len)
 Read data stored in 'Customer Factory CFG Page'. More...
 
status_t FFR_NxpAreaCheckIntegrity (flash_config_t *config)
 APIs to access NMPA pages.
 
status_t FFR_GetManufactureData (flash_config_t *config, uint8_t *pData, uint32_t offset, uint32_t len)
 Read data stored in 'NXP Manufacuring Programmed CFG Page'. More...
 

Variables

uint32_t cfpa_cfg_info_t::header
 [0x000-0x003]
 
uint32_t cfpa_cfg_info_t::version
 [0x004-0x007
 
uint32_t cfpa_cfg_info_t::secureFwVersion
 [0x008-0x00b
 
uint32_t cfpa_cfg_info_t::nsFwVersion
 [0x00c-0x00f]
 
uint32_t cfpa_cfg_info_t::imageKeyRevoke
 [0x010-0x013]
 
uint8_t cfpa_cfg_info_t::reserved0 [4]
 [0x014-0x017]
 
uint32_t cfpa_cfg_info_t::rotkhRevoke
 [0x018-0x01b]
 
uint32_t cfpa_cfg_info_t::vendorUsage
 [0x01c-0x01f]
 
uint32_t cfpa_cfg_info_t::dcfgNsPin
 [0x020-0x013]
 
uint32_t cfpa_cfg_info_t::dcfgNsDflt
 [0x024-0x017]
 
uint32_t cfpa_cfg_info_t::enableFaMode
 [0x028-0x02b]
 
uint8_t cfpa_cfg_info_t::reserved1 [4]
 [0x02c-0x02f]
 
cfpa_cfg_iv_code_t cfpa_cfg_info_t::ivCodePrinceRegion [3]
 [0x030-0x0d7]
 
uint8_t cfpa_cfg_info_t::reserved2 [264]
 [0x0d8-0x1df]
 
uint8_t cfpa_cfg_info_t::sha256 [32]
 [0x1e0-0x1ff]
 
uint32_t cmpa_cfg_info_t::bootCfg
 [0x000-0x003]
 
uint32_t cmpa_cfg_info_t::spiFlashCfg
 [0x004-0x007]
 
struct {
cmpa_cfg_info_t::usbId
 [0x008-0x00b]
 
uint32_t cmpa_cfg_info_t::sdioCfg
 [0x00c-0x00f]
 
uint32_t cmpa_cfg_info_t::dcfgPin
 [0x010-0x013]
 
uint32_t cmpa_cfg_info_t::dcfgDflt
 [0x014-0x017]
 
uint32_t cmpa_cfg_info_t::dapVendorUsage
 [0x018-0x01b]
 
uint32_t cmpa_cfg_info_t::secureBootCfg
 [0x01c-0x01f]
 
uint32_t cmpa_cfg_info_t::princeBaseAddr
 [0x020-0x023]
 
uint32_t cmpa_cfg_info_t::princeSr [3]
 [0x024-0x02f]
 
uint8_t cmpa_cfg_info_t::reserved0 [32]
 [0x030-0x04f]
 
uint32_t cmpa_cfg_info_t::rotkh [8]
 [0x050-0x06f]
 
uint8_t cmpa_cfg_info_t::reserved1 [368]
 [0x070-0x1df]
 
uint8_t cmpa_cfg_info_t::sha256 [32]
 [0x1e0-0x1ff]
 
uint16_t nmpa_cfg_info_t::fro32kCfg
 [0x000-0x001]
 
uint8_t nmpa_cfg_info_t::reserved0 [6]
 [0x002-0x007]
 
uint8_t nmpa_cfg_info_t::sysCfg
 [0x008-0x008]
 
uint8_t nmpa_cfg_info_t::reserved1 [7]
 [0x009-0x00f]
 
struct {
nmpa_cfg_info_t::GpoInitData [3]
 [0x010-0x03f]
 
uint32_t nmpa_cfg_info_t::GpoDataChecksum [4]
 [0x040-0x04f]
 
uint32_t nmpa_cfg_info_t::finalTestBatchId [4]
 [0x050-0x05f]
 
uint32_t nmpa_cfg_info_t::deviceType
 [0x060-0x063]
 
uint32_t nmpa_cfg_info_t::finalTestProgVersion
 [0x064-0x067]
 
uint32_t nmpa_cfg_info_t::finalTestDate
 [0x068-0x06b]
 
uint32_t nmpa_cfg_info_t::finalTestTime
 [0x06c-0x06f]
 
uint32_t nmpa_cfg_info_t::uuid [4]
 [0x070-0x07f]
 
uint8_t nmpa_cfg_info_t::reserved2 [32]
 [0x080-0x09f]
 
uint32_t nmpa_cfg_info_t::peripheralCfg
 [0x0a0-0x0a3]
 
uint32_t nmpa_cfg_info_t::ramSizeCfg
 [0x0a4-0x0a7]
 
uint32_t nmpa_cfg_info_t::flashSizeCfg
 [0x0a8-0x0ab]
 
uint8_t nmpa_cfg_info_t::reserved3 [36]
 [0x0ac-0x0cf]
 
uint8_t nmpa_cfg_info_t::fro1mCfg
 [0x0d0-0x0d0]
 
uint8_t nmpa_cfg_info_t::reserved4 [15]
 [0x0d1-0x0df]
 
uint32_t nmpa_cfg_info_t::dcdc [4]
 [0x0e0-0x0ef]
 
uint32_t nmpa_cfg_info_t::bod
 [0x0f0-0x0f3]
 
uint8_t nmpa_cfg_info_t::reserved5 [12]
 [0x0f4-0x0ff]
 
uint8_t nmpa_cfg_info_t::calcHashReserved [192]
 [0x100-0x1bf]
 
uint8_t nmpa_cfg_info_t::sha256 [32]
 [0x1c0-0x1df]
 
uint32_t nmpa_cfg_info_t::ecidBackup [4]
 [0x1e0-0x1ef]
 
uint32_t nmpa_cfg_info_t::pageChecksum [4]
 [0x1f0-0x1ff]
 

Flash IFR version

#define FSL_FLASH_IFR_DRIVER_VERSION   (MAKE_VERSION(2, 0, 0))
 Flash IFR driver version for SDK. More...
 

Macro Definition Documentation

#define FSL_FLASH_IFR_DRIVER_VERSION   (MAKE_VERSION(2, 0, 0))

Version 2.0.0.

#define ALIGN_DOWN (   x,
 
)    ((x) & (uint32_t)(-((int32_t)(a))))
#define ALIGN_UP (   x,
 
)    (-((int32_t)((uint32_t)(-((int32_t)(x))) & (uint32_t)(-((int32_t)(a))))))

Enumeration Type Documentation

Enumerator
kFfrPageOffset_CFPA 

Customer In-Field programmed area.

kFfrPageOffset_CFPA_Scratch 

CFPA Scratch page.

kFfrPageOffset_CFPA_Cfg 

CFPA Configuration area (Ping page)

kFfrPageOffset_CFPA_CfgPong 

Same as CFPA page (Pong page)

kFfrPageOffset_CMPA 

Customer Manufacturing programmed area.

kFfrPageOffset_CMPA_Cfg 

CMPA Configuration area (Part of CMPA)

kFfrPageOffset_CMPA_Key 

Key Store area (Part of CMPA)

kFfrPageOffset_NMPA 

NXP Manufacturing programmed area.

kFfrPageOffset_NMPA_Romcp 

ROM patch area (Part of NMPA)

kFfrPageOffset_NMPA_Repair 

Repair area (Part of NMPA)

kFfrPageOffset_NMPA_Cfg 

NMPA configuration area (Part of NMPA)

kFfrPageOffset_NMPA_End 

Reserved (Part of NMPA)

Enumerator
kFfrPageNum_CFPA 

Customer In-Field programmed area.

kFfrPageNum_CMPA 

Customer Manufacturing programmed area.

kFfrPageNum_NMPA 

NXP Manufacturing programmed area.

Function Documentation

status_t FFR_GetCustomerInfieldData ( flash_config_t config,
uint8_t *  pData,
uint32_t  offset,
uint32_t  len 
)
status_t FFR_GetCustomerData ( flash_config_t config,
uint8_t *  pData,
uint32_t  offset,
uint32_t  len 
)
status_t FFR_GetManufactureData ( flash_config_t config,
uint8_t *  pData,
uint32_t  offset,
uint32_t  len 
)