On 02.04.2013 23:48, txcotrader wrote: > Hello, > > I'm looking for some direction. I'm trying to update my version of u-boot > for a custom board based off of the PPC460SX. I'm struggling to understand > why I cannot get past reading the I2C on the DIMM. I'm receiving this error: > > CPU: AMCC PowerPC 460SX Rev. A at 231.291 MHz (PLB=33 OPB=16 EBC=4) > Security support > Bootstrap Option A - Boot ROM Location EBC (8 bits) > Internal PCI arbiter enabled > 32 kB I-Cache 32 kB D-Cache > Board: x Processor Board - AMCC 460SX > > *** DEBUG: NDFC register configurations *** > SDR0_EBC = 0x30011ffe > SDR0_NFC0 = 0x411b0683 > SDR0_PFC1 = 0x41120000 > EBC0_B0CR = 0xff08a000 > EBC0_B0AP = 0x10055e00 > EBC0_B1CR = 0xd1018000 > EBC0_B1AP = 0x018003c0 > EBC0_B2CR = 0xd0018000 > EBC0_B2AP = 0x03804240 > EBC0_B3CR = 0x00000000 > EBC0_B3AP = 0x00000000 > > SDR0_SDSTP0 = 0xb40b3149 > SDR0_SDSTP1 = 0xe8000210 > SDR0_SDSTP2 = 0x00002030 > SDR0_SDSTP3 = 0xc3001380 > > CPR0_PLL0C = 0x40000340 > CPR0_PLL1C = 0x40000340 > CPR0_PLL0D = 0xb3010600 > CPR0_PLL1D = 0x00010600 > CPR0_PLBD = 0x04000000 > CPR0_OPBD = 0x02000000 > CPR0_PERD = 0x01000000 > CPR0_ICFG = 0x00000000 > CPR0_DDRD = 0x02000000 > > L2: 512KB > EBC_BXAP_FPGA: 03804240 > EBC_BXCR_FPGA_CS2: d0018000 > I2C: ready > DRAM: > spd_read(0x50) returned 0 > spd_read(0x50) returned 0 > DIMM slot 0: Not populated > ERROR - No memory installed. Install a DDR-SDRAM DIMM.
Okay, here you seem to have configured 0x50 as I2C address for the SPD EEPROM. > I2C configs: > > #define CONFIG_I2C_MULTI_BUS 1 > #define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed > > */ > > /*#define CONFIG_SYS_I2C_MULTI_EEPROMS*/ > #define CONFIG_SYS_I2C_EEPROM_ADDR (0xa8>>1) > #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 > #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 5 > #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 > > /* I2C bootstrap EEPROM */ > #define IIC0_BOOTPROM_ADDR 0x54 > #define IIC0_PLX_FPGA_ADDR 0x69 > #define IIC0_PLX_PPC_ADDR 0x6A > > /* I2C bootstrap EEPROM */ > #define CONFIG_4xx_CONFIG_I2C_EEPROM_ADDR 0x52 > #define CONFIG_4xx_CONFIG_I2C_EEPROM_OFFSET 0 > #define CONFIG_4xx_CONFIG_BLOCKSIZE 16 > > /* RTC configuration */ > #define CONFIG_RTC_DS1337 1 > #define CONFIG_SYS_I2C_RTC_ADDR 0x68 > > > I found myself digging pretty deep into i2c_transfer.c but I think there is > a configuration error. Any advice would be greatly appreciated. The SPD I2C EEPROM address is missing in your configs here. I assume you have something like this in your header: #define CONFIG_SPD_EEPROM*/ #define SPD_EEPROM_ADDRESS { 0x50 } Now change this 0x50 to the correct address. Most of the time something between 0x50 and 0x54. Hope this helps, Stefan _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot