ROACHDDR2 - david-macmahon/wiki_convert_test GitHub Wiki

ROACH memory; DDR modules

The following ECC registered DIMMS are currently supported in both DDR slots:

  • Corsair CM72DD1024AR-667/S (Mo at Digicom has stock)
  • Kingston ValueRam KVR667D2D8P5/1G (No longer available)

Revision 1 and 2 ROACH boards were shipped with Samsung KR M378T6553CZ0-CCC modules. These are unregistered and will lead to crashes if pushed hard. These modules should be replaced with one of the recommended modules mentioned above. You will need the latest version of Uboot for the SPD to be decoded and the memory controller configured correctly. Just replacing the memory on old boards will not work - you will need to update your firmware.

The boards were also shipped to boot in configuration H which runs the EPB bus at 82 MHz and memory bus at 166. This should be changed to configuration C.

The CPU/memory/bus speeds are configured by bootstrap configuration options (which setup clock sources/PLLs). These can be pulled from an IIC memory (eg config H) when the processor comes out of reset or default to sensible factory defaults if certain pins are pulled high/low (eg config C). You can checkout the AMCC PPC datasheet for more details. U-boot doesn't configure these timings, merely decodes the register values and reports the selected configuration speeds. These are passed on to Linux (ie Uboot configuration does hang around after Linux boot) so it's important that these speeds are configured correctly if you want your RTC to work, for example.

ROACH boards ship with one of the IIC proms configured for 500MHz CPU, 166MHz DRAM, 83MHz bus (used when the PPC is booted in config H) which pushes it right to the limits. Think of this as an "overclock" mode. The recommended speeds are identical to the factory defaults in config C and so this is what we recommend everyone runs unless you need to squeeze extra performance in which case you can try config H (but YMMV).

More info here in the email archive.