NVDATA.EXE - Version 1.01.00, for use with version 0x000B images.
________________________________________________________________________________

Contents:
I.   Files List.
II.  Introduction.
III. The Non-Volatile Memory Map.
IV.  Usage.
    A. Downloading a 'DAT' file to the Serial EEPROM
    B. Downloading a 'IMG' file to the Serial EEPROM
    C. Uploading 'IMG' file(s) from the Serial EEPROM
    D. Converting a 'DAT' file to a 'IMG' file
    E. Concatenating Images
    F. Interactive Mode

V. Creating Custom Input Files: NVDATA.DAT
________________________________________________________________________________

I. Files List

   NVDATA.EXE
   NV1030A0.DAT
   NV1030B0.DAT
   NV1030B1.DAT
   NVDATA.TXT


II. Introduction

NVDATA
~~~~~~
    The NVDATA utility allows the user to test and write default NVData to the
    Serial EEPROM that exists on all PCI compliant LSI53C102X and LSI53C103X
    adapters manufactured by LSI Logic. Up to 4 adapters are supported.

    Dual channel adapters share a single Serial EEPROM, therefore a dual channel
    adapter is considered a single adapter from NVDATA's viewpoint. When data
    is read from or written to the Serial EEPROM it reflects the data for both
    channels.


III. The Non-Volatile Memory Map (Version 0x000B)

          |--------------------------------------| 000h
          |  PCI Factory Settings                |
          |--------------------------------------| 028h
          |  FW Variables                        |
          |--------------------------------------| 034h
          |  NVData Header                       |
          |--------------------------------------| 040h
          |  Manufacturing Page 0                |
          |--------------------------------------| 090h
          |  Manufacturing Page 1                |
          |--------------------------------------| 198h
          |  Manufacturing Page 2                |
          |--------------------------------------| 1A8h
          |  Manufacturing Page 3                |
          |--------------------------------------| 1C8h
          |  Manufacturing Page 4                |
          |--------------------------------------| 220h
          |  IO Unit Page 1                      |
          |--------------------------------------| 22Ch
          |  IO Unit Page 2                      |
          |--------------------------------------| 24Ch
          |  IO Unit Page 3                      |
          |--------------------------------------| 268h
          |  IOC Page 1 Port 0                   |
          |--------------------------------------| 27Ch
          |  IOC Page 1 Port 1                   |
          |--------------------------------------| 290h
          |  SCSI Port Page 1 Port 0             |
          |--------------------------------------| 2A0h
          |  SCSI Port Page 1 Port 1             |
          |--------------------------------------| 2B0h
          |  SCSI Port Page 2 Port 0             |
          |--------------------------------------| 300h
          |  SCSI Port Page 2 Port 1             |
          |--------------------------------------| 350h
          |  SCSI Device Page 2 Port 0 Device 0  |
          |--------------------------------------|
          |  ................................... |
          |  ................................... |
          |  ................................... |
          |--------------------------------------| 47Ch
          |  SCSI Device Page 2 Port 0 Device 15 |
          |--------------------------------------| 490h
          |  SCSI Device Page 2 Port 1 Device 0  |
          |--------------------------------------|
          |  ................................... |
          |  ................................... |
          |  ................................... |
          |--------------------------------------| 5BCh
          |  SCSI Device Page 2 Port 1 Device 15 |
          |--------------------------------------|
          |  ................................... |
          |  ................................... |
          |  ................................... |
          |--------------------------------------| 5D0h
          |  Private IR Page 0                   |
          |--------------------------------------|
          |  ................................... |
          |  ................................... |
          |  ................................... |
          |--------------------------------------| 7FFh


IV. USAGE

The NVDATA utility can be used interactively, or by using command line
options.

The command line usage is as follows:

NVDATA [/?] [/UPLD] [/CONV] [/CI] [Filename(s)]
       NOTE:  SEEPROM => Serial EEPROM
              'IMG'   => Serial EEPROM Binary Image, typically 2K in length.
              'DAT'   => NVDATA ASCII TEXT File, typically >20K in length.

  /?      - Prints out this help.
  /UPLD   - Upload the SEEPROM 'IMG' from all adapters.
  /CONV   - Convert a NVDATA 'DAT' file, specified in 'FileName.DAT', to a
            'IMG' file, specified in 'FileName.IMG'.
  /CI     - Concatenate the NVData image file to the FW image and create a
            new image file.  Three filenames must be specified after '/CI':
            - File1 MUST be the FW Image File.
            - File2 MUST be the NVData Image File.
            - File3 is the final concatenated image file.
  Filename- The filename used to specify the 'IMG' or 'DAT' file for upload
            or download.
            IF ONLY THE FILENAME IS SPECIFIED:  The 'DAT' or 'IMG' file will
            be downloaded to the SEEPROM.



