coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
memory.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <baseboard/variants.h>
4 #include <variant/sku.h>
5 
6 /* DQ byte map */
7 static const u8 dq_map[][12] = {
8  { 0x0F, 0xF0, 0x00, 0xF0, 0x0F, 0xF0,
9  0x0F, 0x00, 0xFF, 0x00, 0xFF, 0x00 },
10  { 0x33, 0xCC, 0x00, 0xCC, 0x33, 0xCC,
11  0x33, 0x00, 0xFF, 0x00, 0xFF, 0x00 }
12 };
13 
14 /* DQS CPU<>DRAM map */
15 static const u8 dqs_map[][8] = {
16  { 0, 1, 3, 2, 4, 5, 6, 7 },
17  { 1, 0, 4, 5, 2, 3, 6, 7 },
18 };
19 
20 /* Rcomp resistor */
21 static const u16 rcomp_resistor[] = { 200, 81, 162 };
22 
23 /* Rcomp target */
24 static const u16 rcomp_target[] = { 100, 40, 40, 23, 40 };
25 
27 {
28  p->type = MEMORY_LPDDR3;
29  p->dq_map = dq_map;
30  p->dq_map_size = sizeof(dq_map);
31  p->dqs_map = dqs_map;
32  p->dqs_map_size = sizeof(dqs_map);
36  p->rcomp_target_size = sizeof(rcomp_target);
37 
38  switch (variant_board_sku()) {
39  case SKU_0_NAUTILUS:
40  /* Bumping VCC_SA voltage offset 75mV to allow a
41  * tolerance to PLLGT on Nautilus-Wifi sku */
42  p->enable_sa_oc_support = 1;
43  p->sa_voltage_offset_val = 75;
44  break;
45  }
46 }
uint8_t __weak variant_board_sku(void)
Definition: mainboard.c:172
@ MEMORY_LPDDR3
Definition: variants.h:26
const struct mb_cfg *__weak variant_memory_params(void)
Definition: memory.c:67
static const u16 rcomp_target[]
Definition: memory.c:24
static const u8 dqs_map[][8]
Definition: memory.c:15
static const u16 rcomp_resistor[]
Definition: memory.c:21
static const u8 dq_map[][12]
Definition: memory.c:7
#define SKU_0_NAUTILUS
Definition: sku.h:7
uint16_t u16
Definition: stdint.h:48
uint8_t u8
Definition: stdint.h:45
size_t dq_map_size
Definition: variants.h:34
enum memory_type type
Definition: variants.h:32
const void * rcomp_target
Definition: variants.h:39
size_t dqs_map_size
Definition: variants.h:36
uint16_t sa_voltage_offset_val
Definition: variants.h:47
bool enable_sa_oc_support
Definition: variants.h:44
const void * rcomp_resistor
Definition: variants.h:37
size_t rcomp_resistor_size
Definition: variants.h:38
const void * dq_map
Definition: variants.h:33
size_t rcomp_target_size
Definition: variants.h:40
const void * dqs_map
Definition: variants.h:35