5-Jan-2006

U-Boot Release notes , release: 1.7.3




Table of Contents

1.    Contents of Release
2.    Supported boards
3.    U-Boot Board detection process in U-Boot
4.    U-Boot supported Board ID format
5.    How to build U-Boot
6.    U-Boot compilation flags used in this release
7.    Changes from Previous Releases
8.    Known Issues
9.    Disclaimer
 

1. Contents of Release (n)

 Included in current release (n):
 
 - U-Boot source code patch version 1.7.3
 
 - U-Boot binaries for

Board Name
Image name
DB-88F5181-DDR1
DB-88F5181-DDR2
DB-88F5X81-DDR2-A
DB-88F5X81-DDR1-A
Big Endian Binary - u-boot_DB_5x81_BE.bin
Big Endian S-Record - u-boot_DB_5x81_BE.srec
Big Endian ELF - u-boot_DB_5x81_BE.elf

Little Endian Binary - u-boot_DB_5x81_LE.bin
Little Endian S-Record -u-boot_DB_5x81_LE.srec
Little Endian ELF -u-boot_DB_5x81_LE.elf
RD-88F5181-88SX7042-2XSATA Little Endian binary - u-boot_RD-5181_88SX7042_2xSATA.bin
Little Endian S-Record - u-boot_RD-5181_88SX7042_2xSATA.srec
Little Endian ELF - u-boot_RD-5181_88SX7042_2xSATA.elf
RD-88F5181-VOIP-RD1 Little Endian binary - u-boot_RD_5181_VOIP.bin
Little Endian S-Record - u-boot_RD_5181_VOIP.srec
Little Endian ELF - u-boot_RD_5181_VOIP.elf
DB-88F5182-DDR2 Big Endian Binary - u-boot_DB_5182_BE.bin
Big Endian S-Record - u-boot_DB_5182_BE.srec
Big Endian ELF - u-boot_DB_5182_BE.elf

Little Endian Binary - u-boot_DB_5182_LE.bin
Little Endian S-Record -u-boot_DB_5182_LE.srec
Little Endian ELF -u-boot_DB_5182_LE.elf
RD-88F5182-NAS-2 Little Endian Binary - u-boot_RD_5182_LE.bin
Little Endian S-Record -u-boot_RD_5182_LE.srec
Little Endian ELF -u-boot_RD_5182_LE.elf
DB-88F5181-DDR1-PRPMC Little Endian Binary - u-boot_DB_5181_PRPMC.bin
Little Endian S-Record -u-boot_DB_5181_PRPMC.srec
Little Endian ELF -u-boot_DB_5181_PRPMC.elf
DB-88F5181-DDR1-PEXPCI Little Endian Binary - u-boot_DB_5181_PEX_PCI.bin
Little Endian S-Record -u-boot_DB_5181_PEX_PCI.srec
Little Endian ELF -u-boot_DB_5181_PEX_PCI.elf
RD-88F5181L-VOIP-FE.
Little Endian Binary -u-boot_RD_5181L_FE.bin
Little Endian S-Record-u-boot_RD_5181L_FE.srec
Little Endian ELF-u-boot_RD_5181L_FE.elf
RD-88F5181L-VOIP-FE (with 88F5181 SOC)
Little Endian Binary -u-boot_RD_5181_FE.bin
Little Endian S-Record-u-boot_RD_5181_FE.srec
Little Endian ELF-u-boot_RD_5181_FE.elf
RD-88F5181L-VOIP-GE Little Endian Binary -u-boot_RD_5181L_GE.bin
Little Endian S-Record-u-boot_RD_5181L_GE.srec
Little Endian ELF-u-boot_RD_5181L_GE.elf
DB-88F5181L-DDR2-2xTDM
Big Endian Binary - u-boot_DB_5181L_2xTDM_BE.bin
Big Endian S-Record - u-boot_DB_5181L_2xTDM_BE.srec
Big Endian ELF - u-boot_DB_5181L_2xTDM_BE.elf

Little Endian Binary - u-boot_DB_5181L_2xTDM_LE.bin
Little Endian S-Record -u-boot_DB_5181L_2xTDM_LE.srec
Little Endian ELF -u-boot_DB_5181L_2xTDM_LE.elf

 

2.    Supported boards

 This U-Boot version supports the following boards:
 
    DB-88F5181-DDR1
    DB-88F5181-DDR2
    DB-88F5X81-DDR2-A
    DB-88F5X81-DDR1-A
    RD-88F5181-88SX7042-2XSATA
    RD-88F5181-VOIP-RD1
    DB-88F5182-DDR2
    RD-88F5182-NAS-2
    DB-88F5181-DDR1-PRPMC
    DB-88F5181-DDR1-PEXPCI
    RD-88F5181L-VOIP-FE
    RD-88F5181L-VOIP-FE (with 88F5181 SOC)
    RD-88F5181L-VOIP-GE
    DB-88F5181L-DDR2-2xTDM



