23-Jul-2006

Release notes for 88F5181 U-Boot, release: 1.11.2
============================================================================

Table of Contents
-----------------
1.    Contents of Release
2.    Supported boards
3.    How to build U-Boot
4.    Changes from Previous Releases
5.    Known Issues
6.    Disclaimer	



1. Contents of Release (n)
==========================

  Included in current release:
 
  -) U-Boot source code patch (for u-boot-1.1.1) version 1.10.13
 
  -) The following U-Boot binaries:	
	

	*) Little Endian
  
	u-boot.bin
	u-boot.elf
	u-boot.srec

	nboot.bin
	nboot.elf
	

2.    Supported boards
======================

   This U-Boot version supports the following boards:
 
   DB-88F5281-DDR1-BP-A (Orion 2 D0)
   DB-88F5281-DDR2-BP-A (Orion 2 D0)
	
3. How to build U-Boot
======================

   -) Download CSLQ32005 cross compiler from http://www.codesourcery.com/ or contact Marvell
      FAE for latest SDK.
   
   -) Download U-Boot release 1.1.1 from http://sourceforge.net/projects/u-boot.

   -) Update the U-Boot 1.1.1 release by copying the patch of this release.
   
   -) Update the U-Boot Makefile to point to the cross compiler in your host
      machine, CSL variable should point to the Little Endian cross compiler.

   -) Build the U-Boot binaries as follows:
 
   -)- to create u-boot.* and nboot.*

   > make mrproper
   > make db88f5181_config
   > make
   > make nboot