A.) Downloading a 'DAT' file to the Serial EEPROM:
    ----------------------------------------------
    USAGE: NVDATA Filename.DAT

    1. This will run a Pattern Test to test Serial EEPROM functionality.
    2. The input file ('FileName.DAT') is read, parsed, and converted
       to the correct image format, and written to the Serial EEPROM.
    3. The Serial EEPROM image is saved to 'IMAGE?.IMG' where '?' is the
       adapter number (1-4).
    4. A log file, log.txt, will be generated which will indicate whether
       the update passed or failed.

    NOTE: This Mode will take default data from the 'Filename.DAT' file and
       calculate the necessary sizes, lengths, page versions, bytes and
       checksums automatically.  The pattern test may be skipped by placing
       '/NOTEST' in the command line.


B.) Downloading a 'IMG' file to the Serial EEPROM:
    ----------------------------------------------
    USAGE: NVDATA Filename.IMG

    This will read the Serial EEPROM binary image from the file
    'Filename.IMG', and write the data to the Serial EEPROM.
    A log file, log.txt, will be generated which will indicate
    whether the update passed or failed.


C.) Uploading 'IMG' file(s) from the Serial EEPROM:
    -----------------------------------------------
    USAGE: NVDATA /UPLD

    This will read the Serial EEPROM binary image from each adapter,
    and save it to a file, 'IMAGE?.IMG', where '?' is from 1-4.

    For example: If 2 adapters are installed with Serial EEPROMs
    present, then running NVDATA /UPLD will save the Serial EEPROM
    binary images to 'IMAGE1.IMG' and 'IMAGE2.IMG'.


D.) Converting a 'DAT' file to a 'IMG' file:
    ----------------------------------------
    USAGE: NVDATA /CONV Filename.DAT FileName.IMG

    This will convert a 'DAT' file, named 'Filename.DAT', to a
    Serial EEPROM binary 'IMG' file, named 'Filename.IMG'.

    This will take default data from the 'DAT' file, and calculate
    the necessary sizes, lengths, page versions, bytes and checksums
    automatically to create the 'IMG' file.


E.) Concatenating Images:
    ---------------------
    USAGE: NVDATA /CI File1 File2 File3

    This will concatenate the NVData image file to the FW image and
    create a new concatenated image file.
        File1 MUST be the FW Image File.
        File2 MUST be the NVData Image File.
        File3 is the final concatenated image file.


F.) Interactive Mode:
    -----------------
    USAGE: NVDATA

    For Advanced users. Type NVDATA to bring up a list of HBA's found by
    NVDATA.  After selecting an adapter to interact with, a menu of action
    options is displayed.

    The options available are:

    1) Erase I2C memory (0h..)               Writes 0's to the Serial EEPROM
                                             from 0h...end of Serial EEPROM.
    2) I2C memory pattern test (0h..)        Test the Serial EEPROM by writing
                                             and reading a predefined pattern to
                                             or from the Serial EEPROM
    3) I2C memory boundary test (0h..)       Boundary test the Serial EEPROM
                                             by using random data and an
                                             incrementing pattern. This will
                                             take a long time!
    4) Display RAW NVData                    Displays the raw data in the
                                             Serial EEPROM
    5) Display formatted manufacturing settings
                                             Displays autodownload data,
                                             PCI Config Data and Option ROM
                                             Offsets.
    6) Display FW Variables                  Displays FW specific data.
    7) Display formatted NVData header       Displays the formatted Master Data
                                             Header.
    8) Display formatted NVData Page Data    Displays menus to select the
                                             desired Config Pages to view.
    9) Save NVData to a binary file          Save current Serial EEPROM content
                                             to a binary file.


V. Creating Custom Input Files: NV1030XX.DAT

    The 'DAT' file is an ASCII text file that contains the DEFAULT NVData
    information that is stored in the Serial EEPROM located on a Fusion-MPT(tm)
    compatible Host Bus Adapter.  The 'DAT' files follow a defined format that
    coincides with the Fusion-MPT(tm) Data Structures as described in
    Fusion-MPT(tm) header files. Any deviation will result in the FAILURE of
    the NVDATA utility!

    To create a Custom Input File, use a given 'DAT' file. Data fields can
    be modified within the 'DAT' file with the data desired. All modifiable
    fields are any data items other than the following:

        Checksums, IOC Number, PageVersion, PageLength, PageNumber, PageType,
        total bytes of NVData, NVDataVersion and MPIVersion are calculated by
        NVDATA. All other data items are taken directly from 'DAT' file.

        NOTE: The PageType Field for Manufacturing Page 0 - Manufacturing Page 4
              CAN be modified by the User.

    All data entry fields are in the form:
        Field=Data
        Where Field is the name of the data structure field and Data is the
        Field data value desired.
        e.g. CHIP_NAME="C1030"
             DEVICE_ID=30

    The data is entered as follows:
    1) Numerical data values are entered as Hexadecimal Numbers.
    2) Strings are enclosed by double quotes.
    3) All comments are preceded by a semicolon.

    NOTE: Currently VPD data is not supported.
