4 #include <soc/meminit.h>
5 #include <soc/romstage.h>
25 0x0f, 0x0b, 0x0d, 0x0e, 0x09, 0x0c, 0x0a, 0x08,
26 0x06, 0x04, 0x05, 0x07, 0x03, 0x02, 0x01, 0x00,
27 0x1e, 0x19, 0x18, 0x1c, 0x1d, 0x1b, 0x1f, 0x1a,
28 0x14, 0x15, 0x17, 0x10, 0x16, 0x12, 0x11, 0x13
32 0x03, 0x05, 0x06, 0x07, 0x01, 0x04, 0x02, 0x00,
33 0x0c, 0x0d, 0x0e, 0x0b, 0x0a, 0x08, 0x09, 0x0f,
34 0x10, 0x16, 0x15, 0x13, 0x14, 0x17, 0x12, 0x11,
35 0x1f, 0x1e, 0x1b, 0x19, 0x18, 0x1d, 0x1c, 0x1a
39 0x08, 0x0d, 0x0b, 0x0e, 0x09, 0x0f, 0x0c, 0x0a,
40 0x04, 0x00, 0x02, 0x06, 0x05, 0x07, 0x03, 0x01,
41 0x1b, 0x1c, 0x1f, 0x1d, 0x1a, 0x18, 0x19, 0x1e,
42 0x17, 0x12, 0x15, 0x16, 0x13, 0x10, 0x14, 0x11
46 0x03, 0x07, 0x06, 0x05, 0x01, 0x04, 0x02, 0x00,
47 0x0c, 0x0f, 0x0d, 0x0e, 0x0a, 0x08, 0x09, 0x0b,
48 0x10, 0x11, 0x12, 0x13, 0x16, 0x14, 0x17, 0x15,
49 0x1c, 0x1e, 0x1d, 0x19, 0x1f, 0x18, 0x1b, 0x1a
59 config->DDR3LPageSize = 0x01,
61 config->ScramblerSupport = 0x01,
62 config->ChannelHashMask = 0x36,
63 config->SliceHashMask = 0x09,
64 config->InterleavedMode = 0x02,
65 config->ChannelsSlicesEnable = 0x00,
66 config->MinRefRate2xEnable = 0x00,
67 config->DualRankSupportEnable = 0x01,
69 config->MemorySizeLimit = 0x00,
70 config->LowMemoryMaxValue = 0x00,
71 config->DisableFastBoot = 0x00,
72 config->HighMemoryMaxValue = 0x00,
73 config->DIMM0SPDAddress = 0x00,
74 config->DIMM1SPDAddress = 0x00,
76 config->Ch0_RankEnable = 0x03,
77 config->Ch0_DeviceWidth = 0x01,
78 config->Ch0_DramDensity = 0x02,
80 config->Ch0_OdtConfig = 0x02,
81 config->Ch0_TristateClk1 = 0x00,
83 config->Ch0_OdtLevels = 0x00,
85 config->Ch1_RankEnable = 0x03,
86 config->Ch1_DeviceWidth = 0x01,
87 config->Ch1_DramDensity = 0x02,
89 config->Ch1_OdtConfig = 0x02,
90 config->Ch1_TristateClk1 = 0x00,
92 config->Ch1_OdtLevels = 0x00,
94 config->Ch2_RankEnable = 0x03,
95 config->Ch2_DeviceWidth = 0x01,
96 config->Ch2_DramDensity = 0x02,
98 config->Ch2_OdtConfig = 0x00,
99 config->Ch2_TristateClk1 = 0x00,
100 config->Ch2_Mode2N = 0x00,
101 config->Ch2_OdtLevels = 0x00,
103 config->Ch3_RankEnable = 0x03,
104 config->Ch3_DeviceWidth = 0x01,
105 config->Ch3_DramDensity = 0x02,
106 config->Ch3_Option = 0x03,
107 config->Ch3_OdtConfig = 0x00,
108 config->Ch3_TristateClk1 = 0x00,
109 config->Ch3_Mode2N = 0x00,
110 config->Ch3_OdtLevels = 0x00,
112 config->RmtCheckRun = 0x00,
113 config->RmtMarginCheckScaleHighThreshold = 0x00;
114 config->MsgLevelMask = 0x00;
void save_lpddr4_dimm_info(const struct lpddr4_cfg *lpcfg, size_t mem_sku)
void * memcpy(void *dest, const void *src, size_t n)
__weak void mainboard_save_dimm_info(struct romstage_params *params)
void mainboard_memory_init_params(FSPM_UPD *mupd)
static const struct lpddr4_cfg lp4cfg
static const struct lpddr4_sku skus[]
static const uint8_t ch1_bit_swizzling[]
static const uint8_t ch3_bit_swizzling[]
static const uint8_t ch0_bit_swizzling[]
static const uint8_t ch2_bit_swizzling[]
const struct lpddr4_sku * skus