3. U-Boot Board detection process in U-Boot

 The following is the U-Boot board detection procedure performed by U-Boot:
 
1. Board detection is done in both mvBoardIdGet() C function, and  
   'platformsetup' assembler routine.  

2. Compilation flag in mvBoardIdGet() function and 'platformsetup' assembler routine
   define the detection of the following boards :
   
   "RD-88F5181-VOIP-DDR1"      (u-boot_RD_5181_VOIP.* binaries)
   "RD-88F5181-POS-NAS-DDR1"     (u-boot_RD-5181_88SX7042_2xSATA.* binaries)
   "RD-88F5182-NAS-2"         (u-boot_RD_5182.* binaries)
   "DB-88F5181-DDR1-PRPMC"    (u-boot_DB_5181_PRPMC.* binaries)
   "DB-88F5181-DDR1-PEX-PCI"    (u-boot_DB_5181_PEX_PCI.* binaries)
   "RD-88F5181L-VOIP-FE"         (u-boot_RD_5181L_FE.* binaries)
    "RD-88F5181L-VOIP-FE (with 88F5181 SOC)"   (u-boot_RD_5181_FE.* binaries)
    "RD-88F5181L-VOIP-GE" (u-boot_RD_5181L_GE.* binaries)


   Note:
   -----
   In case of customer board, a customer compilation flag in mvBoardIdGet() function
   and 'platformsetup' assembler routine should define the detection of the customer
   board.
   
3. If other boards then:
3.1. If a TWSI EEPROM exist at address 0x50 and a valid Board ID was read from it then board
     detection is done according to Board ID value as follows:

   Note
   ----
   See section '4. U-Boot supported Board ID format' for board ID format explanation.
   
3.1.1 If 88F5181 or 88F5281 chip exist on the board then when using u-boot_DB_5x81_LE.* and
      u-boot_DB_5x81_BE.* binaries the following boards can be detected:


    Board name                          Board ID
    --------------                      --------
    DB-88F5181-DDR1                   0x2 (Old Boad)
    DB-88F5181-DDR2                   0x3 (Old Boad)
    DB-88F5X81-DDR2-A               0x7 (New Board)
    DB-88F5X81-DDR1-A               0x8 (New Board)
    DB-88F5182-DDR2                    0xA


3.1.2 If 88F5182 chip exist on the board then when using u-boot_DB_5182_LE.* and
      u-boot_DB_5182_BE.* binaries the following boards are detected:

    Board name          Board ID
    --------------          --------
    DB-88F5182-DDR2          0xA

3.1.3 If 88F5181L chip exist on the board then when using u-boot_DB_5181L_2xTDM_LE.* and
      u-boot_DB_5181L_2xTDM_BE.* binaries the following boards are detected:

    Board name                                  Board ID
    --------------                               --------
    DB-88F5181L-DDR2-2xTDM    0xC


     
3.2. If no TWSI EEPROM exist or no valid Board ID then using u-boot_DB_5x81_LE.* and
      u-boot_DB_5x81_BE.* binaries the following boards are detected:
      
3.2.1. If Orion2 B0 chip exist on the board then:

3.2.1.1.  If DRAM is DDR1 then U-Boot assume board is: DB-88F5X81-DDR1-A
3.2.1.2.  If DRAM is DDR2 then U-Boot assume board is: DB-88F5X81-DDR2-A

3.2.2. If other Orion chips than Orion2 B0 ( for example : Orion1 and Orion 2 A0) then:

3.2.2.1. If DRAM is DDR1 then U-Boot assume board is: DB-88F5X81-DDR1
3.2.2.2. If DRAM is DDR2 then U-Boot assume board is: DB-88F5X81-DDR2


4.  U-Boot supported Board ID format


 Starting from U-Boot version (1.5.0), a board identification data must present
 on the board TWSI EEPROM (address 0x50) to properly run-time detect the Board Id.
 
 Please see section '3. U-Boot Board detection process in U-Boot' for Board detection
 process description.
 
 Supported Board ID numbers are as follows:

Name
Board ID
DB-88F5181-DDR1 0x2
DB-88F5181-DDR2 0x3
DB-88F5181-DDR1-PRPMC 0x4
DB-88F5181-DDR1-PEXPCI 0x5
RD-88F5181-88SX7042-2XSATA 0x6
DB-88F5X81-DDR2-A 0x7
DB-88F5X81-DDR1-A 0x8
RD-88F5181-VOIP-RD1 0x9
DB-88F5182-DDR2 0xA
RD-88F5182-NAS-2 0xB
DB-88F5181L-DDR2-2xTDM 0xC
RD_88F5181L_VOIP_FE
0xD
RD_88F5181L_VOIP_GE
0xE

 

 Board Identification data should start at the last 16 byte of the TWSI EEPROM,
 and its format is as follows:
    
    offset 0: 4 bytes 0xFEEDFEED magic word.
    offset 4: 2 bytes  board id.
    offset 6: 1 byte board version as appeared in the board ECO.
    offset 7: 1 byte board reversion as appeared in the board ECO.
    offset 8: 8 reserved bytes for future use.

 If using old U-Boot that don't support board ID detection, and board that don't include Board
 Identification data then before upgrading U-Boot, the board identification data should be
 programmed on the board TWSI EEPROM using 'imm' command, the following example illustrates
 how to program the board identification data for a board with board id equal to 8 and has
 a 8KByte TWSI EEPROM:
    
    Marvell>> imm.l 50 1ff0.2
    00001ff0: ffffffff ? feedfeed
    00001ff4: ffffffff ? .
    Marvell>> imm.w 50 1ff4.2
    00001ff4: ffff ? 8
    00001ff6: ffff ? .
    Marvell>> imm.b 50 1ff6.2
    00001ff6: ff ? 0
    00001ff7: ff ? 0
    00001ff8: ff ? .
    Marvell>>
    Marvell>> imd 50 1ff0.2
    1ff0: fe ed fe ed 00 08 00 00 ff ff ff ff ff ff ff ff    ................
    Marvell>>     


5. How to build U-Boot

   1. Download CSLQ32005 cross compiler from http://www.codesourcery.com/ or contact Marvell
      FAE for latest SDK with Big Endian and Little Endian cross compilers.
   
   2. Download U-Boot release 1.1.1 from http://sourceforge.net/projects/u-boot.

   3. Update the U-Boot 1.1.1 release by copying the patch of this release.
   
   4. Update the U-Boot Makefile to point to the cross compiler in your host
      machine, CLS variable should point to the Little Endian cross compiler
      and CSLBE variable should point to the Big Endian cross compiler.


   5. Build the U-Boot binaries as follows:
 
   5.1. to create u-boot_DB_5x81_LE.*

   > make mrproper
   > make db88f5181_config
   > make
   
   5.2. to create u-boot_DB_5x81_BE.* images:
   
   > make mrproper
   > make db88f5181_BE_config
   > make

   
   5.3. to create u-boot_RD-5181_88SX7042_2xSATA.*

   > make mrproper
   > make db88f5181_PS_NAS_config
   > make
   
   5.4. to create u-boot_RD_5181_VOIP.*

   > make mrproper
   > make db88f5181_VOIP1_config
   > make

   5.5. to create u-boot_DB_5182_LE.*

   > make mrproper
   > make db88f5182_config
   > make


   5.6. to create u-boot_DB_5182_BE.*

   > make mrproper
   > make db88f5182_BE_config
   > make

   5.7. to create u-boot_RD_5182.*

   > make mrproper
   > make rd88f5182_TINY_config
   > make

   5.7. to create u-boot_DB_5181_PRPMC.*

   > make mrproper
   > make db88f5181_PRPMC_config
   > make

    5.8. to create u-boot_RD_5181L_FE.*

   > make mrproper
   > make rd88f5181L_VOIP2_FE_config
   > make

    5.9. to create u-boot_RD_5181_FE.*

   > make mrproper
   > make rd88f5181_VOIP2_FE_config
   > make

    5.10. to create u-boot_RD_5181L_GE.*

   > make mrproper
   > make rd88f5181L_VOIP2_GE_config
   > make

    5.11. to create u-boot_DB_5181L_2xTDM_LE.*

   > make mrproper
   > make db88f5181L_VOIP2_config
   > make

    5.12. to create u-boot_DB_5181L_2xTDM_BE.*

   > make mrproper
   > make db88f5181L_VOIP2_BE_config
   > make


      Note:
      ------
      To compile with the arm-linux compiler (and not CodeSourcery toolchain) use:
      
      > make mrproper
      > make xxx_config CROSS=armlinux
      > make
      
  See '1. Contents of Release (n)' for U-Boot binaries description.


6. U-Boot compilation flags used in this release

 Used with all U-Boot supported binaries:
 
 Used for creating a smaller U-Boot image with minimum features.

Used to detect RD-88F5182-NAS-2 board in compilation time.
 
 Used with U-Boot binaries that support 88F5182 Marvell Soc, currently
 the U-Boot binaries that support the following boards:
 
    DB-88F5182-DDR2
    RD-88F5182-SATAX2
    
 Used to detect DB-88F5181-DDR1-PEXPCI board in compilation time.
    
 Used to detect DB-88F5181-DDR1-PRPMC board in compilation time.
 
 Used to detect RD-88F5181-88SX7042-2XSATA board in compilation time.