4. Changes from Previous Releases
=================================

   Changes from release 1.10.13
   ++++++++++++++++++++++++++
   -) Add support for the 88F5281-D0.
   -) Fix DRAM init sequence when booting with or without Lauterbach.

   Changes from release 1.10.12
   ++++++++++++++++++++++++++
   -) Add support for the RD-88W8660-AP82S.
   -) Fix identification bug of the 88W8660 A0/A1.
   -) Add support for the INTEL flash 28F128P30T.
   -) Change PCI memory window size on the PRPMC board only from 128MB to 256MB.

   Changes from release 1.10.11
   ++++++++++++++++++++++++++
   -) Add support for boot from nand
      -) bubt commad write the u-boot.bin image to the nand.
      -) nbubt command write the bootloader (nboot.bin) image to the nand first page.
      -) Envairement varieble are copied to the DRAM and save on the NAND.
      -) DRAM parameters must be set in compile time, (device density and
	 device width).
   -) Add support for JFFS2 over nand
      -) Add define in db88f5181.h for JFFS size, location offset and nand
	 device.
   -) Create new define for the board info table - DB_88W8660_DDR2_DEV_CS_INFO, 
      incase of booting from nand the board info specify the nand conncting to the boot CS.
   -) Added u-boot-nand.lds - linker script for the nboot section.
   -) Add the env_nand.c file from u-boot rev 1.1.4 to the common directory
      for nand envairoment support.
   -) Add compilation flag MV_NAND_BOOT, for booting from nand indication.
   -) Change implemantation of the function mvDevNandSet() - fixed the MACRO's for the bit 
      offset calculations (DINFCR_NF_CS_MASK, DINFCR_NF_ACT_CE_MASK).
   -) Change implemantation of the function mvPciWaFix() - add checking of PCI
      enable bit in CPU control register.

   Changes from release 1.10.8
   ++++++++++++++++++++++++++
   -) Added support for 128MB instead of 32MB for RD-88F5182-NAS-3 Rev 2.
   -) Change FTDLL defualt value for MV88W8660 to 0.
   -) Clear DRAM FTDLL freez bit.
   -) Change DRAM address/control (for the MV88W8660 only) output timing to toggle at falling edge of clock.
   -) Add clock cycle to DRAM TRp in order to be able to work in 133MHz.
   -) Change all Tclk and sysClk definitions to be more accurate like 166,666,667Hz instead of 166,000,000Hz.
   -) Update ide debug massaging.


   Changes from release 1.10.7
   ++++++++++++++++++++++++++
   -) Added support for 128MB instead of 32MB for RD-88F5182-NAS-2.
   -) Added support for 64MB instead of 32MB for RD-88F5182-NAS-3.

   Changes from release 1.10.6
   ++++++++++++++++++++++++++
   -) Added support for 88F5182-A2.

   Changes from release 1.10.5
   ++++++++++++++++++++++++++
   -) Changed the default value of 'enaVFP' environment variable to 'no' for 88F5281-C0.

   Changes from release 1.10.4
   ++++++++++++++++++++++++++
   -) Added new reset sample values for DDR frequency detection.
   -) Added support for loads command (load serial)


   Changes from release 1.10.3
   ++++++++++++++++++++++++++

   -) Changed default value of 'enaWrAllo' environment variable for 88F5281-C0 to 'no'.
   -) Added 'enaVFP' new environment variable.
   -) Added image for RD-88F5181L-VOIP-GE board (with 88F5181 SoC)

   Changes from release 1.10.2
   ++++++++++++++++++++++++++

   -) Changed FTDLL values for MV88F5281 C0 to 0x8308
   
   Changes from release 1.9.2
   ++++++++++++++++++++++++++
   
   -) Added support for MV88F5281 C0
      - New FTDLL values for MV88F5281 C0
      - Changed implmentation of FER#USB-U10: USB Host Compliance Electrical Test Plan.
   -) Fixed a bug in flash driver that prevented a valid copy from flash to flash
   -) Added support dor MV88F5181L A1
   -) Fixed a bug in DRAM initialization that cause a wrong value to be written to in SDRAM PAD
      Calibration register in Big Endian mode.
   -) Code Cleanup
   -) Fixed a bug in the assembler initialization TWSI routine, add a delay after reset.

   Changes from release 1.9.1
   ++++++++++++++++++++++++++
   -) Change 88W8660 RD switch to 6061.
   -) Fix a bug in the assembler twsi init code, to use baude rate of 100K, instead of 200K.
   -) Fix mask for M value in TWSI clk rate.
   -) Change default board detection:
	if no EEPROM ID and chip is MV88F5182 then choose DB 88F5182
	if no EEPROM ID and chip is MV88W8660 then choose DB 88W8660
   -) Fix pex max win to 8 (6 windows + default + expension ROM)
   -) Fix pex windows show API, to show correct value for default and expension ROM windows.
   -) Disable the internal SRAM BAR since it is not presented.

   Changes from release 1.8.1
   ++++++++++++++++++++++++++
   -) Add support for MV88W8660.
   -) Add support for 88W8660 RD and DB.
   -) Add support for uniMAC efast interface.
   -) Add support for 6065 switch.

   Changes from release 1.7.3
   ++++++++++++++++++++++++++
   -) Added support for RD-88F5182-NAS-3 board.
   -) Added support for 88E1116 Ethernet Phy.
   -) Added support for 'write-through' cache mode via 'cacheMode' environment variable.

   Changes from release 1.6.5
   ++++++++++++++++++++++++++
   -) The support of the following boards was added to this U-Boot release:
    	DB-88F5181L-DDR2-2xTDM
    	RD-88F5181L-VOIP-FE
    	RD-88F5181L-VOIP-FE board with 88F5181 SOC
    	RD-88F5181L-VOIP-GE
   -) Corrected device width of flash from 16 bit to 8 bit in the following boards:
    	"RD-88F5181-VOIP-RD1"
    	"RD-88F5182-NAS-2"
   -) Added a function that initialize Marvell 6131 switch.
   -) Fixed a bug in ctrlWinOverlapTest function that caused ctrlWinOverlapTest to return MV_FALSE when 
      comparing two windows with the same base address and the same size.
   -) Corrected the implementation of  reading device Identifier and Lock informartion commands for Micron 
      flashes that don't use address A0 in those commands.
   -) Added support for Hardware Flash write buffer:
   -) Modified pciDetectDevice function implemetation to support cases where a CardBus interface is connected  
      to the PCI interface which cause the PCI interface to answer any PCI device number in PCI configuration read and write accesses.
   -) Added support for Boards that include Giga Bit switches that need the Ethernet driver to be configured in Force link mode.
   -) Fixed a bug that caused an overlapp test between MEM_INTER_REGS_BAR and IO_INTER_REGS_BAR pci BARS, the 
      fix was skipping the overlapp test of those two bars.
   -) Modified the implementation of "GL# PCI-Express-1 - Erroneous Read Data on Configuration Reads" Guidelines to skip 88F5181L SOC.
   -) Configured the USB PHY in force calibration instad of Auto calibration mode.
   -) Added support for a U-Boot image that resides at the last 512KB of a 16MB flash for the RD-88F5181L-VOIP-GE and RD-88F5181L-VOIP-FE U-Boot.
   -) Moved malloc area of DB-88F5181-DDR1-PRPMC U-Boot to 48MB.
   -) Modified and added U-Boot part_dos.c and part_dos.h  files to this release patch in order to add support for big endian mode.
   -) Modified and added U-Boot part.h file to this release patch, a new "boot_ind" member was added to "struct disk_partition" 
      structure to give indication of bootable partition.
   -) Fixed a bug in ext2fs_iterate_dir function, the bug was calling a malloc without calling free.
   -) Bug fix in loadExe function, the bug caused sometimes in reading a non-valid entry address of an executable file.
 
   Changes from release 1.5.3
   ++++++++++++++++++++++++++
   -) This U-Boot release binaries were cross compiled with 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).
   -) 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.
   -) 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.
   -) 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.
   -) 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.
   -) 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.
   -) 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 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.
   -) Added support for two USB controllers for the 88F5182 SOC.
   -) Updated implementation of USB related Guidelines.
   -) Fixed udelay() function implementation to support parameters that are in seconds resolution.
   -) 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.
   -) Changed the default value of 'enaWrAllo' environment variable to 'no' in 88F5281-A0 Soc.
   -) Modified enumeration process to include Integrated SATA unit if exist on the current Soc.
   -) 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
   ++++++++++++++++++++++++++
   -) 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.



5. Known issues
===============

   -) 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 Marvells 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.
