
Release notes for LSP for 88F5181/88F5281/88F5182/88F5082, release:1.10.3
===============================================================================


Table of Contents
-----------------

1.	Contents of Release 1.10.3
2.	Changes from Previous Releases
	     Changes from release 1.8.2
3.	Known Issues
4.      Notes
5.      Disclaimer
	

1. Contents of Release 
==========================
	This release targeted and tested for the following boards:
	DB-88F5181-DDR1
	DB-88F5181-DDR2
	DB-88F5181-DDR2-A
	DB-88F5X81-DDR1-A
	DB-88F5182-DDR2-BP
	RD-88F5182-NAS-2
	RD-88F5182-NAS-3
	However, the source code includes support for other boards based on Orion,
	e.g. Orion VoIP, but, this release has not been tested on it.
	
Binaries:
	This release includes the following pre-built images/drivers under the binaries
        directory:
	1. db88f5181: 
	  Supported boards:
		DB-88F5181-DDR1
		DB-88F5181-DDR2
		DB-88F5X81-DDR2-A
		DB-88F5X81-DDR1-A
	1.Supported SoCs:
		88F5181
		88F5281
	2. db88f281_vfp:
	  This images enables the VFP in full mode.
	  Supported boards:
		DB-88F5X81-DDR2-A
		DB-88F5X81-DDR1-A
	  Supported SoCs:
		88F5281 
	3. rd88f5182:
	  Supported boards:
		DB-88F5182-DDR2-BP
		RD-88F5182-NAS-2
		RD-88F5182-NAS-3
	  Supported SoCs:
		88F5182
		88F5082
	4. rd88f5182_xor: 
	  Supported boards:
		DB-88F5182-DDR2-BP
		RD-88F5182-NAS-2
		RD-88F5182-NAS-3.
	  Supported SoCs
		88F5182 
	  This image enables the kernel enhancement using the XOR engines of the          88F5182 SoC, and enables 1 MByte IO's of the sata driver.

Included in current release :
	- Support for ttyS0 over the first uart.
	- Interrupts handling:
		Timer interrupt on the internal Tclk timer.
		PCI/PEX interrupts A/B/C/D.
	- PCI over the bridge and PEX support:
	- Support for passing Marvell Tag list from the U-Boot.
	- MtdBlock on the flash.
	- Update the Kconfig scripts to include the configuration of the
	  MV88FXX81.
	- Heart Beat counting on the 7seg.
	- Reset support.
	- Optimized cache flush for context switching.
	- MV shell Proc FS.
	- RTC support.
	- USB support for 88f5x81 as host, value passed from U-Boot.
	- Giga bit Ethernet port support.
	- Support in the SATA driver to the ATAPI devices (CD/DVD-ROMS).
	- Support for Jffs2 as a root.
	- Support for Marvell Soho Ethernet switch devices.
	- Support for Marvell phone device.
	- This release is a patch to Linux 2.6.12.6 which can be download from
          (www.kernel.org)
	- Binaries for version 3.21.1.3 of Marvell's WLAN SoftAP driver. Source
	  code of this version is not included in this package.

2. Changes from Previous Releases
=================================
General:
-	Added support for kernel performance enhancement using the XOR engines 
	of the 88F5182 devices, The functions that be accelerated/offloaded are:
	*	xor_block(drivers/md/xor.c): this function calculates xor of 
		multiple buffer, it is used by RAID4/5.
	*	kernel memcpy().
	*	kernel memzero().
        *       copy_to_user() and copy_from_user().
	This feature is disabled by default.
-       Set the following features to be enabled by default:
        *       Use DMA to accelerate the copy_to/from_user functions.
        *       Kernel code reordering.
        *       XFS and Reiser fs as modules.
-	Enabled RAID Linear,0,1 and 5 built-in support. 
-	Removed defconfig files of boards that was not tested in this version.
-	Fixed the reported system elf hardware capabilities via /proc/cpuinfo:
	*	Added VFP for Orion2 when VFP is supported.
	*	Removed the EDSP for Orion1.
	*	Removed the JAVA feature.
-	Updated the unaligned access fix-up code for load/store double 
	instructions. 
-       Fixed bug in the FAT fs when working with files larger than 1 Giga byte.
-       Fixed bug in the fs inotify needed for Digital Media Servers.
-       Applied patches needed when working with Marvell's NAS generic fs.
-       Added the openssl and openswan packages of the NAS LSP release.
-       Added the following EABI patches: 3477/1, 3484/1, 3495/1, 3524/1.
-       Fixed time measurement.
-       Check if the IDMA was initialized before using the DMA in the copy_to/
        from_user functions.
-       Changed kernel version to from 2.6.12-arm1 to 2.6.12.6-arm1.

Boards:
-       Added support for Orion2 D0:
        updated D-cache and I-cache FTDLL.
-       Added support for 88W8660 rev A1.
-       Added new API function to get the first available window number in the
        AHB2MBUS BAR.
-	Added support for run-time automatic detection of the 88F5082.
-	Removed the check for tested u-boot version.
-       Cleared FTDLL freeze bit if the device is not MV88W8660.t
-       Added work around for DDR2 at 133Mhz.
        *       Clear address/control output timing bit (reg 0x1404 bit 6)
        *       Add 1 clock cycle to TRp in 133MHz only.
-       Added support for RD-88F5182-NAS-3 boards.
-       Updated the common HAL's.
-       Added Support for the NAND flash devices.
-       Fixed bug in flash devices detection for the RD-NAS-3 boards.

Drivers:
-	Rolled to version 8.34 of the SysKonnect Ethernet driver. 
-       Removed Marvell's Wlan SoftAP driver.

-       SATA:
        *   Updated the SATA drivers to version 3.6.2.
        *   Added support for ATAPI commands to the SATA driver.
        *   Added support for the SATA driver to handle up to 1Mbyte IOs for
            HDDs that support the LBA48 feature.
        *   Added mvSataAddrDecShow() function, this function prints the SATA
            unit address decoding windows setting.
        *   Fixed bug in the SATA address decoding, the mvSataWinGet() should 
            get the window attributes from the control register instead of the
            size register.
        *   Call the SATA address decoding initialization function from the 
            sata driver, this is needed in case the default setting (of the
            bootloader) is not correct.
        *   Added support for sending the ATA Standby Immediate command through
            the SMART interface.
        *   Added support for the 4140-C0 SATA port multiplier.

-       USB:
        *   Moved the underrun WA from Gadget to the HAL part of the USB driver.
        *   Fixed "idma" parameter check.
        *   Fixed bug; SETUP_PACKET must be static.
        *   Run time configuration of Streaming (disable/enable) and
            Underrun_WA_threshold (64/128/etc)
            Defaults: Streaming Enable, Threshold = 64 bytes
        *   Added support for /proc/usb_dump.
        *   Changed prototype of UncachedAlloc function.
        *   Support allocate Uncached memory in SRAM.
        *   Run-Time detection of free SRAM size can be used for USB Underrun WA.
        *   Fixed Bugs in the USB isochronous mode.
        *   Ported changes in Gadget devices (ether and rndis) from 2.6.13.
        *   Updated WA for USB underrun problem for Linux Gadgets, Prepare few
            options for CESA SRAM usage:
                2 channels - 4K SRAM
                1 channel - 4K SRAM
                1 channel - 2K SRAM
        *   Fixed bug in the printer class driver.
        *   Fixed USB gadget bugs.
        *   Consolidate the USB and Giga Etherenet HAL's of the Orion and Disco
            families.

-       Network:
        *   Added mac_addr to U-Boot struct.
        *   Added the unimac driver from the VoIP LSP.
        *   Fixed Egiga statistics collection and Fix Egiga tool when 
            MULTI_QUEUE is not defined

-       CESA:
        *   Added support for CESA with only one channel.
        *   Enabled the crypto unit target address window also when the usb 
            underrun work around is set, this work around uses the sram of the
            crypto unit.
        *   Moved the IDMA initialization function call to be outside the Crypto
            engine ifdef, as the IDMA can be used by other modules ( e.g. DMA
            copy acceleretion).
        *   Added description to the MV_CESA switch, this description will make 
            the kernel config utils to display the checkbox for this switch, so
            now this switch can be disabled.
        *   Changed the CESA debug format:
        *       Added readable strings for State variable
        *       Replaced counters representations to unsigned decimal (%u).
        Changes to the CESA test module:
        *       Changed the test case structure.
        *       Added 3DES test cases.
        *       Added TRACE support.
        *       Added debug messages.
        *       Added missed interrupt detection.
        *       Wait when request Queue is full to enable working of other 
                applications.
        *       Enabled Cesa Test device to be compiled as module.

3. Known Issues
===============
- The Linux image fails to boot when enabling new features in the kernel. The 
  reason is that the provisional page table which loaded in the boot stage maps
  only 8MB, so if the uncompress Linux imaga uses larger memory, then the boot 
  process will fail. Usually, the uImage (compressed image) size is about 1.9MB 
  when the uncompressed image reaches the 8MB limit.
  To work around this problem, the user can do:
   A. Remove unneeded drivers on components from the kernel image.
   B. Build kernel drives/components as dynamic loadable modules.

- Timeout errors of commands for ATAPI devices can cause to the device to be
  set in offline mode, this issue will be fixed in future releases.

- When disconnecting a SATA device while it used by the kernel (e.g. contains
  unmounted file system), the user must delete the block devices on that 
  channel (using the sysfs), otherwise, farther hotplug events on that channel
  may cause to kernel crash.

- This release adds support for sending requests with length up to 1MB for the
  SATA drives, in some cases, this feature can reduce the system performance,
  for example, running Samba and a client that performs sequential reads.
  Note that the user can modify the limit of the max request using the sysfs,
  this parameter is per block device, and it's defined by special file called
  'max_sectors_kb' under the queue directory of the block device under the sysfs.
  for example, the /sys/block/sda/queue/max_sectors_kb is for the /dev/sda
  device.

 
4. Notes
========
	HowTo:
		get linux-2.6.12.6,
		change its name to the release name.
		unzip the release.zip in the directory where you put the kernel,
                say A to replace all.
		cd to the kernel directory.
		'make mrproper'
		config the kernel according to the target device, for 88f5181 
                and 88f5281:
		'make db88f5181_defconfig' 
		for 88f5182 devices run:
		'make db88f5182_defconfig'
		for 88f5082 devices run:
		'make db88f5182_defconfig' then run make menuconfig and set the 
		and for 88f5281 with VFP mode:
		'make db88f5281_vfp_defconfig'
		'make uImage'
		cp arch/arm/boot/uImage to ...
	

5. 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(r) 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 (c) 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.