Used to detect RD-88F5181-VOIP-RD1 board in compilation time.

Used to with U-Boot binaries that support the following boards:

   RD-88F5181L-VOIP-FE
   RD-88F5181L-VOIP-FE (with 88F5181 SOC)
   RD-88F5181L-VOIP-GE
   DB-88F5181L-DDR2-2xTDM

Used with U-Boot binaries that support the following boards:

   RD-88F5181L-VOIP-FE.
   RD-88F5181L-VOIP-FE (with 88F5181 SOC)

Used with U-Boot binaries that support the following board:
  
   RD-88F5181L-VOIP-GE



7. Changes from Previous Releases



Changes from release 1.6.5

 Release contents:


 Makefile:

 

 Boards related


    DB-88F5181L-DDR2-2xTDM
    RD-88F5181L-VOIP-FE
    RD-88F5181L-VOIP-FE board with 88F5181 SOC
    RD-88F5181L-VOIP-GE
 

   MV_U32         mvBoardSlicGpioPinGet(MV_U32 slicNum)
   MV_U32         mvBoardFirstPciSlotDevNumGet(MV_U32 pciIf)
   MV_U32         mvBoardPciSlotsNumGet(MV_U32 pciIf)


  "DB-88F5181-DDR1", "DB-88F5181-DDR2" ,"RD-88F5181-88SX7042-2xSATA"
  and "RD-88F5181-VOIP-RD1"

    "RD-88F5181-VOIP-RD1"
    "RD-88F5182-NAS-2"

 Soc related


Drivers related

Ethernet Phy driver:


    MV_VOID        mvEthE6131PhyBasicInit(MV_U32 ethPortNum);

Address decoding:

 
Flash Driver:
 
PciUtils Driver:
 

Ethernet driver:
 
    
PCI driver:
 
 
PCI Express driver:
 
 
 USB driver:
 
XOR driver


U-Boot features 

General


U-Boot malloc


U-Boot commands:
 
  Environment variables:
 
U-Boot PCI driver:


 U-Boot ELF support:

 
U-Boot partition support:


U-Boot EXT2 driver:


Monitor Extension mode:
 
 

