D02/D03/D05: Support Spd mirror mode

Add Spd mirror mode related registers definition,
this is used by memoryinit binary code,base this definition
it could support spd mirror mode to have diffrent configuration
about MR register.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
diff --git a/Chips/Hisilicon/Include/Library/HwMemInitLib.h b/Chips/Hisilicon/Include/Library/HwMemInitLib.h
index c24930f..2663cad 100644
--- a/Chips/Hisilicon/Include/Library/HwMemInitLib.h
+++ b/Chips/Hisilicon/Include/Library/HwMemInitLib.h
@@ -161,6 +161,7 @@
     UINT16      DimmSize;

     UINT16      DimmSpeed;

     UINT32      RankSize;

+    UINT8       SpdMirror; //Denote the dram address mapping is standard mode or mirrored mode

     struct DDR_RANK  Rank[MAX_RANK_DIMM];

 }DDR_DIMM;

 

@@ -337,6 +338,7 @@
     UINT8           Config0;

     UINT8           marginTest;

     UINT8           Config1[5];

+    UINT8           ErrorBypass; //register of spd mirror mode

     UINT32          Config2;

 }MEMORY;

 

@@ -789,6 +791,8 @@
 #define SPD_FTB_TAA_DDR4      123   // Fine offset for TAA

 #define SPD_FTB_MAX_TCK_DDR4  124   // Fine offset for max TCK

 #define SPD_FTB_MIN_TCK_DDR4  125   // Fine offset for min TCK

+#define SPD_MIRROR_UNBUFFERED 131   // Unbuffered:Address Mapping from Edge Connector to DRAM

+#define SPD_MIRROR_REGISTERED 136   // Registered:Address Address Mapping from Register to DRAM

 

 #define SPD_MMID_LSB_DDR4     320   // Module Manufacturer ID Code, Least Significant Byte

 #define SPD_MMID_MSB_DDR4     321   // Module Manufacturer ID Code, Most Significant Byte