blob: a3521bf290480c448194d59b78d3b2ce20443b1e [file] [log] [blame]
Hung-Te Lin82be22c2021-04-08 21:42:18 +08001// SPDX-License-Identifier: BSD-3-Clause
David Hendricks6638f872015-11-04 14:52:02 -08002/*
3 * Copyright 2015, Google Inc.
4 * All rights reserved.
David Hendricks6638f872015-11-04 14:52:02 -08005 */
6
Hung-Te Lin13f1def2021-04-07 21:18:20 +08007#include "lib/nonspd_modules.h"
David Hendricks6638f872015-11-04 14:52:02 -08008
David Hendricks0fa54152016-03-16 15:08:56 -07009const struct nonspd_mem_info elpida_lpddr3_edfa164a2ma_jd_f = {
Hung-Te Lin82be22c2021-04-08 21:42:18 +080010 .dram_type = SPD_DRAM_TYPE_LPDDR3,
11 .module_type.ddr3_type = DDR3_MODULE_TYPE_UNDEFINED,
David Hendricks6638f872015-11-04 14:52:02 -080012
Hung-Te Lin82be22c2021-04-08 21:42:18 +080013 .module_size_mbits = 8192,
14 .num_ranks = 2,
15 .device_width = 32,
David Hendricks6638f872015-11-04 14:52:02 -080016
Hung-Te Lin82be22c2021-04-08 21:42:18 +080017 .module_mfg_id = { .msb = 0x2c, .lsb = 0x80 },
18 .dram_mfg_id = { .msb = 0x2c, .lsb = 0x80 },
David Hendricks6638f872015-11-04 14:52:02 -080019
Hung-Te Lin82be22c2021-04-08 21:42:18 +080020 .part_num =
21 { 'E', 'D', 'F', 'A', '1', '6', '4', 'A', '2', 'M', 'A', '-',
22 'J', 'D', '-', 'F',},
David Hendricks6638f872015-11-04 14:52:02 -080023};
24
David Hendricks0fa54152016-03-16 15:08:56 -070025const struct nonspd_mem_info hynix_ddr3l_h5tc4g63afr_pba = {
Hung-Te Lin82be22c2021-04-08 21:42:18 +080026 .dram_type = SPD_DRAM_TYPE_DDR3,
27 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
David Hendricks6638f872015-11-04 14:52:02 -080028
Hung-Te Lin82be22c2021-04-08 21:42:18 +080029 .module_size_mbits = 4096,
30 .num_ranks = 1,
31 .device_width = 16,
David Hendricks6638f872015-11-04 14:52:02 -080032
Hung-Te Lin82be22c2021-04-08 21:42:18 +080033 .module_mfg_id = { .msb = 0xad, .lsb = 0x80 },
34 .dram_mfg_id = { .msb = 0xad, .lsb = 0x80 },
David Hendricks6638f872015-11-04 14:52:02 -080035
Hung-Te Lin82be22c2021-04-08 21:42:18 +080036 .part_num =
37 { 'H', '5', 'T', 'C', '4', 'G', '6', '3', 'A', 'F', 'R', '-',
38 'P', 'B', 'A'},
David Hendricks6638f872015-11-04 14:52:02 -080039};
40
David Hendricks0fa54152016-03-16 15:08:56 -070041const struct nonspd_mem_info hynix_ddr3l_h5tc4g63cfr_pba = {
Hung-Te Lin82be22c2021-04-08 21:42:18 +080042 .dram_type = SPD_DRAM_TYPE_DDR3,
43 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
David Hendricks6638f872015-11-04 14:52:02 -080044
Hung-Te Lin82be22c2021-04-08 21:42:18 +080045 .module_size_mbits = 4096,
46 .num_ranks = 1,
47 .device_width = 16,
David Hendricks6638f872015-11-04 14:52:02 -080048
Hung-Te Lin82be22c2021-04-08 21:42:18 +080049 .module_mfg_id = { .msb = 0xad, .lsb = 0x80 },
50 .dram_mfg_id = { .msb = 0xad, .lsb = 0x80 },
David Hendricks6638f872015-11-04 14:52:02 -080051
Hung-Te Lin82be22c2021-04-08 21:42:18 +080052 .part_num =
53 { 'H', '5', 'T', 'C', '4', 'G', '6', '3', 'C', 'F', 'R', '-',
54 'P', 'B', 'A'},
David Hendricks6638f872015-11-04 14:52:02 -080055};
56
Zheng Pan56c19e52018-10-23 17:01:11 -070057const struct nonspd_mem_info hynix_ddr3l_h5tc4g63efr_rda = {
Hung-Te Lin82be22c2021-04-08 21:42:18 +080058 .dram_type = SPD_DRAM_TYPE_DDR3,
59 .module_type.ddr3_type = DDR3_MODULE_TYPE_UNDEFINED,
Zheng Pan56c19e52018-10-23 17:01:11 -070060
Hung-Te Lin82be22c2021-04-08 21:42:18 +080061 .module_size_mbits = 4096,
62 .num_ranks = 1,
63 .device_width = 16,
Zheng Pan56c19e52018-10-23 17:01:11 -070064
Hung-Te Lin82be22c2021-04-08 21:42:18 +080065 .module_mfg_id = { .msb = 0xad, .lsb = 0x80 },
66 .dram_mfg_id = { .msb = 0xad, .lsb = 0x80 },
Zheng Pan56c19e52018-10-23 17:01:11 -070067
Hung-Te Lin82be22c2021-04-08 21:42:18 +080068 .part_num =
69 { 'H', '5', 'T', 'C', '4', 'G', '6', '3', 'E', 'F', 'R', '-',
70 'R', 'D', 'A'},
Zheng Pan56c19e52018-10-23 17:01:11 -070071};
72
David Hendricks0fa54152016-03-16 15:08:56 -070073const struct nonspd_mem_info hynix_lpddr3_h9ccnnn8gtmlar_nud = {
Hung-Te Lin82be22c2021-04-08 21:42:18 +080074 .dram_type = SPD_DRAM_TYPE_LPDDR3,
75 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
David Hendricks6638f872015-11-04 14:52:02 -080076
Hung-Te Lin82be22c2021-04-08 21:42:18 +080077 .module_size_mbits = 8192,
78 .num_ranks = 1,
79 .device_width = 32,
David Hendricks6638f872015-11-04 14:52:02 -080080
Hung-Te Lin82be22c2021-04-08 21:42:18 +080081 .module_mfg_id = { .msb = 0xad, .lsb = 0x80 },
82 .dram_mfg_id = { .msb = 0xad, .lsb = 0x80 },
David Hendricks6638f872015-11-04 14:52:02 -080083
Hung-Te Lin82be22c2021-04-08 21:42:18 +080084 .part_num =
85 { 'H', '9', 'C', 'C', 'N', 'N', 'N', '8', 'G', 'T', 'M', 'L',
86 'A', 'R', '-', 'N', 'U', 'D',},
David Hendricks6638f872015-11-04 14:52:02 -080087};
88
Milton Chiang5664fe32016-11-29 14:59:49 +080089const struct nonspd_mem_info hynix_lpddr3_h9ccnnnbjtalar_nud = {
Hung-Te Lin82be22c2021-04-08 21:42:18 +080090 .dram_type = SPD_DRAM_TYPE_LPDDR3,
91 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
Milton Chiang5664fe32016-11-29 14:59:49 +080092
Hung-Te Lin82be22c2021-04-08 21:42:18 +080093 .module_size_mbits = 16384,
94 .num_ranks = 2,
95 .device_width = 32,
Milton Chiang5664fe32016-11-29 14:59:49 +080096
Hung-Te Lin82be22c2021-04-08 21:42:18 +080097 .module_mfg_id = { .msb = 0xad, .lsb = 0x80 },
98 .dram_mfg_id = { .msb = 0xad, .lsb = 0x80 },
Milton Chiang5664fe32016-11-29 14:59:49 +080099
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800100 .part_num =
101 { 'H', '9', 'C', 'C', 'N', 'N', 'N', 'B', 'J', 'T', 'A', 'L',
102 'A', 'R', '-', 'N', 'U', 'D',},
Milton Chiang5664fe32016-11-29 14:59:49 +0800103};
104
David Hendricks0fa54152016-03-16 15:08:56 -0700105const struct nonspd_mem_info hynix_ddr3l_h5tc8g63amr_pba = {
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800106 .dram_type = SPD_DRAM_TYPE_DDR3,
107 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
David Hendricks6638f872015-11-04 14:52:02 -0800108 .module_size_mbits = 8192,
109 .num_ranks = 2,
110 .device_width = 16,
David Hendricks6638f872015-11-04 14:52:02 -0800111
112 .module_mfg_id = { .msb = 0xad, .lsb = 0x80 },
113 .dram_mfg_id = { .msb = 0xad, .lsb = 0x80 },
114
David Hendricks6638f872015-11-04 14:52:02 -0800115 .part_num =
116 { 'H', '5', 'T', 'C', '8', 'G', '6', '3', 'A', 'M', 'R', '-',
117 'P', 'B', 'A' },
118};
119
David Hendricks0fa54152016-03-16 15:08:56 -0700120const struct nonspd_mem_info hynix_lpddr3_h9ccnnnbptblbr_nud = {
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800121 .dram_type = SPD_DRAM_TYPE_LPDDR3,
122 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
Loop Wu2a7e0fc2016-01-20 14:39:46 +0800123
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800124 .module_size_mbits = 16384,
125 .num_ranks = 2,
126 .device_width = 32,
Loop Wu2a7e0fc2016-01-20 14:39:46 +0800127
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800128 .module_mfg_id = { .msb = 0xad, .lsb = 0x80 },
129 .dram_mfg_id = { .msb = 0xad, .lsb = 0x80 },
Loop Wu2a7e0fc2016-01-20 14:39:46 +0800130
131 .part_num =
132 { 'H', '9', 'C', 'C', 'N', 'N', 'N', 'B', 'P', 'T', 'B', 'L',
133 'B', 'R', '-', 'N', 'U', 'D',},
134};
135
Milton Chiang1bcd0e62016-04-12 16:38:25 +0800136const struct nonspd_mem_info hynix_lpddr3_h9ccnnnbltblar_nud = {
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800137 .dram_type = SPD_DRAM_TYPE_LPDDR3,
138 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
Milton Chiang1bcd0e62016-04-12 16:38:25 +0800139
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800140 .module_size_mbits = 16384,
141 .num_ranks = 2,
142 .device_width = 32,
Milton Chiang1bcd0e62016-04-12 16:38:25 +0800143
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800144 .module_mfg_id = { .msb = 0xad, .lsb = 0x80 },
145 .dram_mfg_id = { .msb = 0xad, .lsb = 0x80 },
Milton Chiang1bcd0e62016-04-12 16:38:25 +0800146
147 .part_num =
148 { 'H', '9', 'C', 'C', 'N', 'N', 'N', 'B', 'L', 'T', 'B', 'L',
149 'A', 'R', '-', 'N', 'U', 'D',},
150};
151
Loop_Wu9ec61642019-01-29 14:28:34 +0800152const struct nonspd_mem_info hynix_lpddr3_h9ccnnnbktmlbr_ntd = {
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800153 .dram_type = SPD_DRAM_TYPE_LPDDR3,
154 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
Loop_Wu9ec61642019-01-29 14:28:34 +0800155
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800156 .module_size_mbits = 16384,
157 .num_ranks = 2,
158 .device_width = 32,
Loop_Wu9ec61642019-01-29 14:28:34 +0800159
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800160 .module_mfg_id = { .msb = 0xad, .lsb = 0x80 },
161 .dram_mfg_id = { .msb = 0xad, .lsb = 0x80 },
Loop_Wu9ec61642019-01-29 14:28:34 +0800162
163 .part_num =
164 { 'H', '9', 'C', 'C', 'N', 'N', 'N', 'B', 'K', 'T', 'M', 'L',
165 'B', 'R', '-', 'N', 'T', 'D',},
166};
167
Hsin-Yi, Wangafcacfb2019-01-17 19:23:10 +0800168const struct nonspd_mem_info hynix_lpddr4x_h9hcnnncpmalhr_nee = {
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800169 .dram_type = SPD_DRAM_TYPE_LPDDR4X,
Hsin-Yi, Wangafcacfb2019-01-17 19:23:10 +0800170
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800171 .module_size_mbits = 32768,
172 .num_ranks = 2,
173 .device_width = 32,
Hsin-Yi, Wangafcacfb2019-01-17 19:23:10 +0800174
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800175 .module_mfg_id = { .msb = 0xad, .lsb = 0x80 },
176 .dram_mfg_id = { .msb = 0xad, .lsb = 0x80 },
Hsin-Yi, Wangafcacfb2019-01-17 19:23:10 +0800177
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800178 .part_num =
179 { 'H', '9', 'H', 'C', 'N', 'N', 'N', 'C', 'P', 'M', 'A', 'L',
180 'H', 'R', '-', 'N', 'E', 'E'},
Hsin-Yi, Wangafcacfb2019-01-17 19:23:10 +0800181};
182
Eason Lina80ba0a2020-07-15 16:58:24 +0800183const struct nonspd_mem_info hynix_lpddr4x_h9hcnnncpmmlxr_nee = {
184 .dram_type = SPD_DRAM_TYPE_LPDDR4X,
185
186 .module_size_mbits = 32768,
187 .num_ranks = 2,
188 .device_width = 32,
Eason Lina80ba0a2020-07-15 16:58:24 +0800189
190 .module_mfg_id = { .msb = 0xad, .lsb = 0x80 },
191 .dram_mfg_id = { .msb = 0xad, .lsb = 0x80 },
192
193 .part_num =
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800194 { 'H', '9', 'H', 'C', 'N', 'N', 'N', 'C', 'P', 'M', 'M', 'L',
195 'X', 'R', '-', 'N', 'E', 'E'},
Eason Lina80ba0a2020-07-15 16:58:24 +0800196};
197
Bob Moraguesd8e1a692021-01-10 05:28:36 +0000198const struct nonspd_mem_info hynix_lpddr4x_h9hcnnnfammlxr_nee = {
199 .dram_type = SPD_DRAM_TYPE_LPDDR4X,
200
201 .module_size_mbits = 65536,
202 .num_ranks = 2,
203 .device_width = 32,
Bob Moraguesd8e1a692021-01-10 05:28:36 +0000204
205 .module_mfg_id = { .msb = 0xad, .lsb = 0x80 },
206 .dram_mfg_id = { .msb = 0xad, .lsb = 0x80 },
207
208 .part_num =
209 { 'H', '9', 'H', 'C', 'N', 'N', 'N', 'F', 'A', 'M', 'M', 'L',
210 'X', 'R', '-', 'N', 'E', 'E' },
211};
212
David Hendricks6638f872015-11-04 14:52:02 -0800213const struct nonspd_mem_info micron_mt41k256m16ha = {
214 .dram_type = SPD_DRAM_TYPE_DDR3,
215 .module_type.ddr3_type = DDR3_MODULE_TYPE_UNDEFINED,
216
217 .module_size_mbits = 4096,
218 .num_ranks = 1,
219 .device_width = 16,
David Hendricks6638f872015-11-04 14:52:02 -0800220
221 .module_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
222 .dram_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
223
David Hendricks6638f872015-11-04 14:52:02 -0800224 .part_num = { 'M', 'T', '4', '1', 'K', '2', '5', '6', 'M',
225 '1', '6', 'H', 'A', '-', '1', '2', '5' },
226};
227
David Hendricks97303242015-11-11 14:41:40 -0800228const struct nonspd_mem_info nanya_ddr3l_nt5cc256m16dp_di = {
229 .dram_type = SPD_DRAM_TYPE_DDR3,
230 .module_type.ddr3_type = DDR3_MODULE_TYPE_UNDEFINED,
231
232 .module_size_mbits = 4096,
233 .num_ranks = 1,
234 .device_width = 16,
235 /* CL = 11, CWL = 8, min = 1.25ns, max <1.5ns */
David Hendricks97303242015-11-11 14:41:40 -0800236 .module_mfg_id = { .msb = 0x0b, .lsb = 0x03 },
237 .dram_mfg_id = { .msb = 0x0b, .lsb = 0x03 },
238
David Hendricks97303242015-11-11 14:41:40 -0800239 .part_num = { 'N', 'T', '5', 'C', 'C', '2', '5', '6',
240 'M', '1', '6', 'D', 'P', '-', 'D', 'I' },
241};
242
Zheng Pan56c19e52018-10-23 17:01:11 -0700243const struct nonspd_mem_info nanya_ddr3l_nt5cc256m16er_ek = {
244 .dram_type = SPD_DRAM_TYPE_DDR3,
245 .module_type.ddr3_type = DDR3_MODULE_TYPE_UNDEFINED,
246
247 .module_size_mbits = 4096,
248 .num_ranks = 1,
249 .device_width = 16,
Zheng Pan56c19e52018-10-23 17:01:11 -0700250 .module_mfg_id = { .msb = 0x0b, .lsb = 0x03 },
251 .dram_mfg_id = { .msb = 0x0b, .lsb = 0x03 },
252
Zheng Pan56c19e52018-10-23 17:01:11 -0700253 .part_num = { 'N', 'T', '5', 'C', 'C', '2', '5', '6',
254 'M', '1', '6', 'E', 'R', '-', 'E', 'K' },
255};
256
Huanhuan Liu22e02562020-10-14 14:57:39 +0800257const struct nonspd_mem_info nanya_lpddr3_nt6cl512t32am_h0 = {
258 .dram_type = SPD_DRAM_TYPE_LPDDR3,
259 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
260
261 .module_size_mbits = 16384,
262 .num_ranks = 2,
263 .device_width = 32,
Huanhuan Liu22e02562020-10-14 14:57:39 +0800264 .module_mfg_id = { .msb = 0x0b, .lsb = 0x03 },
265 .dram_mfg_id = { .msb = 0x0b, .lsb = 0x03 },
266
267 .part_num = { 'N', 'T', '6', 'C', 'L', '5', '1', '2',
268 'T', '3', '2', 'A', 'M', '-', 'H', '0' },
269};
270
David Hendricks6638f872015-11-04 14:52:02 -0800271const struct nonspd_mem_info samsung_k4b4g1646d = {
272 .dram_type = SPD_DRAM_TYPE_DDR3,
273 .module_type.ddr3_type = DDR3_MODULE_TYPE_UNDEFINED,
274
275 .module_size_mbits = 4096,
276 .num_ranks = 1,
277 .device_width = 16,
David Hendricks6638f872015-11-04 14:52:02 -0800278
279 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
280 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
281
David Hendricks6638f872015-11-04 14:52:02 -0800282 .part_num =
283 { 'K', '4', 'B', '4', 'G', '1', '6', '4', '6', 'D',
284 '-', 'B', 'Y', 'K', '0' },
285};
286
287const struct nonspd_mem_info samsung_k4b4g1646e = {
288 .dram_type = SPD_DRAM_TYPE_DDR3,
289 .module_type.ddr3_type = DDR3_MODULE_TYPE_UNDEFINED,
290
291 .module_size_mbits = 4096,
292 .num_ranks = 1,
293 .device_width = 16,
David Hendricks6638f872015-11-04 14:52:02 -0800294
295 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
296 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
297
David Hendricks6638f872015-11-04 14:52:02 -0800298 .part_num =
299 { 'K', '4', 'B', '4', 'G', '1', '6', '4', '6', 'E',
300 '-', 'B', 'Y', 'K', '0' },
301};
302
Zheng Pan56c19e52018-10-23 17:01:11 -0700303const struct nonspd_mem_info samsung_k4b4g1646e_byma = {
304 .dram_type = SPD_DRAM_TYPE_DDR3,
305 .module_type.ddr3_type = DDR3_MODULE_TYPE_UNDEFINED,
306
307 .module_size_mbits = 4096,
308 .num_ranks = 1,
309 .device_width = 16,
Zheng Pan56c19e52018-10-23 17:01:11 -0700310
311 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
312 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
313
Zheng Pan56c19e52018-10-23 17:01:11 -0700314 .part_num =
315 { 'K', '4', 'B', '4', 'G', '1', '6', '4', '6', 'E',
316 '-', 'B', 'Y', 'M', 'A' },
317};
318
David Hendricks0fa54152016-03-16 15:08:56 -0700319const struct nonspd_mem_info samsung_ddr3l_k4b4g1646d_byk0 = {
David Hendricks6638f872015-11-04 14:52:02 -0800320 .dram_type = SPD_DRAM_TYPE_DDR3,
321 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
322
323 .module_size_mbits = 4096,
324 .num_ranks = 1,
325 .device_width = 16,
David Hendricks6638f872015-11-04 14:52:02 -0800326
327 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
328 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
329
David Hendricks6638f872015-11-04 14:52:02 -0800330 .part_num =
331 { 'K', '4', 'B', '4', 'G', '1', '6', '4', '6', 'D', '-',
332 'B', 'Y', 'K', '0' },
333};
334
David Hendricks0fa54152016-03-16 15:08:56 -0700335const struct nonspd_mem_info samsung_ddr3l_k4b4g1646q_hyk0 = {
David Hendricks6638f872015-11-04 14:52:02 -0800336 .dram_type = SPD_DRAM_TYPE_DDR3,
337 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
338
339 .module_size_mbits = 4096,
340 .num_ranks = 1,
341 .device_width = 16,
David Hendricks6638f872015-11-04 14:52:02 -0800342
343 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
344 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
345
David Hendricks6638f872015-11-04 14:52:02 -0800346 .part_num =
347 { 'K', '4', 'B', '4', 'G', '1', '6', '4', '6', 'Q', '-',
348 'H', 'Y', 'K', '0' },
349};
350
David Hendricks0fa54152016-03-16 15:08:56 -0700351const struct nonspd_mem_info samsung_ddr3l_k4b8g1646q_myk0 = {
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800352 .dram_type = SPD_DRAM_TYPE_DDR3,
353 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
David Hendricks6638f872015-11-04 14:52:02 -0800354 .module_size_mbits = 8192,
355 .num_ranks = 2,
356 .device_width = 16,
David Hendricks6638f872015-11-04 14:52:02 -0800357
358 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
359 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
360
David Hendricks6638f872015-11-04 14:52:02 -0800361 .part_num =
362 { 'K', '4', 'B', '8', 'G', '1', '6', '4', '6', 'Q', '-',
363 'M', 'Y', 'K', '0' },
364};
365
David Hendricks0fa54152016-03-16 15:08:56 -0700366const struct nonspd_mem_info samsung_lpddr3_k3qf2f20em_agce = {
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800367 .dram_type = SPD_DRAM_TYPE_LPDDR3,
368 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
David Hendricks6638f872015-11-04 14:52:02 -0800369
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800370 .module_size_mbits = 8192,
371 .num_ranks = 2,
372 .device_width = 32,
David Hendricks6638f872015-11-04 14:52:02 -0800373
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800374 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
375 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
David Hendricks6638f872015-11-04 14:52:02 -0800376
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800377 .part_num =
378 { 'K', '3', 'Q', 'F', '2', 'F', '2', '0', 'E', 'M', '-',
379 'A', 'G', 'C', 'E' },
David Hendricks6638f872015-11-04 14:52:02 -0800380};
381
Vincent Palatin90af8e62016-05-20 12:12:49 -0700382const struct nonspd_mem_info samsung_lpddr3_k4e6e304eb_egce = {
383 .dram_type = SPD_DRAM_TYPE_LPDDR3,
384 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
385
386 .module_size_mbits = 16384,
387 .num_ranks = 2,
388 .device_width = 32,
Vincent Palatin90af8e62016-05-20 12:12:49 -0700389
390 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
391 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
392
393 .part_num =
394 { 'K', '4', 'E', '6', 'E', '3', '0', '4', 'E', 'B', '-',
395 'E', 'G', 'C', 'E' },
396};
397
David Hendricks0fa54152016-03-16 15:08:56 -0700398const struct nonspd_mem_info samsung_lpddr3_k4e6e304ee_egce = {
David Hendricks6638f872015-11-04 14:52:02 -0800399 .dram_type = SPD_DRAM_TYPE_LPDDR3,
400 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
401
402 .module_size_mbits = 16384,
403 .num_ranks = 2,
404 .device_width = 32,
David Hendricks6638f872015-11-04 14:52:02 -0800405
406 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
407 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
408
409 .part_num =
410 { 'K', '4', 'E', '6', 'E', '3', '0', '4', 'E', 'E', '-',
411 'E', 'G', 'C', 'E' },
412};
413
Milton Chiang1bcd0e62016-04-12 16:38:25 +0800414const struct nonspd_mem_info samsung_lpddr3_k4e6e304eb_egcf = {
415 .dram_type = SPD_DRAM_TYPE_LPDDR3,
416 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
417
418 .module_size_mbits = 16384,
419 .num_ranks = 2,
420 .device_width = 32,
Milton Chiang1bcd0e62016-04-12 16:38:25 +0800421
422 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
423 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
424
425 .part_num =
426 { 'K', '4', 'E', '6', 'E', '3', '0', '4', 'E', 'B', '-',
427 'E', 'G', 'C', 'F' },
428};
429
xuxinxiong6079e222021-02-21 16:10:07 +0800430const struct nonspd_mem_info samsung_lpddr3_k4e6e304ec_egcg = {
431 .dram_type = SPD_DRAM_TYPE_LPDDR3,
432 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
433
434 .module_size_mbits = 16384,
435 .num_ranks = 2,
436 .device_width = 32,
xuxinxiong6079e222021-02-21 16:10:07 +0800437
438 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
439 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
440
441 .part_num = { 'K', '4', 'E', '6', 'E', '3', '0', '4', 'E', 'C',
442 '-', 'E', 'G', 'C', 'G' },
443};
444
David Hendricks0fa54152016-03-16 15:08:56 -0700445const struct nonspd_mem_info samsung_lpddr3_k4e8e304ee_egce = {
David Hendricks6638f872015-11-04 14:52:02 -0800446 .dram_type = SPD_DRAM_TYPE_LPDDR3,
447 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
448
449 .module_size_mbits = 8192,
450 .num_ranks = 2,
451 .device_width = 32,
David Hendricks6638f872015-11-04 14:52:02 -0800452
453 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
454 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
455
456 .part_num =
457 { 'K', '4', 'E', '8', 'E', '3', '0', '4', 'E', 'E', '-',
458 'E', 'G', 'C', 'E' },
459};
Vincent Palatin90af8e62016-05-20 12:12:49 -0700460
461const struct nonspd_mem_info samsung_lpddr3_k4e8e324eb_egcf = {
462 .dram_type = SPD_DRAM_TYPE_LPDDR3,
463 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
464
465 .module_size_mbits = 8192,
466 .num_ranks = 2,
467 .device_width = 32,
Vincent Palatin90af8e62016-05-20 12:12:49 -0700468
469 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
470 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
471
472 .part_num =
473 { 'K', '4', 'E', '8', 'E', '3', '2', '4', 'E', 'B', '-',
474 'E', 'G', 'C', 'F' },
475};
Ravi Sarawadi7ef277d2016-08-16 17:04:00 -0700476
Huanhuan Liu22e02562020-10-14 14:57:39 +0800477const struct nonspd_mem_info samsung_lpddr3_k4e6e304ed_egcg = {
478 .dram_type = SPD_DRAM_TYPE_LPDDR3,
479 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
480
481 .module_size_mbits = 16384,
482 .num_ranks = 2,
483 .device_width = 32,
Huanhuan Liu22e02562020-10-14 14:57:39 +0800484
485 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
486 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
487
488 .part_num = { 'K', '4', 'E', '6', 'E', '3', '0', '4', 'E', 'D', '-',
489 'E', 'G', 'C', 'G' },
490};
491
Loop Wue0fa3212016-12-01 16:25:41 +0800492const struct nonspd_mem_info micron_lpddr3_mt52l256m32d1pf_107wtb = {
493 .dram_type = SPD_DRAM_TYPE_LPDDR3,
494 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
495
496 .module_size_mbits = 8192,
497 .num_ranks = 1,
498 .device_width = 32,
Loop Wue0fa3212016-12-01 16:25:41 +0800499
500 .module_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
501 .dram_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
502
503 .part_num =
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800504 { 'M', 'T', '5', '2', 'L', '2', '5', '6', 'M', '3', '2', 'D',
Loop Wue0fa3212016-12-01 16:25:41 +0800505 '1', 'P', 'F', '-', '1', '0', '7', 'W', 'T', ':', 'B' },
506};
507
Jack Rosenthal10611d32020-05-06 12:46:38 -0600508const struct nonspd_mem_info micron_lpddr3_mt52l256m32d1pf_10 = {
509 .dram_type = SPD_DRAM_TYPE_LPDDR3,
510 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
511
512 .module_size_mbits = 2048 * 8,
513 .num_ranks = 1,
514 .device_width = 64,
Jack Rosenthal10611d32020-05-06 12:46:38 -0600515
516 .module_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
517 .dram_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
518
519 .part_num = { 'M', 'T', '5', '2', 'L', '2', '5', '6', 'M', '3', '2',
520 'D', '1', 'P', 'F', '-', '1', '0' },
521};
522
jiazi Yang5e3d5942017-04-05 22:30:45 -0400523const struct nonspd_mem_info micron_lpddr3_mt52l256m64d2pp_107wtb = {
524 .dram_type = SPD_DRAM_TYPE_LPDDR3,
525 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
526
527 .module_size_mbits = 8192,
528 .num_ranks = 1,
529 .device_width = 32,
jiazi Yang5e3d5942017-04-05 22:30:45 -0400530
531 .module_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
532 .dram_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
533
534 .part_num =
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800535 { 'M', 'T', '5', '2', 'L', '2', '5', '6', 'M', '6', '4', 'D',
jiazi Yang5e3d5942017-04-05 22:30:45 -0400536 '2', 'P', 'P', '-', '1', '0', '7', 'W', 'T', ':', 'B' },
537};
538
Loop Wue0fa3212016-12-01 16:25:41 +0800539const struct nonspd_mem_info micron_lpddr3_mt52l512m32d2pf_107wtb = {
540 .dram_type = SPD_DRAM_TYPE_LPDDR3,
541 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
542
543 .module_size_mbits = 16384,
544 .num_ranks = 2,
545 .device_width = 32,
Loop Wue0fa3212016-12-01 16:25:41 +0800546
547 .module_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
548 .dram_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
549
550 .part_num =
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800551 { 'M', 'T', '5', '2', 'L', '5', '1', '2', 'M', '3', '2', 'D',
Loop Wue0fa3212016-12-01 16:25:41 +0800552 '2', 'P', 'F', '-', '1', '0', '7', 'W', 'T', ':', 'B' },
553};
554
Jack Rosenthal1ca003d2020-05-07 09:04:54 -0600555const struct nonspd_mem_info micron_lpddr3_mt52l512m32d2pf_10 = {
556 .dram_type = SPD_DRAM_TYPE_LPDDR3,
557 .module_type.ddr3_type = DDR3_MODULE_TYPE_SO_DIMM,
558
559 .module_size_mbits = 4096 * 8,
560 .num_ranks = 2,
561 .device_width = 64,
Jack Rosenthal1ca003d2020-05-07 09:04:54 -0600562
563 .module_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
564 .dram_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
565
566 .part_num = { 'M', 'T', '5', '2', 'L', '5', '1', '2', 'M', '3', '2',
567 'D', '2', 'P', 'F', '-', '1', '0' },
568};
569
Kaka Niae6ece42019-02-26 09:55:57 +0800570const struct nonspd_mem_info micron_lpddr4x_mt53e1g32d4nq_046wte = {
571 .dram_type = SPD_DRAM_TYPE_LPDDR4X,
572
573 .module_size_mbits = 32768,
574 .num_ranks = 2,
575 .device_width = 32,
Kaka Niae6ece42019-02-26 09:55:57 +0800576
577 .module_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
578 .dram_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
579
580 .part_num =
581 { 'M', 'T', '5', '3', 'E', '1', 'G', '3', '2', 'D', '4', 'N',
582 'Q', '-', '4', '6', 'W', 'T', ':', 'E'},
583};
584
Bob Moraguesfdcf0552020-04-23 14:50:16 -0700585const struct nonspd_mem_info micron_lpddr4x_mt53e1g32d2np_046wta = {
586 .dram_type = SPD_DRAM_TYPE_LPDDR4X,
587
588 .module_size_mbits = 32768,
589 .num_ranks = 1,
590 .device_width = 32,
Bob Moraguesfdcf0552020-04-23 14:50:16 -0700591
592 .module_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
593 .dram_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
594
595 .part_num =
596 { 'M', 'T', '5', '3', 'E', '1', 'G', '3', '2', 'D', '2', 'N',
597 'P', '-', '4', '6', 'W', 'T', ':', 'A'},
598};
599
600const struct nonspd_mem_info micron_lpddr4x_mt53e2g32d4nq_046wta = {
601 .dram_type = SPD_DRAM_TYPE_LPDDR4X,
602
Paul Huang2fe53be2020-11-17 14:02:55 +0800603 .module_size_mbits = 65536,
Bob Moraguesfdcf0552020-04-23 14:50:16 -0700604 .num_ranks = 2,
605 .device_width = 32,
Bob Moraguesfdcf0552020-04-23 14:50:16 -0700606
607 .module_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
608 .dram_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
609
610 .part_num =
611 { 'M', 'T', '5', '3', 'E', '2', 'G', '3', '2', 'D', '4', 'N',
612 'Q', '-', '4', '6', 'W', 'T', ':', 'A'},
613};
614
karen_wuc94b8d32020-07-16 14:54:14 +0800615const struct nonspd_mem_info micron_lpddr4x_mt53d1g32d4dt_046wtd = {
616 .dram_type = SPD_DRAM_TYPE_LPDDR4X,
617
618 .module_size_mbits = 32768,
619 .num_ranks = 2,
620 .device_width = 32,
karen_wuc94b8d32020-07-16 14:54:14 +0800621
622 .module_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
623 .dram_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
624
625 .part_num =
626 { 'M', 'T', '5', '3', 'D', '1', 'G', '3', '2', 'D', '4', 'D',
627 'T', '-', '4', '6', 'W', 'T', ':', 'D'},
628};
629
Hsin-Yi Wang4e357982019-06-04 16:54:59 +0800630const struct nonspd_mem_info micron_lpddr4x_mt29vzzzad8dqksl = {
631 .dram_type = SPD_DRAM_TYPE_LPDDR4X,
632
633 .module_size_mbits = 32768,
634 .num_ranks = 2,
635 .device_width = 32,
Hsin-Yi Wang4e357982019-06-04 16:54:59 +0800636
637 .module_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
638 .dram_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
639
640 .part_num =
641 { 'M', 'T', '2', '9', 'V', 'Z', 'Z', 'Z', 'A', 'D', '8', 'D',
642 'Q', 'K', 'S', 'L'},
643};
644
Hsin-Yi Wangd62a29d2020-07-20 18:05:16 +0800645const struct nonspd_mem_info micron_lpddr4x_mt29vzzzad8gqfsl_046 = {
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800646 .dram_type = SPD_DRAM_TYPE_LPDDR4X,
Hsin-Yi Wangd62a29d2020-07-20 18:05:16 +0800647
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800648 .module_size_mbits = 32768,
649 .num_ranks = 2,
650 .device_width = 32,
Hsin-Yi Wangd62a29d2020-07-20 18:05:16 +0800651
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800652 .module_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
653 .dram_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
Hsin-Yi Wangd62a29d2020-07-20 18:05:16 +0800654
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800655 .part_num =
Hsin-Yi Wangd62a29d2020-07-20 18:05:16 +0800656 { 'M', 'T', '2', '9', 'V', 'Z', 'Z', 'Z', 'A', 'D', '8', 'G',
657 'Q', 'F', 'S', 'L', '-', '0', '4', '6'},
658};
659
660const struct nonspd_mem_info micron_lpddr4x_mt29vzzzbd9dqkpr_046 = {
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800661 .dram_type = SPD_DRAM_TYPE_LPDDR4X,
Hsin-Yi Wangd62a29d2020-07-20 18:05:16 +0800662
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800663 .module_size_mbits = 32768,
664 .num_ranks = 2,
665 .device_width = 32,
Hsin-Yi Wangd62a29d2020-07-20 18:05:16 +0800666
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800667 .module_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
668 .dram_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
Hsin-Yi Wangd62a29d2020-07-20 18:05:16 +0800669
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800670 .part_num =
Hsin-Yi Wangd62a29d2020-07-20 18:05:16 +0800671 { 'M', 'T', '2', '9', 'V', 'Z', 'Z', 'Z', 'B', 'D', '9', 'D',
672 'Q', 'K', 'P', 'R', '-', '0', '4', '6'},
673};
674
Jessy Jiangb558da22021-03-23 10:13:47 +0800675const struct nonspd_mem_info micron_lpddr4x_mt29vzzzad9gqfsm_046 = {
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800676 .dram_type = SPD_DRAM_TYPE_LPDDR4X,
Jessy Jiangb558da22021-03-23 10:13:47 +0800677
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800678 .module_size_mbits = 32768,
679 .num_ranks = 2,
680 .device_width = 32,
Jessy Jiangb558da22021-03-23 10:13:47 +0800681
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800682 .module_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
683 .dram_mfg_id = { .msb = 0x2c, .lsb = 0x00 },
Jessy Jiangb558da22021-03-23 10:13:47 +0800684
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800685 .part_num =
Jessy Jiangb558da22021-03-23 10:13:47 +0800686 { 'M', 'T', '2', '9', 'V', 'Z', 'Z', 'Z', 'A', 'D', '9', 'G',
687 'Q', 'F', 'S', 'M', '-', '0', '4', '6'},
688};
689
Philip Chencccc7042018-09-25 20:31:37 -0700690const struct nonspd_mem_info samsung_lpddr4_k3uh5h50mm_agcj = {
691 .dram_type = SPD_DRAM_TYPE_LPDDR4,
692
693 .module_size_mbits = 32768,
694 .num_ranks = 2,
695 .device_width = 32,
Philip Chencccc7042018-09-25 20:31:37 -0700696
697 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
698 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
699
700 .part_num =
701 { 'K', '3', 'U', 'H', '5', 'H', '5', '0', 'M', 'M', '-',
702 'A', 'G', 'C', 'J' },
703};
704
Hsin-Yi Wang12ebb282019-07-05 12:31:10 +0800705const struct nonspd_mem_info samsung_lpddr4x_kmdh6001da_b422 = {
706 .dram_type = SPD_DRAM_TYPE_LPDDR4X,
707
708 .module_size_mbits = 32768,
709 .num_ranks = 2,
710 .device_width = 32,
Hsin-Yi Wang12ebb282019-07-05 12:31:10 +0800711
712 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
713 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
714
715 .part_num =
716 { 'K', 'M', 'D', 'H', '6', '0', '0', '1', 'D', 'A', '-',
717 'B', '4', '2', '2' },
718};
719
Hsin-Yi Wang4e357982019-06-04 16:54:59 +0800720const struct nonspd_mem_info samsung_lpddr4x_kmdp6001da_b425 = {
721 .dram_type = SPD_DRAM_TYPE_LPDDR4X,
722
723 .module_size_mbits = 32768,
724 .num_ranks = 2,
725 .device_width = 32,
Hsin-Yi Wang4e357982019-06-04 16:54:59 +0800726
727 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
728 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
729
730 .part_num =
731 { 'K', 'M', 'D', 'P', '6', '0', '0', '1', 'D', 'A', '-',
732 'B', '4', '2', '5' },
733};
734
Hsin-Yi Wang12ebb282019-07-05 12:31:10 +0800735const struct nonspd_mem_info samsung_lpddr4x_kmdv6001da_b620 = {
736 .dram_type = SPD_DRAM_TYPE_LPDDR4X,
737
738 .module_size_mbits = 32768,
739 .num_ranks = 2,
740 .device_width = 32,
Hsin-Yi Wang12ebb282019-07-05 12:31:10 +0800741
742 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
743 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
744
745 .part_num =
746 { 'K', 'M', 'D', 'V', '6', '0', '0', '1', 'D', 'A', '-',
747 'B', '6', '2', '0' },
748};
749
cherish8851df02019-09-01 14:35:55 +0800750const struct nonspd_mem_info samsung_lpddr4x_k4ube3d4aa_mgcl = {
751 .dram_type = SPD_DRAM_TYPE_LPDDR4X,
752
753 .module_size_mbits = 32768,
754 .num_ranks = 2,
755 .device_width = 32,
cherish8851df02019-09-01 14:35:55 +0800756
757 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
758 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
759
760 .part_num =
761 { 'K', '4', 'U', 'B', 'E', '3', 'D', '4', 'A', 'A', '-',
762 'M', 'G', 'C', 'L' },
763};
764
Chia-Hsiu Chang065a3c42020-08-27 19:08:13 +0800765const struct nonspd_mem_info samsung_lpddr4x_k4ube3d4aa_mgcr = {
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800766 .dram_type = SPD_DRAM_TYPE_LPDDR4X,
Chia-Hsiu Chang065a3c42020-08-27 19:08:13 +0800767
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800768 .module_size_mbits = 32768,
769 .num_ranks = 2,
770 .device_width = 32,
Chia-Hsiu Chang065a3c42020-08-27 19:08:13 +0800771
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800772 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
773 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
Chia-Hsiu Chang065a3c42020-08-27 19:08:13 +0800774
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800775 .part_num =
776 { 'K', '4', 'U', 'B', 'E', '3', 'D', '4', 'A', 'A', '-',
777 'M', 'G', 'C', 'R' },
Chia-Hsiu Chang065a3c42020-08-27 19:08:13 +0800778};
779
Ren Kuofcda40b2021-04-01 15:28:27 +0800780const struct nonspd_mem_info samsung_lpddr4x_k4uce3q4aa_mgcr = {
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800781 .dram_type = SPD_DRAM_TYPE_LPDDR4X,
Ren Kuofcda40b2021-04-01 15:28:27 +0800782
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800783 .module_size_mbits = 65536,
784 .num_ranks = 2,
785 .device_width = 32,
Ren Kuofcda40b2021-04-01 15:28:27 +0800786
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800787 .module_mfg_id = { .msb = 0xce, .lsb = 0x00 },
788 .dram_mfg_id = { .msb = 0xce, .lsb = 0x00 },
Ren Kuofcda40b2021-04-01 15:28:27 +0800789
Hung-Te Lin82be22c2021-04-08 21:42:18 +0800790 .part_num =
Ren Kuofcda40b2021-04-01 15:28:27 +0800791 { 'K', '4', 'U', 'C', 'E', '3', 'Q', '4', 'A', 'A', '-',
792 'M', 'G', 'C', 'R' },
793};
794
Kaka Ni9db5d8a2019-07-05 12:13:33 +0800795const struct nonspd_mem_info sandisk_lpddr4x_sdada4cr_128g = {
796 .dram_type = SPD_DRAM_TYPE_LPDDR4X,
797
798 .module_size_mbits = 32768,
799 .num_ranks = 2,
800 .device_width = 32,
Kaka Ni9db5d8a2019-07-05 12:13:33 +0800801
802 .module_mfg_id = { .msb = 0x45, .lsb = 0x00 },
803 .dram_mfg_id = { .msb = 0x45, .lsb = 0x00 },
804
805 .part_num =
806 { 'S', 'D', 'A', 'D', 'A', '4', 'C', 'R', '-', '1', '2',
807 '8', 'G' },
808};