Changes from release 1.5.3

 General:

  - This U-Boot release binaries were cross compiled with CSLQ32005 compiler.
 
 - Please refer to "U-Boot User Manual" and to "How to build U-Boot" section in this
   release notes for more information.

 Makefile:

  - Makefile was modified to support CSLQ32005 cross compiler instead of arm-linux
   compiler.
 - The following rules were added to the U-Boot Makefile and are supported in this
   release :
   
   db88f5182_config      - used to make little endian binaries for the
                           DB-88F5182-DDR2 board.
   db88f5182_BE_config   - used to make big endian binaries for the
                           DB-88F5182-DDR2 board.
   rd88f5182_TINY_config - used to make little endian binaries for the
                           RD-88F5182-NAS-2 board.
   
 - The following variables were added to the Makefile:
   CSL - path and name of the little endian CSLQ32005 compiler.
   CSLBE - path and name of the big endian CSLQ32005 compiler.

  - Modified u-boot-tiny.lds linker script and config-tiny.mk to link text and data sections to address
    0xF10000 instead of 0xF40000 due to memory override of page table (when enabled) over the
    BSS section.

  - Added sanity check to the u-boot-tiny.lds linker script to check of U-Boot image footprint overflow
  of the flash size (for example, for the RD-88F5182-NAS-2 the flash size is 256KByte).

 Boards related

  - Support of the following boards were added to this U-Boot release:
 
   DB-88F5182-DDR2
   RD-88F5182-NAS-2
 
 - Fixed a bug that caused U-Boot to write 0xffffffff to device parameters
   of a non-used device CS, now U-Boot leave the parameters of non-used
   device CS unchanged.
   
 - Fixed a bug that caused the U-Boot to overwrite the Boot CS device width,
   now U-Boot leave Boot CS device width as in sample at reset value.
 
 - Added implementation of "RGMII Output Delay Tuning Guideline". Refer to GL# ETH-3 guide line for more details.
 
 - Fixed a bug that caused the U-Boot to treat GPP1 in DB-88F5X81-DDRX-A as
   usb VBUS pin, it is now modified to GPP5 instead.
  

 Soc related

   - Support of 88F5182 SOC was added to this U-Boot release.
 

 Drivers related

  Address decoding:
 
 - Fixed several bugs in the Hal drivers windows decoding.
 - Fixed a duplicated bug  in configuring address decoding of internal units. The bug is that if the mvXXXTargetWinGet() target window
    get function for a specific unit return MV_NO_SUCH during mvXXXWinInit() unit specific function then skip to the next window
    instead of returning an error.
 
 Flash Driver:
 
 - Added support for SST flash devices (SST39VF020) in the flash driver.
 
 - Fixed a bug in the flash driver that caused AMD compatible flash devices
   fail in programming because of wrong status checking.
 
 SATA driver:
 
 - Modified the SATA driver to add the support of the Integrated SATA unit
   in the 88F5182 SOC.
 
 - Added XOR driver to the U-Boot source.
 
 DDR driver
 
 - Fixed implementation of "GL# MEM-2 - P_CAL Automatic Calibration" according to DDR Controller Guidelines

 - Fixed implementation of "GL# MEM-3 - Drive Strength Value" according to DDR Controller Guidelines

 - Fixed implementation of "GL# MEM-4 - DQS Reference Delay Tuning" according to DDR Controller Guidelines
   
 - Fixed a bug that caused overwriting the FTDLL value for DDR1 DDR with wrong value
   in 'platformsetup' routine by deleting the relevant code.
 
 Ethernet driver:
 
 - Two bugs were fixed in the Giga Ethernet driver, that caused in some conditions
   problems in sending Jumbo fragmented packets, or fragments that are less than 8
   byte long.
   
 PCI driver:
 
 - Disabled PCI address remap write feature that cause changing of the BAR remap register
   whenever the BAR base address is changed, disabling this feature can prevent some prefetch
   problems that can occur if the remap register is different from the CPU addressing.
   
 - Modified mvPciWaFix function in the PCI driver according to the latest documentation, this
   function implement the following PCI restrictions:
   
   * RES# PCI-4, PCI/PCI-X Slave Incorrectly Sets Internal Data
     Parity Interrupt
   * RES# PCI-5, Master May Erroneously Set/Miss an Internal Data Parity
     Interrupt in Conventional PCI
     
 - Added other errata implementation in mvPciCommandSet() function.
 
 PCI Express driver:
 
 - Added implementation of "Wrong Default Value to Transmitter Output Current (TXAMP)" as described in
    GL# PCI-Express-2 in the PCI/PCI-X and PCI-Express Guidelines and Restrictions document
 
 - Updated implementation of "Erroneous Read Data on Configuration Reads"  as described in
    GL# PCI-Express-1 in the PCI/PCI-X and PCI-Express Guidelines and Restrictions document.
 
 USB driver:
 
 - Added support for two USB controllers for the 88F5182 SOC.
 
 - Updated implementation of USB related Guidelines.
  

 U-Boot features

 General:
 
 - Changed the print format of the Soc name and revision to print the revision name (e.g. A0,B1)
   instead of number (e.g. 0,1) .
   
 - Fixed udelay() function implementation to support parameters that are in seconds resolution.
 
 U-Boot commands:
 
 - Updated 'bubt' and 'resetenv' commands to be more generic throughout different boards.

 - Changed 'dma' command to display the Windows target names.
 
 - Corrected implementation of mvEthPhyPrintStatus() function that caused 'sg' command to print
   non-valid PHY link information.
   
 - Added support of U-Boot ELF commands (for example "bootelf", "bootvxw").
   

 Environment variables:
 
 - Environment variable 'usbMode' was changed to 'usbMode0', and an extra environment variable
   'usbMode1' is added is the chip support two USB controllers.
   
 - Changed the default value of 'enaWrAllo' environment variable to 'no' in 88F5281-A0 Soc.
 
 
 U-Boot flash driver:
 
 - Fixed a bug that caused calling of flash initialization function when no flash exist
   on the device CS.
   
 - Fixed a bug for locking flash sectors that belong to U-Boot image, and environment variables on the flash.
 
 U-Boot IDE driver:
 
 - Modified enumeration process to include Integrated SATA unit if exist on the current Soc.
 
 - Fixed ident_cpy function to support Big Endian.
 
 U-Boot EXT2 driver:
 
 - Fixed a bug in EXT2 driver that defined array size in runtime!!, by changing the relevant
   code to use malloc instead.

 U-Boot image:
 
 - Added support for smaller U-Boot image for the RD-88F5182-NAS-2 board.

 Monitor Extension mode:
 
 - Fixed a bug in flash initializing of CV File System.
 
 - Added a cache flush and invalidate to the 'g' command implementation to fix a bug that
   caused a crash when running cached application on 88F5281 Soc when 'cache write allocate'
   is enabled.
   
 - Changed Stack pointer address in MPU mode from 0xF00000 to 0xE00000 and changed its size
   from 1 MB to 64KB.
   


