Get Byte65/66 for register manufacture ID code. RegMan1Present will
authorZheng Bao <zheng.bao@amd.com>
Tue, 31 Aug 2010 06:10:54 +0000 (06:10 +0000)
committerZheng Bao <Zheng.Bao@amd.com>
Tue, 31 Aug 2010 06:10:54 +0000 (06:10 +0000)
be used in write levelization training.

Signed-off-by: Zheng Bao <zheng.bao@amd.com>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5758 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

src/northbridge/amd/amdmct/mct_ddr3/mct_d.c

index 61539da295c36f0cef4134a44cb7fa7d8896247a..0e187621b41d4188c9df16285b47976b80261df6 100644 (file)
@@ -2124,7 +2124,15 @@ static u8 DIMMPresence_D(struct MCTStatStruc *pMCTstat,
                                                pDCTstat->MirrPresU_NumRegR |= 1 << i;
                                }
                                /* Get byte62: Reference Raw Card information. We dont need it now. */
-                               /* byte = mctRead_SPD(smbaddr, 62); */
+                               /* byte = mctRead_SPD(smbaddr, SPD_RefRawCard); */
+                               /* Get Byte65/66 for register manufacture ID code */
+                               if ((0x97 == mctRead_SPD(smbaddr, SPD_RegManufactureID_H)) &&
+                                   (0x80 == mctRead_SPD(smbaddr, SPD_RegManufactureID_L))) {
+                                       if (0x16 == mctRead_SPD(smbaddr, SPD_RegManRevID))
+                                               pDCTstat->RegMan2Present |= 1 << i;
+                                       else
+                                               pDCTstat->RegMan1Present |= 1 << i;
+                               }
                                /* Get Control word values for RC3. We dont need it. */
                                byte = mctRead_SPD(smbaddr, 70);
                                pDCTstat->CtrlWrd3 |= (byte >> 4) << (i << 2); /* C3 = SPD byte 70 [7:4] */