summaryrefslogtreecommitdiff
path: root/src/mainboard/google/poppy/variants
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@chromium.org>2017-12-05 14:48:44 -0800
committerFurquan Shaikh <furquan@google.com>2017-12-07 07:53:20 +0000
commit48be29e3920aef1254eca97298c4155864e72fc8 (patch)
tree89beaefb1118f7f5ef1b6b6888fea1992171d46d /src/mainboard/google/poppy/variants
parent9bfd8141fb62408c288ce43c1c9ce6a4e6128aa1 (diff)
mb/google/poppy: Add support for DDR4 memory
This change updates memory SPD handling code in baseboard poppy to allow variants to define either LPDDR3 or DDR4 memory types. In addition to that, it also updates the function to print SPD info considering offsets that might be different across the two memory types. BUG=b:70188937 Change-Id: Iefad01719c62264fb0d7e987904e77647d6026c2 Signed-off-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: https://review.coreboot.org/22745 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/mainboard/google/poppy/variants')
-rw-r--r--src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h7
-rw-r--r--src/mainboard/google/poppy/variants/baseboard/memory.c1
-rw-r--r--src/mainboard/google/poppy/variants/nautilus/memory.c1
3 files changed, 9 insertions, 0 deletions
diff --git a/src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h
index 62389afaae..c88b99a7bd 100644
--- a/src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h
+++ b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/variants.h
@@ -29,7 +29,14 @@ const struct pad_config *variant_early_gpio_table(size_t *num);
const struct cros_gpio *variant_cros_gpios(size_t *num);
+enum memory_type {
+ MEMORY_LPDDR3,
+ MEMORY_DDR4,
+ MEMORY_COUNT,
+};
+
struct memory_params {
+ enum memory_type type;
const void *dq_map;
size_t dq_map_size;
const void *dqs_map;
diff --git a/src/mainboard/google/poppy/variants/baseboard/memory.c b/src/mainboard/google/poppy/variants/baseboard/memory.c
index d3f1286716..8134f1a36e 100644
--- a/src/mainboard/google/poppy/variants/baseboard/memory.c
+++ b/src/mainboard/google/poppy/variants/baseboard/memory.c
@@ -39,6 +39,7 @@ static const u16 rcomp_target[] = { 100, 40, 40, 23, 40 };
void __attribute__((weak)) variant_memory_params(struct memory_params *p)
{
+ p->type = MEMORY_LPDDR3;
p->dq_map = dq_map;
p->dq_map_size = sizeof(dq_map);
p->dqs_map = dqs_map;
diff --git a/src/mainboard/google/poppy/variants/nautilus/memory.c b/src/mainboard/google/poppy/variants/nautilus/memory.c
index 508c299532..dc845bcb7f 100644
--- a/src/mainboard/google/poppy/variants/nautilus/memory.c
+++ b/src/mainboard/google/poppy/variants/nautilus/memory.c
@@ -37,6 +37,7 @@ static const u16 rcomp_target[] = { 100, 40, 40, 23, 40 };
void variant_memory_params(struct memory_params *p)
{
+ p->type = MEMORY_LPDDR3;
p->dq_map = dq_map;
p->dq_map_size = sizeof(dq_map);
p->dqs_map = dqs_map;