Changes from release 1.4.4

 - Starting from this U-Boot version (1.5.0), a board identification data must present
   on the board TWSI EEPROM (address 0x50) to properly run-time detect the board id, as a
   result:
    * U-Boot will not run on boards that don't have the board identification data on
    the TWSI EEPROM, the board identification data should start at the last 16 byte of
    the TWSI EEPROM, and its format is as follows:
    
    offset 0: 4 bytes 0xFEEDFEED magic word.
    offset 4: 2 bytes  board id.
    offset 6: 1 byte board version as appeared in the board ECO.
    offset 7: 1 byte board reversion as appeared in the board ECO.
    offset 8: 8 reserved bytes for future use.

    * Before updating U-Boot release with bubt command, the board identification should
    be programmed on the board TWSI EEPROM using 'imm' command, the following example
    illustrates how to program the board identification data for a board with board id
    equal to 8 and has a 8KByte TWSI EEPROM:
    
    Marvell>> imm.l 50 1ff0.2
    00001ff0: ffffffff ? feedfeed
    00001ff4: ffffffff ? .
    Marvell>> imm.w 50 1ff4.2
    00001ff4: ffff ? 8
    00001ff6: ffff ? .
    Marvell>> imm.b 50 1ff6.2
    00001ff6: ff ? 0
    00001ff7: ff ? 0
    00001ff8: ff ? .
    Marvell>>
    Marvell>> imd 50 1ff0.2
    1ff0: fe ed fe ed 00 08 00 00 ff ff ff ff ff ff ff ff    ................
    Marvell>>     

        
    * A one U-Boot image per endianess mode will be released for all boards except
      of (VOIP an POS-NAS boards).
    * Supported board ID for this U-Boot release are:
    
    DB-88F5X81-DDR1           0x2 (Old Boad)
    DB-88F5X81-DDR2           0x3 (Old Boad)
    DB-88F5181-DDR1-PRPMC     0x4
    DB-88F5181-DDR1-PEXPCI    0x5
    RD-88F5181-POS_NAS        0x6
    DB-88F5X81-DDR2-A         0x7 (New Board)
    DB-88F5X81-DDR1-A         0x8 (New Board)
    RD-88F5181-VOIP           0x9

 - Added new Marvell headers that support GPL license to all source and header files.
 - Changed MPP and GPP Initialization for the DB-88F5181-DDRX-A boards to match
   the DB-88F5181-DDRX-A configuration file.
 - Fixed several bugs in mvBoardIdGet and platformsetup functions to fully support run-time
   board detection.
 - Removed the twsiInit.S file.
 - Added _mvDramIfStatic2Init function for DB_88F5181_DDR1_PRPMC and DB_88F5181_DDR1_PEXPCI
   DRAM initialization.
 - Enabled DRAM Unit bit 26 in register 0x1400 in Orion2 B0 to improve DRAM write performance.
 - Fixed a bug in _mvDramIfBasicInit and _mvDramIfConfig functions that prevented the setting
   of Pad Calipration and FTDL values for DDR1 boards.
 - Skipped Pad Calipration setting for Orion2 B0 because it is done automaticly.
 - Changed the default value of enaDCPref,enaICPref and enaWrAllo environment variables to "yes"
   instead of "no".
 - Increased the size of the environment variable buffer to prevent crashe because of the new
   added environment variables.
 - Added support for additional two remap windows in the CPU Interface supported by
   Orion 2.
 - Fixed a bug that caused the U-Boot to stuck if there is no TWSI EEPROM on the TWSI EEPROM
   socket.
 - Fixed a bug in U-Boot 'dma' command, 'dma' command always has set the source burst size as
   8 bytes.
 - Changed U-Boot to detect boards that has no TWSI EEPROM or no valid Board ID and have
   Orion 2 B0 as new board.


Changes from release 1.4.3

 - Added Cache DFTDL Initialization for Orion 2 B0
 - Added enaDCPref environment variable to enable D-Cache Prefetch
 - Added enaICPref environment variable to enable I-Cache Prefetch
 - Added new Sample at Reset clock values
 


Changes from release 1.4.2

 - Added support for RD-885181-VOIP-DDR1 board
 - Added support for DB-885X81-DDR2 board
 - Rewrote the Board HAL environment module with new HAL Board module, the new
   module uses a global table for describing the supported boards , and every
   entry in the table describe one different board.
 - Updated the mvBoardIdGet function to search the TWSI EEPROM for two possible
   offsets.
 - Updated RTC driver to use the new Board HAL module.
 - Updated U-boot flash initialization to use the new Board HAL module.
 - Added support for initialization of the 88E6063 Marvell switch in
   the RD-885181-VOIP-DDR1 board.
 - Fixed a bug in the mvDevIfPramSet and mvDevIfPramGet functions when passing
   BootCS as parametr.
 - Updated Platform.S to support RD-885181-VOIP-DDR1 and DB-885X81-DDR2 boards.


