| 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> |