1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #include <console/console.h>
6 #include "sdram_configs.h"
8 static struct sdram_params sdram_configs
[] = {
9 #include "bct/sdram-hynix-2GB-792.inc" /* ram_code = 0000 */
10 #include "bct/sdram-micron-2GB-792.inc" /* ram_code = 0001 */
11 #include "bct/sdram-samsung-2GB-792.inc" /* ram_code = 0010 */
12 #include "bct/sdram-hynix-2GB-204.inc" /* ram_code = 0011 */
13 #include "bct/sdram-micron-2GB-792.inc" /* ram_code = 0100 */
14 #include "bct/sdram-hynix-C-2GB-792.inc" /* ram_code = 0101 */
15 #include "bct/sdram-unused.inc" /* ram_code = 0110 */
16 #include "bct/sdram-unused.inc" /* ram_code = 0111 */
17 #include "bct/sdram-hynix-4GB-792.inc" /* ram_code = 1000 */
18 #include "bct/sdram-micron-4GB-792.inc" /* ram_code = 1001 */
19 #include "bct/sdram-samsung-4GB-792.inc" /* ram_code = 1010 */
20 #include "bct/sdram-hynix-2GB-204.inc" /* ram_code = 1011 */
21 #include "bct/sdram-unused.inc" /* ram_code = 1100 */
22 #include "bct/sdram-unused.inc" /* ram_code = 1101 */
23 #include "bct/sdram-unused.inc" /* ram_code = 1110 */
24 #include "bct/sdram-unused.inc" /* ram_code = 1111 */
27 const struct sdram_params
*get_sdram_config(void)
29 uint32_t ramcode
= sdram_get_ram_code();
31 * If we need to apply some special hacks to RAMCODE mapping (ex, by
32 * board_id), do that now.
35 printk(BIOS_SPEW
, "%s: RAMCODE=%d\n", __func__
, ramcode
);
36 if (ramcode
>= ARRAY_SIZE(sdram_configs
) ||
37 sdram_configs
[ramcode
].MemoryType
== NvBootMemoryType_Unused
) {
38 die("Invalid RAMCODE.");
41 return &sdram_configs
[ramcode
];