			   AMCC Ebony Board

		    Last Update: September 12, 2002
=======================================================================

This file contains some handy info regarding U-Boot and the AMCC
Ebony evalutation board. See the README.ppc440 for additional
information.


SWITCH SETTINGS & JUMPERS
==========================

Here's what I've been using successfully. If you feel inclined to
change things ... please read the docs!

DIPSW   U46         U80
------------------------
SW 1    off         on
SW 2    on          on
SW 3    on          on
SW 4    off         on
SW 5    on          off
SW 6    on          on
SW 7    on          off
SW 8    on          off

J41: strapped
J42: open

All others are factory default.


I2C iprobe
=====================

The i2c utilities have been tested on both Rev B. and Rev C. and
look good. The CFG_I2C_NOPROBES macro is defined to prevent
probing the CDCV850 clock controller at address 0x69 (since reading
it causes the i2c implementation to misbehave. The output of
iprobe should look like this (assuming you are only using a single
SO-DIMM:

=> iprobe
Valid chip addresses: 50 53 54
Excluded chip addresses: 69


GETTING OUT OF I2C TROUBLE
===========================

If you're like me ... you may have screwed up your bootstrap serial
eeprom ... or worse, your SPD eeprom when experimenting with the
i2c commands. If so, here are some ideas on how to get out of
trouble:

Serial bootstrap eeprom corruption:
-----------------------------------
Power down the board and set the following straps:

J41 - open
J42 - strapped

This will select the default sys0 and sys1 settings (the serial
eeproms are not used). Then power up the board and fix the serial
eeprom using the imm command. Here are the values I currently
use:

=> imd 50 0 10
0000: bf a2 04 01 ae 94 11 00 00 00 00 00 00 00 00 00    ................

=> imd 54 0 10
0000: 8f b3 24 01 4d 14 11 00 00 00 00 00 00 00 00 00    ..$.M...........

Once you have the eeproms set correctly change the
J41/J42 straps as you desire.

SPD eeprom corruption:
------------------------
I've corrupted the SPD eeprom several times ... perhaps too much coffee
and not enough presence of mind ;-). By default, the ebony code uses
the SPD to initialize the DDR SDRAM control registers. So if the SPD
eeprom is corrupted, U-Boot will never get into ram. Here's how I got
out of this situation:

0. First, _before_ playing with the i2c utilities, do an iprobe, then
use imd to capture the various device contents to a file. Some day
you may be glad you did this ... trust me :-). Otherwise try the
following:

1. In the include/configs/EBONY.h file find the line that defines
the CONFIG_SPD_EEPROM macro and undefine it. E.g:

#undef CONFIG_SPD_EEPROM

This will make the code use default SDRAM control register
settings without using the SPD eeprom.

2. Rebuild U-Boot

3. Load the new U-Boot image and reboot ebony.

4. Repair the SPD eeprom using the imm command. Here's the eeprom
contents that work with the default SO-DIMM that comes with the
ebony board (micron 8VDDT164AG-265A1). Note: these are probably
_not_ the factory settings ... but they work.

=> imd 53 0 10 80
0000: 80 08 07 0c 0a 01 40 00 04 75 75 00 80 08 00 01    ......@..uu.....
0010: 0e 04 0c 01 02 20 00 a0 75 00 00 50 3c 50 2d 20    ..... ..u..P<P-
0020: 90 90 50 50 00 00 00 00 00 41 4b 34 32 75 00 00    ..PP.....AK42u..
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9c    ................
0040: 2c 00 00 00 00 00 00 00 08 38 56 44 44 54 31 36    ,........8VDDT16
0050: 36 34 41 47 2d 32 36 35 41 31 20 01 00 01 2c 63    64AG-265A1 ...,c
0060: 22 25 ab 00 00 00 00 00 00 00 00 00 00 00 00 00    "%..............
0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................


PCI DOUBLE-ENUMERATION WOES
===========================

If you're not using PCI-X cards and are simply using 32-bit and/or
33 MHz cards via extenders and the like, you may notice that the
initial pci scan reports various devices twice ... and configuration
does not succeed (one or more devices are enumerated twice). To correct
this we replaced the 2K ohm resistor on the IDSEL line(s) with a
22 ohm resistor and the problem went away. This change hasn't broken
anything yet -- use at your own risk.

We never tested anything other than 33 MHz/32-bit cards. If you have
the chance to do this, please let me know how things turn out :-)


Regards,
--Scott
<smcnutt@artesyncp.com>