Changes from release 1.4.1

 - Fix DRAM to auto detect the bank size according to the device and dimm width.
 - Change SpdDisplay tp use mvOsOutput instead of mvOsPrintf.
 - Fix bug of memory coruption in the SpdDisplay.
 - Fix a bug in CpuNameGet API.
 - Add setting of the egiga MAC address to the egigaLoad.
 - Add option to signal the Linux wether to override the egiga MAC or to respect the U-Boot settings.
 - Add new command "resetenv" which reset the environment variables back to defaults.
 - Add a Fix for using W.D genII HD.
 - Enable using the LBA48 support for HDD.


Changes from release 1.4.0

 - Update Dram parameters.
 - Fix bug in the flash, when writing 32bit to a 16bit flash.


Changes from Release 1.3.4

 - Add support for Orion-Poseidon-NAS board.
 - Add support for static DRAM initialization in Assembler.
 - Add support for configuring the U-Boot into a tiny image (memory layout of less then 256KB)
 - Add support for detetcting the boards according to an EEPROM identification (in C and Assembler)


Changes from Release 1.3.3

 - Add support for Poseidon (under mv88fxx81/Board)
 - Add support for IDE over Poseidon.
 - Add support for ext2 FS, taken from u-boot 1.1.2.
 - Remove TWSI initialization uart prints.
 - Change DRAM asm boot APIs, to enable using static DRAM detection in asembler.


