Thanks.
But it works if the memory down on board and board not have chip SPD. However, 
if the board has a SPD, this code does not work.

From: Ranga Rao 
Sent: Thursday, May 02, 2019 12:54 PM
To: Alexey Borovikov ; [email protected] 
Subject: RE: [coreboot] FSP 1.0: How to configure soldered memory with spd

Hi Alexey,

 

For memory down configuration ensure below are enabled/filled in FSP

 

When a DIMM is having its SPD, the smbus reads the SPD and configures the DIMM 
channels

 

For Memory down below changes are expected

 

  1.. UpdData->MemoryDownEnable is enabled 
 

        2)

  MEMORY_DOWN_DATA            PcdMemoryParameters;           /* Offset 0x00F0 */

  UINT16                      PcdRegionTerminator;           /* Offset 0x0100 */

} UPD_DATA_REGION

 

You can check this function below

 

romstage_fsp_rt_buffer_callback(FSP_INIT_RT_BUFFER *FspRtBuffer)

{

                UPD_DATA_REGION *UpdData = FspRtBuffer->Common.UpdDataRgnPtr;

 

                /* Memory Down overriding */  

                UpdData->PcdMemoryParameters.EnableMemoryDown = 1;

                UpdData->PcdMemoryParameters.DRAMSpeed = 1;      /* DRAM Speed  
*/

                UpdData->PcdMemoryParameters.DRAMType = 1;       /* DRAM Type */

                UpdData->PcdMemoryParameters.DIMM0Enable = 1;    /* DIMM 0 
Enable */

                UpdData->PcdMemoryParameters.DIMM1Enable = 0;    /* DIMM 1 
Enable */

                UpdData->PcdMemoryParameters.DIMMDWidth = 1;     /* DRAM device 
data width */

#if           CONFIG_MINNOWMAX_2GB_SKU

                UpdData->PcdMemoryParameters.DIMMDensity = 2;    /* DRAM device 
data density 2GB */

#else

                UpdData->PcdMemoryParameters.DIMMDensity = 1;    /* DRAM device 
data density 1GB */

#endif

                UpdData->PcdMemoryParameters.DIMMDensity = 2;    /* DRAM device 
data density */

                UpdData->PcdMemoryParameters.DIMMBusWidth = 3;   /* DIMM Bus 
Width */

                UpdData->PcdMemoryParameters.DIMMSides = 0;      /* Ranks Per 
DIMM */

                UpdData->PcdMemoryParameters.DIMMtCL = 7;        /* tCL */

                UpdData->PcdMemoryParameters.DIMMtRPtRCD = 7;    /* tRP and 
tRCD in DRAM clk - 5:12.5ns, 6:15ns, etc. */

                UpdData->PcdMemoryParameters.DIMMtWR = 8;        /* tWR in DRAM 
clk  */

                UpdData->PcdMemoryParameters.DIMMtWTR = 4;       /* tWTR in 
DRAM clk */  

                UpdData->PcdMemoryParameters.DIMMtRRD = 6;       /* tRRD in 
DRAM clk */ 

                UpdData->PcdMemoryParameters.DIMMtRTP = 4;       /* tRTP in 
DRAM clk */

                UpdData->PcdMemoryParameters.DIMMtFAW = 14;      /* tFAW in 
DRAM clk */

 

Regards

Ranga

 

 

From: Alexey Borovikov <[email protected]> 
Sent: 02 May 2019 09:20
To: [email protected]
Subject: [coreboot] FSP 1.0: How to configure soldered memory with spd

 

There are two boards Intel Atom E3825 with soldered memory. One board with spd, 
the other without spd. For a board where there is no spd, after configure the 
correct memory settings in the fsp, I get a working memory controller. For a 
board with spd, the fsp configurator does not allow to select soldered memory 
with spd.

 

How to configure the board with soldered memory where spd?

Is there any difference when using a memory controller with soldered memory 
with spd and DIMM?

FSP 1.0 is working with a chip spd on a smbus?
_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to