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 probe ===================== The i2c utilities have been tested on both Rev B. and Rev C. and look good. The CONFIG_SYS_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 'i2c probe' should look like this (assuming you are only using a single SO-DIMM: => i2c probe 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 'i2c mm' command. Here are the values I currently use: => i2c md 50 0 10 0000: bf a2 04 01 ae 94 11 00 00 00 00 00 00 00 00 00 ................ => i2c md 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 'i2c probe', then use 'i2c md' 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 'i2c mm' 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. => i2c md 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