Changes from Release 1.3.1

 - Made changes to Dram Initialization:
   * Added code that disables P_CAL Automatic Calibration for Address/Control and
   Data Pads (BTS #475 in Orion1 B0, BTS #17 in Orion2 A0)  
   * Changed Drive Strength Value (used to be called Slew Rate).
   * Changed FTDLL DQS reference delay.
   
 - Fixed two bugs in TWSI driver.


Changes from Release 1.2.4

 - Add support for Orion2:
    - detect and print name of orion2 0x5281 (all other defines stay as in 0x5181)
    - Update CPU streaming, and add env variable enaCpuStream (default no)
    - Add env enaWrAlloc (default no)
    - Add code for initialization of VFP.
- Add latest TWSI driver.


Changes from Release 1.2.3

 - Added code to do Twsi Init EEPROM intialization if
   I2C init is not enabled.

   * Note * The Twsi init code doesn't support DB-88F5181-DDRI-PRPMC
            and DB-88F5181-DDRI-PEX-PCI boards.
        
 - Ethernet Phy reset is now in more earlier phase of the code.


Changes from Release 1.2.1

 - Fixed a bug in the "PCI Parity Error" workarround.
 - Yukon driver works in Big endian as well.


Changes from Release 1.1.13

 - Add support for working in BE.


Changes from Release 1.1.12

 - Fix a bug in the USB disk on key example.
 - Fix a bug in the dma command.


Changes from Release 1.1.11

 - Disabled CPU streaming.
 - Added USB driver as object binaries without source code.


Changes from Release 1.1.10

 - Added support for DB-88F5181-DDR1-PEX-PCI board
 - Fixed a bug that allowed setting CPU windows that are not aligned to
   their size.
 - Added a workaround in the twsi driver for stop bit that does not go
   down by HW
 - Added support for Realtek 8029 NIC ( NE2000)
 - Added a support in the U-boot PCI stack so the Host device number can
   be any number , and not only 0.
 - Added a region in thr protection unit for the stack to be cached.
 - Added support for changing UART Baudrate in runtime.


Changes from Release 1.1.9

 - Added support for Protection Unit when CPU is configured as ARM946.


Changes from Release 1.1.8

 - Fixed a bug that caused the tftp not to work through Yukon EC in
   DB-88F5181-DDR1-PRPMC .


Changes from Release 1.1.7

 - update version to 1.1.8
 - Added dram auto detection to DB-88F5181-DDR1-A1
 - Added support for DB-88F5181-PRPMC in the same image,
   no longer seperate images for DB-88F5181-PRPMC and DB-88F5181.
   
   * Note* this u-boot doesn't support MV88F5181-A0


Changes from Release 1.1.6

 - update version to 1.1.7
 - Added dram auto detection to DB-88F5181-DDR2-A1
 
   * Note* this u-boot doesn't support MV88F5181-A0
 

Changes from Release 1.1.5

 - update version to 1.1.6
 - Bug fixes for DB-88F85181-PRPMC :
   - main flash size changed from 16MB to 32MB
   - PCI device number changed from 0 to 32
   - Egiga works in force link and 100Mbit
   - DRAM bug fixes
   - Yukon EC MAC address is now writeen to the register


Changes from Release 1.1.1

 - update version to 1.1.5
 - Added support for DB-88F5181-PRPMC
 - Added support for DB-88F5181-A1


Changes from Release 1.1.0

 - update version to 1.1.1
 - Added support for DB-88F5181-DDRI
 - Fixed a bug in mvPexConfigRead, the bug caused mvPexConfigRead not
   to work if remap window of PEX MEM is diffrent than base .


Changes from Release 1.0.13

 - update version to 1.1.0
 - Insert Usb device support based on the env variable usbMode.
 - Insert PCI remapping to 0x40000000 to help CIV handle the Atlantis PCI
    card easily.
 - FIx the eepro100 and the pex for to support the remap.
 - Minimize the Yukon driver in order to get a small u-boot image.
 - Integration with all latest HALs.



Changes from Release 1.0.11

 Updated files:

 Added files:   
    None.

 Deleted files:
    None.


8. Known Issues

  - Accessing main flash in RD-88F5181-VOIP-RD1 board when monitor extension mode
    enabled has problems.

  - while using 'bubt' command to update little endian U-Boot with big endian U-Boot and
    vice vera, then the user must choose to override environment variables; otherwise U-Boot
    might not boot.

  - Pressing Ctrl-C (break) while TFTP tranfer using SK98 NIC will success; but if trying
    addition TFTP transfer using the same SK98 will fail.

  - TFPT transfer randomly fails by not finishing using SK98 NIC.

  - "dma" command in U-Boot does not set bit 31 in register 0x60840 to 1; in the case of
    of byte count > 64KB. Due to that, the DMA engine is mis-configured to transfer a wrong
    byte count of data.


9. Disclaimer

This document provides preliminary information about the products described, and such information should not be used for purpose of final design. Visit the Marvell® web site at www.marvell.com for the latest information on Marvell products.

No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording, for any purpose, without the express written permission of Marvell. Marvell retains the right to make changes to this document at any time, without notice. Marvell makes no warranty of any kind, expressed or implied, with regard to any information contained in this document, including, but not limited to, the implied warranties of merchantability or fitness for any particular purpose. Further, Marvell does not warrant the accuracy or completeness of the information, text, graphics, or other items contained within this document. Marvell makes no commitment either to update or to keep current the information contained in this document. Marvell products are not designed for use in life-support equipment or applications that would cause a life-threatening situation if any such products failed. Do not use Marvell products in these types of equipment or applications. The user should contact Marvell to obtain the latest specifications before finalizing a product design. Marvell assumes no responsibility, either for use of these products or for any infringements of patents and trademarks, or other rights of third parties resulting from its use. No license is granted under any patents, patent rights, or trademarks of Marvell.These products may include one or more optional functions. The user has the choice of implementing any particular optional function. Should the user choose to implement any of these optional functions, it is possible that the use could be subject to third party intellectual property rights. Marvell recommends that the user investigate whether third party intellectual property rights are relevant to the intended use of these products and obtain licenses as appropriate under relevant intellectual property rights.
Marvell comprises Marvell Technology Group Ltd. (MTGL) and its subsidiaries, Marvell International Ltd. (MIL), Marvell Semiconductor, Inc. (MSI), Marvell Asia Pte Ltd. (MAPL), Marvell Japan K.K. (MJKK), Marvell Semiconductor Israel Ltd. (MSIL), SysKonnect GmbH, and Radlan Computer Communications, Ltd.
Export Controls.  With respect to any of Marvell’s Information, the user or recipient, in the absence of appropriate U.S. government authorization, agrees: 1) not to re-export or release any such information consisting of technology, software or source code controlled for national security reasons by the U.S. Export Control Regulations ("EAR"), to a national of EAR Country Groups D:1 or E:2; 2) not to export the direct product of such technology or such software, to EAR Country Groups D:1 or E:2, if such technology or software and direct products thereof are controlled for national security reasons by the EAR; and, 3) in the case of technology controlled for national security reasons under the EAR where the direct product of the technology is a complete plant or component of a plant, not to export to EAR Country Groups D:1 or E:2 the direct product of the plant or major component thereof, if such direct product is controlled for national security reasons by the EAR, or is subject to controls under the U.S. Munitions List  ("USML").  At all times hereunder, the recipient of any such information agrees that they shall be deemed to have manually signed this document in connection with their receipt of any such information.
Copyright © 2004.  Marvell.  All rights reserved.  Marvell, the Marvell logo, Moving Forward Faster, Alaska, and GalNet are registered trademarks of Marvell.  Discovery, Fastwriter, GalTis, Horizon, Libertas, Link Street, NetGX, PHY Advantage, Prestera, Raising The Technology Bar, UniMAC, Virtual Cable Tester, and Yukon are trademarks of Marvell.  All other trademarks are the property of their respective owners.