summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHuayang Duan <huayang.duan@mediatek.com>2020-06-18 14:53:16 +0800
committerPatrick Georgi <pgeorgi@google.com>2020-06-22 12:02:15 +0000
commit5a082825aa51b706adf553b38c225aa780ae8686 (patch)
treec5897ecc2ef90f116fca7764e5ed949d2a39c0df
parentd9196d0696d3918f98870d0ba419f9d50e71c902 (diff)
downloadcoreboot-5a082825aa51b706adf553b38c225aa780ae8686.tar.xz
mb/google/kukui: Add Hynix 4GB discrete LPDDR4X DDR support
Support 4GB H9HCNNNCPMMLXR-NEE discrete DDR bootup. BUG=b:156691665 BRANCH=none TEST=Boots correctly and stress test passes on Kukui. test cmd: memtester 1000M Change-Id: I0b29cc1cf0d51eb9d6af112858563193ffa88652 Signed-off-by: Huayang Duan <huayang.duan@mediatek.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/42502 Reviewed-by: Hung-Te Lin <hungte@chromium.org> Reviewed-by: Yu-Ping Wu <yupingso@google.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/mainboard/google/kukui/sdram_configs.c1
-rw-r--r--src/mainboard/google/kukui/sdram_params/Makefile.inc1
-rw-r--r--src/mainboard/google/kukui/sdram_params/sdram-lpddr4x-H9HCNNNCPMMLXR-NEE-4GB.c26
3 files changed, 28 insertions, 0 deletions
diff --git a/src/mainboard/google/kukui/sdram_configs.c b/src/mainboard/google/kukui/sdram_configs.c
index 77aaca705d..c1e75ef6f6 100644
--- a/src/mainboard/google/kukui/sdram_configs.c
+++ b/src/mainboard/google/kukui/sdram_configs.c
@@ -14,6 +14,7 @@ static const char *const sdram_configs[] = {
[6] = "sdram-lpddr4x-KMDV6001DA-B620-4GB",
[7] = "sdram-lpddr4x-SDADA4CR-128G-4GB",
[8] = "sdram-lpddr4x-K4UBE3D4AA-MGCL-4GB",
+ [10] = "sdram-lpddr4x-H9HCNNNCPMMLXR-NEE-4GB",
};
static struct sdram_params params;
diff --git a/src/mainboard/google/kukui/sdram_params/Makefile.inc b/src/mainboard/google/kukui/sdram_params/Makefile.inc
index 4d91998e52..af13aa1d79 100644
--- a/src/mainboard/google/kukui/sdram_params/Makefile.inc
+++ b/src/mainboard/google/kukui/sdram_params/Makefile.inc
@@ -7,6 +7,7 @@ sdram-params += sdram-lpddr4x-KMDP6001DA-B425-4GB
sdram-params += sdram-lpddr4x-MT29VZZZAD8DQKSL-4GB
sdram-params += sdram-lpddr4x-KMDV6001DA-B620-4GB
sdram-params += sdram-lpddr4x-SDADA4CR-128G-4GB
+sdram-params += sdram-lpddr4x-H9HCNNNCPMMLXR-NEE-4GB
$(foreach params,$(sdram-params), \
$(eval cbfs-files-y += $(params)) \
diff --git a/src/mainboard/google/kukui/sdram_params/sdram-lpddr4x-H9HCNNNCPMMLXR-NEE-4GB.c b/src/mainboard/google/kukui/sdram_params/sdram-lpddr4x-H9HCNNNCPMMLXR-NEE-4GB.c
new file mode 100644
index 0000000000..cf5c4d2b16
--- /dev/null
+++ b/src/mainboard/google/kukui/sdram_params/sdram-lpddr4x-H9HCNNNCPMMLXR-NEE-4GB.c
@@ -0,0 +1,26 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <soc/emi.h>
+
+struct sdram_params params = {
+ .source = DRAMC_PARAM_SOURCE_SDRAM_CONFIG,
+ .frequency = 1600,
+ .wr_level = {
+ [CHANNEL_A] = { {0x22, 0x1b}, {0x22, 0x19} },
+ [CHANNEL_B] = { {0x24, 0x20}, {0x25, 0x20} }
+ },
+ .cbt_cs_dly = {
+ [CHANNEL_A] = {0x0, 0x0},
+ [CHANNEL_B] = {0x0, 0x0}
+ },
+ .cbt_final_vref = {
+ [CHANNEL_A] = {0x52, 0x52},
+ [CHANNEL_B] = {0x52, 0x52}
+ },
+ .emi_cona_val = 0xF053F154,
+ .emi_conh_val = 0x44440003,
+ .emi_conf_val = 0x00421000,
+ .chn_emi_cona_val = {0x0444F051, 0x0444F051},
+ .cbt_mode_extern = CBT_NORMAL_MODE,
+ .delay_cell_unit = 868,
+};