diff options
Diffstat (limited to 'arch/powerpc/cpu/mpc8xxx/ddr/ddr2_dimm_params.c')
| -rw-r--r-- | arch/powerpc/cpu/mpc8xxx/ddr/ddr2_dimm_params.c | 23 | 
1 files changed, 13 insertions, 10 deletions
| diff --git a/arch/powerpc/cpu/mpc8xxx/ddr/ddr2_dimm_params.c b/arch/powerpc/cpu/mpc8xxx/ddr/ddr2_dimm_params.c index dcb37cea1..b565e338a 100644 --- a/arch/powerpc/cpu/mpc8xxx/ddr/ddr2_dimm_params.c +++ b/arch/powerpc/cpu/mpc8xxx/ddr/ddr2_dimm_params.c @@ -250,24 +250,27 @@ ddr_compute_dimm_parameters(const ddr2_spd_eeprom_t *spd,  	pdimm->primary_sdram_width = spd->primw;  	pdimm->ec_sdram_width = spd->ecw; -	/* FIXME: what about registered SO-DIMM? */ +	/* These are all the types defined by the JEDEC DDR2 SPD 1.3 spec */  	switch (spd->dimm_type) { -	case 0x01:	/* RDIMM */ -	case 0x10:	/* Mini-RDIMM */ -		pdimm->registered_dimm = 1; /* register buffered */ +	case DDR2_SPD_DIMMTYPE_RDIMM: +	case DDR2_SPD_DIMMTYPE_72B_SO_RDIMM: +	case DDR2_SPD_DIMMTYPE_MINI_RDIMM: +		/* Registered/buffered DIMMs */ +		pdimm->registered_dimm = 1;  		break; -	case 0x02:	/* UDIMM */ -	case 0x04:	/* SO-DIMM */ -	case 0x08:	/* Micro-DIMM */ -	case 0x20:	/* Mini-UDIMM */ -		pdimm->registered_dimm = 0;	/* unbuffered */ +	case DDR2_SPD_DIMMTYPE_UDIMM: +	case DDR2_SPD_DIMMTYPE_SO_DIMM: +	case DDR2_SPD_DIMMTYPE_MICRO_DIMM: +	case DDR2_SPD_DIMMTYPE_MINI_UDIMM: +		/* Unbuffered DIMMs */ +		pdimm->registered_dimm = 0;  		break; +	case DDR2_SPD_DIMMTYPE_72B_SO_CDIMM:  	default:  		printf("unknown dimm_type 0x%02X\n", spd->dimm_type);  		return 1; -		break;  	}  	/* SDRAM device parameters */ |