blob: a5d7c0d080351a27747abb3b04ec345f52a5dd58 [file] [log] [blame] [edit]
03-Oct-2012
Release notes for Avanta U-Boot, release: 4.1.2_PQ
===================================================
IMPORTANT:
==========
- When upgrading from Uboot version 2.x.x it is required to reset the Uboot env
variables by running "resetenv; reset" from Uboot prompt (after Uboot upgrade).
Table of Contents
-----------------
1. Contents of Release
2. Supported boards/CPU's/
3. How to build and burn U-Boot.
4. Board configurations
5. Changes from Previous Releases
6. Known Issues
7. Disclaimer
1. Contents of Release (n)
==========================
Included in current release:
-) U-Boot source code patch (for u-boot-2009.08)
-) Supported features for 65xx
- Little endian.
- Big endian.
- DDR2 & DDR3.
- Uart 0.
- PCI-E 0 & 1.
- Reset.
- NAND Flash.
- NOR flash.
- SPI flash.
- USB.
- Auto detection of on-board modules (DB-88F65xx-BP board).
-) Supported features for 6601
- Little endian.
- DDR3.
- Uart 0.
- Internal GBE phy.
- SGMII GBE LP SERDES.
- Reset.
- SatR
- SPI flash.
- Auto detection of on-board modules (DB-88F6601-BP board).
2. Supported boards/CPU's
============================
This U-Boot version supports the following boards:
Boards
======
DB-88F6500-BP
RD-88F6510-SFU
RD-88F6560-GW
DB-88F6560-PCAC
DB-88F6601-BP
RD-88F6601-MC
3. How to build and Burn U-Boot
===============================
Building U-Boot
===============
-) Download U-Boot release 2009.08 from ftp://ftp.denx.de/pub/u-boot/.
-) Update the U-Boot 2009.08 release by copying the patch of this release.
-) Export your cross compiler using the command: export CROSS_COMPILE=/path/to/your/cross/compiler
-) Build the U-Boot binaries as follows:
$ make mrproper
$ make <board_name> <options>
$ make
Where <board_name> is the targe board:
db88f6500bp_config
rd88f6510sfu_config
rd88f6530mdu_config
rd88f6560gw_config
db88f6500pcac_config
db88f6601bp_config
rd88f6601mc_config
Where <options> is:
NANDBOOT=1 - boot from NAND flash.
SPIBOOT=1 - boot from SPI flash.
NORBOOT=1 - boot from NOR flash.
NAND=1 - support read/write from NAND.
SPI=1 - support read/write from SPI.
NFC=1 - support NAND Flash Controller instead of Device-Bus based NAND flash.
NOR=1 - support read/write from NOR.
BE=1 - support for Big-Endian mode.
DDR3=1 - DDR3 support.
USB=1 - USB support.
For example:
$ make db88f6500bp_config NANDBOOT=1 NAND=1
will build image for DB-88F6500-BP board with support booting from NAND. NANd flash will be usable.
-) The BootRom header files are located in the source root directory:
-> dramregs_400db_kw2_ddr2.txt
-> dramregs_533db_kw2_ddr3.txt
-> dramregs_266rd_kw2_ddr2.txt
-> dramregs_400rd_kw2_ddr2.txt
-> dramregs_533rd_kw2_ddr3.txt
-> dramregs_533db_pcac_kw2_ddr3.txt
-> dramregs_400db_A-MC_ddr3.txt
-> dramregs_400db_A-MC_ddr2.txt
-> dramregs_400rd_A-MC_ddr3.txt
The files have predefined register settings for the different SDRAM configurations and required errata.
The matching header file is appended to the U-boot image during the make process according to the device
and board type, using the doimage utility which is located in the /tools directory. The output file to be
burnt on boot ROM depends on the make parameters:
-> NANDBOOT=1 : u-boot-<board name>_<SDRAM clock frequency>_<ddr type>_nand.bin
-> SPIBOOT=1 : u-boot-<board name>_<SDRAM clock frequency>_<ddr type>_spi.bin
-> NORBOOT=1 : u-boot-<board name>_<SDRAM clock frequency>_<ddr type>_nor.bin
The file u-boot-<board name>_<SDRAM clock frequency>_<ddr type> uart.bin is used for debug purposes for booting the
U-boot image through the UART port.
Important: Use the UART file that matches the boot device on the target board.
e.g. when booting from NAND, use the uart binary that is produced from compiling UBoot with NANDBOOT=1 NAND=1.
This file can also be found in the relevant directory under the "images/" tree.
Burning U-Boot
==============
When burning the new U-Boot image to a board that already runs a previous U-Boot image the following sequence
can be used to load the image using tftp to the board and burn it:
1. Start a tftp server on the host PC, whose directory is set to point to the directory contaning the
new U-Boot bin image.
2. Connect an Ethernet cable to the RJ-45 connector of the board.
3. Configure the U-Boot environment parameters using the following commands:
> setenv serverip xx.xx.xx.xx (xx.xx.xx.xx should be the IP address of the PC runing the tftp server)
> setenv ipaddr yy.yy.yy.yy (yy.yy.yy.yy should be some IP address with the same subnet as the server)
4. run the bubt command to load and burn the U-Boot image:
> bubt u-boot-<board name>_<SDRAM clock frequency>_<boot device>.bin
5. Once the image is loaded the user is asked whether the environment parameters should be overwritten or not
, and answering y or n to thios question will start the burn process.
6. Once the burn is complete the board can be restarted, and the new U-Boot image will be run.
In case the original U-Boot image was damaged, or when whishing to burn a different boot device than the current one,
the U-Boot command cannot be used, and a debugger is required to load the U-Boot ELF image into the SDRAM, using the
following procedure:
1. Connect a debugger (Marvell uses a Lauterbach debugger, so the supplied scripts are written for this type of debugger)
to the debugger port of the board.
2. From the file menue of the debugger SW choose the "run batch file" option and load the kw_dimm400.cmm file.
3. From the file menue of the debugger SW choose the "load" option and load the U-Boot ELF file (The one without any extension).
4. Once the loading is done change the following using the debugger SW:
- CPU PC to 0x670000.
5. Start the CPU by pressing "Go" in the debugger SW, and the loaded U-Boot image will boot the board, and now the new image can
be burnt to the required boot device using the bubt command.
4. Board configurations
==========================
4.1 How To Configure Auto-Detected Modules EEPROM on 65xx
=========================================================
When configuring modules on the DB board. You need to fill the EEPROM with the right configuration.
Use the table below to configure the EEPROM:
-----------------------------------------
bit # Board Marking Function
0 JP5 Switch to MAC connection
1 JP6 Switch to MAC connection
2 JP8 SERDES SRC
3 JP10 SERDES SRC
4 JP11 RGMII-A SRC
5 JP12 RGMII-A SRC
6 JP17 GEPHY SRC
7 JP18 GEPHY SRC
-----------------------------------------
Switch to MAC connection (QSGMII module plugged-in):
JP5 JP6
0 0 MAC0 => Switch => QSGMII
0 1 N/A
1 0 MAC1 => Switch => QSGMII
1 1 (MAC0 + MAC1) => Switch => QSGMII
Switch to MAC connection (no QSGMII module, no SGMII on SERDES):
JP5 JP6
0 0 No switch
0 1 MAC0 => Switch => 3xFE
1 0 MAC1 => Switch => 3xFE
1 1 (MAC0 + MAC1) => Switch => 3xFE
Switch to MAC connection (no QSGMII module, SGMII connected to SERDES(check JP8
& JP10 configuration):
JP5 JP6
0 0 N/A
0 1 MAC0 => Switch(Port #1) => SGMII
1 0 N/A
1 1 (MAC0 + MAC1) => Switch(Port #1) => SGMII
-----------------------------------------
SERDES SRC - Which module is connected to the SERDES?:
JP8 JP10
0 0 None
1 0 SATA
0 1 SGMII -
1 1 N/A (SDIO)
-----------------------------------------
RGMII-A SRC - When RGMII-A is in use (connected on board), What's it source?:
JP11 JP12
0 0 Switch port 6 source
1 0 MAC0 source
0 1 MAC1 source
1 1 Switch port 5 source
-----------------------------------------
GEPHY SRC - What's the GE PHY source?:
JP17 JP18
0 0 None
1 0 MAC1 source
0 1 Switch port 0 source
1 1 Switch port 5 source
-----------------------------------------
The EEPROM possible values are:
0 - Jumper on 1-2
1 - Jumper on 2-3
* Please use jumpers for all bits.
4.2 How To Configure Auto-Detected Modules EEPROM on 6601
=========================================================
jumper configuring modules on the DB board.
Jumper Name Function
JP0 MAC connection 0 – MAC1 connected to GBE PHY and MAC0 connected to LP SerDes
1 – MAC1 connected to LP SerDes
JP1 Ethernet capacity 0 – Single Ethernet channel (GBE only)
1 – Dual Eth. channels
JP2 LP SerDes connection 0 - LP SerDes connected to GBE PHY
1 - LP SerDes connected to SFP
JP3 LP SerDes mode 0 - LP SerDes at 1.25G mode
1 - LP SerDes at 2.5G mode
JP4 FXS presence 0 – FXS presented
1 – FXS missing
JP5 PON BEN polarity 0 – BEN active low
1 – BEN active high
JP6 Reserved
JP7 Reserved
5. Changes from Previous Releases (Whenever a device name is not specified, the change is relevant for all boards)
==================================================================================================================
U-boot 4.1.2
=============
1. Support 4 address cycle SPI flash direct read mode in Avanta-MC.
U-boot 4.1.1
=============
1. Support SGMII connected to switch port #1 - check also updated jumper settings.
2. Unified images build script for 88F65xx & 88F6601.
3. Fixed mvBoardIsPortInSgmii() to return correct value per port.
4. Reset switch in case new configuration should be loaded: removed
dependency between U-Boot and LSP releases.
U-boot 4.1.0
=============
1. Updated values for DDR2/DDR3 registers: 0x1430, 0x1434 and 0x14B0 for DB-6601.
2. Fixed temperture command to support signed values.
3. Updated FTDLL parameters for 660 SoC DDR2/DDR3 RD & DB.
4. Disable I/D cache prefetch by default for 6601 SoC.
5. Update ST Micro SPI driver to support KW2 or Avanta-MC in compile-time.
6. Fixed Marvell uclibc compiler errors/warnings by reordered section and function declarations in jump.S.
Additionally updated -march flag from armv5t to armv5te.
7. Enable EEE support for Avanta-MC internal GbE PHY and on board 1512 PHY.
U-boot 4.0.7_X_BAR
==================
1. Support SPI flash MX25L25635E with 32bit address cycle mode.
2. Minor code cleanup.
U-boot 4.0.6_X_BAR
==================
1. Update DRAM register settings.
2. print DOT "." while writing to SPI flash
U-boot 4.0.5_X_BAR
==================
1. Disable automatic windows detected. (enable only Cross BAR windows)
2. Disable DDR2 cross BAR windows enable bit in DDR2 register header.
U-boot 4.0.5
============
1. Enable GMAG1 on RD board.
2. Change the order of the boards structures in the file mvBoardEnvSpec.c
Last 3 boars:
• RD-88F6601 Avanta
• DB-88F6601-BP Avanta
• Customer board place holder
U-boot 4.0.4
============
1. Fixed DRAM register setting for Avanta-MC DDR2 and DDR3.
U-boot 4.0.3
============
1. New DRAM register setting for Avanta-MC DDR2 and DDR3
2. Shutdown clock RD_88F6601_MC GIGA1
3. Fixed output print for Avanta-MC module.
4. Fixed bug in KW2 when reading the SoC model version from PCIe register 0x40000
5. Avanta-MC- Enable automatic crossover for all modes.
U-boot 4.0.2
============
1. Fixed in DRAM Control register the single device size.
2. Fixed TDM jumper polarity and TDM configuration.
3. Fixed GPP LP SERDES initialization.
4. Added XCVR mux configure.
U-boot 4.0.1
============
1. Support RD88F6601-MC.
2. Fixed include file from NETA directory instead of eth (previous Legacy GBE directory).
3. Fixed MDC/MDIO segment power level.
4. Fixed GBE speed to auto negotiation.
U-boot 4.0.0
============
1. Support DB88F6601-BP.
U-boot 3.2.1
============
1. Added support for 1500/500/500 frequency option
2. Fixed recovery command for RD SFU board
3. added NAND parameters in make file for RD MDU board
U-boot 3.2.0
============
1. Updated USB phy init values.
2. Add an option to boot from SPI flash, and work with NAND flash under UBoot.
3. Added new field in mvBoardSpec (nandFlashParamsValid) to specify if the device-bus
NAND flash timing parameters are valid.
4. Added new GPIO types: BOARD_GPP_PON_XVR_TX, BOARD_GPP_SYS_LED & BOARD_GPP_PON_LED.
And added initialization for each according to boards (DB, RD-SFU, RD-GW) definition.
5. Updated initializations of SERDES when working in QSGMII / SGMII modes.
6. Updated initialization for 3xFE PHY.
U-boot 3.1.0
============
1. Add support for DB-88F6560-PCAC board.
2. Rearrange board info in mvBoardEnvSpec.h & mvBoardEnvSpec.c
3. Use correct naming for SMI single-chip & multi-chip addressing mode.
- The command to control SMI addressing mode was changed to switchSingleChipAddrMode.
4. Fixed PCI-E End-Point support code.
U-boot 3.0.0
============
1. Remove unneeded delay before checking PCI-E link. Delay changed to 1ms instead of 500ms.
2. Add support for switch multi-address access:
- RD-SFU is set for multi-address mode.
- DB will be set to multi-address mode if ethernet-complex configuration allows and
multi-address mode is enabled for DB (See 8 below).
3. Added the ability to disable auto-detection on DB board, by configuring the boardSpec's
moduleAutoDetect field to MV_FALSE.
4. Added support for temperature sensor (get_temperature command from Uboot prompt).
5. Fixed initialiation of internal 3xFE-PHY to support booting system with 10Mbps link.
6. Fixed bug in bubt command (for NAND) when the user requires the env variables to be deleted
as part of the Uboot update process.
7. Renamed "fi" Uboot command to "find".
8. Added new commands "switchAddressModeSet / switchAddressModeGet" to control whether the DB board can
work in switch multi-address mode when the ethernet-complex configuration allows that.
9. Added support for multi-image boot, this can be enabled be running the following in Uboot
prompt: "setenv dual_image yes; saveenv; reset"
10. Enabled Uboot hush-parser to enable scripting capabilities in Uboot shell.
All variables in Uboot shell must be referenced by ${} and not $().
11. Enabled command-line editing and command history in Uboot prompt.
12. Removed unneeded delay before internal switch initialization.
13. Replaced 1000ms delay with 100ms after GPIO Pex reset toggling.
U-boot 2.3.2
============
1. Disable L2-Cache in RD-SFU regardless of reset strap.
U-boot 2.3.1
============
1. Fixed bug in 3xFE PHY shutdown, that caused QSGMII PHY register read through the switch to return bad values.
(Relevant when working in Multi-Address mode only).
2. Removed changes to default value of register 0x18480 in A0 devices.
U-boot 2.3.0
============
1. Added support for KW2-A0 devices.
2. Update initialization of internal GE-PHY (To support A0 devices).
U-boot 2.2.0
============
1. Update DB & RD-GW dram parameters (in dramregs files).
2. Update RD-SFU dram configuration to use direct CPU DRAM access.
3. Remove unneeded register writes from RD-SFU dramregs file.
4. Fixed bug in doimage to work on 64-bit machines (host).
5. Change default UBoot network driver to use Neta mode (non-accelerated)
instead of Legacy GbE mode.
6. Update eth-phy HAL to support initialization of Quad PHY through
switch SMI interface.
7. Added support for MII mode in MAC0, MAC1, Switch Port 5 and Switch
Port 6.
8. Changed mapping of Jumpers 5 & 6 on DB board to enable working in
SFU mode (Both MACs are connected to switch). See JP5,6 mapping
description above.
Also see important notice at the head of this document.
U-boot 2.1.12
=============
1. Update DDR params for KW2-RD-GW board.
2. Add support for 1545-Z1 Quad PHY.
3. Fixed bug in MPP output driver configuration when RGMII-B is used.
4. Update list of supported CPU/L2/DDR frequencies.
U-boot 2.1.11
=============
1. Add support for Neta based network driver (disabled by default).
2. Change PHY init internal functions to receive the PHY address to operate on.
3. Added new functions: mvBoardPhyAddrSet & mvBoardMacSpeedSet to set PHY address and MAC speed for a given
board.
4. Fixed bug in Mac speed setup when using SGMII interface.
5. Fixed bug in board Sample-At-Reset command (SaR) for SSCG.
6. Added new parameters in board-Spec (forceLinkMask), to specify which external switch ports should have
force link configured.
7. Added definition of PON P2P-BEN GPP as part of board-spec.
8. Added function mvCtrlEthComplexMppUpdate() to reconfigure ethernet complex MPPs at runtime (Not used by Uboot).
9. Re-organization of MV_ETH_SATA_COMPLEX_OPTIONS enum elements for backward compatibility.
10. Fixed bug in network driver to set force link according to board-spec.
11. Renamed network driver from mv_egiga.c/.h to mv_egiga_legacy.c/.h
U-boot 2.1.10
=============
1. Added support for 1545-A0 Quad PHY.
2. Removed unused file board/mv_feroceon/mv_kw2/config/mvRules.mk
U-boot 2.1.9
============
1. Added support for JFFS2 file-system (enabled by passing JFFS=1 in make command).
2. Change SMI access functions (in eth-phy HAL) to get the SMI register address from upper layers.
3. Update RD-88F6510-SFU board MPP configuration (Set MPP #64 to GPIO input).
4. Updated boards definition structures with new param for power-Management power-up delay (Not relevant for UBoot).
U-boot 2.1.8
============
1. Add support for NAND Flash Controller (Can be enabled by passing NFC=1 to the make command).
2. Increase the maximum number of UBoot environment command arguments to 32 (from 16).
3. Coding style fixes.
4. Fix 154x Quad phy initialization: Disable MacSec when not in EEE mode,
and fix EEE mode init sequence.
5. Fix MPP initialization for RD-88F6560 board.
6. Update some registers default value.
7. Update MPP configuration for DB, RD & GW boards.
U-boot 2.1.7
============
1. disable MacSec for 1545 Quad PHY.
U-boot 2.1.6
============
1. Added support for RD-88F6560-GW board.
2. Changed environment varialbes soze on flash to 4KB.
3. Updated initialization for internal GE-PHY.
4. Updated PCI-E initialization sequence - Enable CPU-IF Pex after Pex PHY intialization.
5. Added integrated Sata controller support.
6. Added support for configurable PEX reset pin per board.
7. Removed unsupported CPU/L2/DDR frequencies.
8. Shutdown of all unused interfaces, and shutdown of all unsupported interfaces on 88F6510 devices.
9. Fixed bug when GE-PHY is connected to switch ports #0 or #5.
10. Fixed bug in system initialization when L2-Cache does not exist (according to SAR).
11. Fixed bug when working in NAND 4bit ECC mode.
U-boot 2.1.5
============
1. Code cleanup and compilation warnings removal.
2. Added initial support for NAND flash Controller (Not enabled by default)
3. Added support for No-L2 mode, for device flavors that do not support L2 cache.
4. Added clock gating for all unused interfaces.
5. Updated KW2-DB board MPP configuration for Deep-Idle support in Linux.
6. fixed bug in mvCtrlPwrClckGet() to use correct bits for TDM & NAND units.
6. Known issues
===============
- None.
7. 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.