FSDev_NAND_LowMount()

void  FSDev_NAND_LowMount (CPU_CHAR  *name_dev,
                           FS_ERR    *p_err);

File

Called from

Code enabled by

fs_dev_nand.c

Application

N/A

Low-level mount a NAND device.

Arguments

name_dev

Device name (see Note #1).

p_err

Pointer to variable that will receive the return error code from this function:

FS_ERR_NONE

Device low-level mounted successfully.

FS_ERR_NAME_NULL

Argument name_dev passed a NULL pointer.

FS_ERR_DEV_INVALID

Argument name_dev specifies an invalid device

FS_ERR_DEV_NOT_OPEN

Device is not open.

FS_ERR_DEV_NOT_PRESENT

Device is not present.

FS_ERR_CORRUPT_LOW_FMT

Device low-level format corrupted.

FS_ERR_DEV_INVALID_LOW_FMT

Device needs to be low-level formatted.

FS_ERR_DEV_INCOMPATIBLE_LOW_PARAMS

Device configuration not compatible with existing format.

S_ERR_DEV_IO

Device I/O error.

FS_ERR_DEV_TIMEOUT

Device timeout.

Returned Value

None.

Notes/Warnings

  1. The device must be a NAND device (e.g., “nand:0:”).
  2. Low-level mounting parses the on-device structure, detecting the presence of a valid low-level format. If FS_ERR_DEV_INVALID_LOW_FMT is returned, the device is not low-level formatted.
  3. If an existing on-device low-level format is found but doesn't match the format prompted by specified device configuration, FS_ERR_DEV_INCOMPATIBLE_LOW_PARAMS will be returned. A low-level format is required.
  4. If an existing and compatible on-device low-level format is found, but is not usable because of some metadata corruption, FS_ERR_DEV_CORRUPT_LOW_FMT will be returned. A chip erase and/or low-level format is required.