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>
This commit is contained in:
Huayang Duan 2020-06-18 14:53:16 +08:00 committed by Patrick Georgi
parent d9196d0696
commit 5a082825aa
3 changed files with 28 additions and 0 deletions

View File

@ -14,6 +14,7 @@ static const char *const sdram_configs[] = {
[6] = "sdram-lpddr4x-KMDV6001DA-B620-4GB", [6] = "sdram-lpddr4x-KMDV6001DA-B620-4GB",
[7] = "sdram-lpddr4x-SDADA4CR-128G-4GB", [7] = "sdram-lpddr4x-SDADA4CR-128G-4GB",
[8] = "sdram-lpddr4x-K4UBE3D4AA-MGCL-4GB", [8] = "sdram-lpddr4x-K4UBE3D4AA-MGCL-4GB",
[10] = "sdram-lpddr4x-H9HCNNNCPMMLXR-NEE-4GB",
}; };
static struct sdram_params params; static struct sdram_params params;

View File

@ -7,6 +7,7 @@ sdram-params += sdram-lpddr4x-KMDP6001DA-B425-4GB
sdram-params += sdram-lpddr4x-MT29VZZZAD8DQKSL-4GB sdram-params += sdram-lpddr4x-MT29VZZZAD8DQKSL-4GB
sdram-params += sdram-lpddr4x-KMDV6001DA-B620-4GB sdram-params += sdram-lpddr4x-KMDV6001DA-B620-4GB
sdram-params += sdram-lpddr4x-SDADA4CR-128G-4GB sdram-params += sdram-lpddr4x-SDADA4CR-128G-4GB
sdram-params += sdram-lpddr4x-H9HCNNNCPMMLXR-NEE-4GB
$(foreach params,$(sdram-params), \ $(foreach params,$(sdram-params), \
$(eval cbfs-files-y += $(params)) \ $(eval cbfs-files-y += $(params)) \

View File

@ -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,
};