XFlash_Initialize - 2023.2 English

Standalone Library Documentation: BSP and Libraries Document Collection (UG643)

Document ID
UG643
Release Date
2023-12-13
Version
2023.2 English

This function initializes a specific XFlash instance.

The initialization entails:

  • Check the Device family type.
  • Issuing the CFI query command.
  • Get and translate relevant CFI query information.
  • Set default options for the instance.
  • Setup the VTable.
  • Call the family initialize function of the instance.
  • Initialize the AMD Platform Flash XL to Async mode if the user selects to use the Platform Flash XL in the MLD. The Platform Flash XL is an Intel CFI complaint device.
Note: BusWidth is not the width of an individual part. It is the total operating width. For example, if there are two 16-bit parts, with one tied to data lines D0-D15 and other tied to D15-D31, BusWidth is (32 / 8) = 4. If a single 16-bit flash is in 8-bit mode, then BusWidth is (8 / 8) = 1.

Prototype

int XFlash_Initialize(XFlash *InstancePtr, u32 BaseAddress, u8 BusWidth, int IsPlatformFlash);

Parameters

The following table lists the XFlash_Initialize function arguments.

Table 1. XFlash_Initialize Arguments
Type Member Description
XFlash * InstancePtr Pointer to the XFlash instance
u32 BaseAddress Base address of the flash memory
u8 BusWidth Total width of the flash memory, in bytes
int IsPlatformFlash Used to specify if the flash is a platform flash

Returns

  • XST_SUCCESS if successful.
  • XFLASH_PART_NOT_SUPPORTED if the command set algorithm or Layout is not supported by any flash family compiled into the system.
  • XFLASH_CFI_QUERY_ERROR if the device would not enter CFI query mode. Either the device(s) do not support CFI, the wrong BaseAddress param was used, an unsupported part layout exists, or a hardware problem exists with the part.