mb/google/kukui: Add ddr geometry to support 6GB, 8GB DDR bootup

Set correct DDR geometry for all existing memory modules.

BUG=none
BRANCH=kukui
TEST=Boots correctly on Kukui

Change-Id: I9b53ab2bf43e0dfb7448eb37a18faf686267eaed
Signed-off-by: Huayang Duan <huayang.duan@mediatek.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/42035
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
This commit is contained in:
Huayang Duan
2020-06-03 14:03:25 +08:00
committed by Hung-Te Lin
parent 0e6cb83abb
commit d4eb14aa3c
10 changed files with 20 additions and 10 deletions

View File

@@ -1,10 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <soc/emi.h>
#include <soc/dramc_param.h>
struct sdram_params params = {
.source = DRAMC_PARAM_SOURCE_SDRAM_CONFIG,
.frequency = 1600,
.ddr_geometry = DDR_TYPE_2CH_2RK_4GB_2_2,
.wr_level = {
[CHANNEL_A] = { {0x22, 0x1b}, {0x22, 0x19} },
[CHANNEL_B] = { {0x24, 0x20}, {0x25, 0x20} }

View File

@@ -1,9 +1,10 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <soc/emi.h>
#include <soc/dramc_param.h>
struct sdram_params params = {
.source = DRAMC_PARAM_SOURCE_SDRAM_CONFIG,
.ddr_geometry = DDR_TYPE_2CH_2RK_4GB_2_2,
.frequency = 1600,
.wr_level = {
[CHANNEL_A] = { {0x22, 0x1b}, {0x22, 0x19} },

View File

@@ -1,10 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <soc/emi.h>
#include <soc/dramc_param.h>
struct sdram_params params = {
.source = DRAMC_PARAM_SOURCE_SDRAM_CONFIG,
.frequency = 1600,
.ddr_geometry = DDR_TYPE_2CH_2RK_4GB_2_2,
.wr_level = {
[CHANNEL_A] = { {0x22, 0x1C}, {0x23, 0x1D} },
[CHANNEL_B] = { {0x26, 0x23}, {0x26, 0x23} }

View File

@@ -1,10 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <soc/emi.h>
#include <soc/dramc_param.h>
struct sdram_params params = {
.source = DRAMC_PARAM_SOURCE_SDRAM_CONFIG,
.frequency = 1600,
.ddr_geometry = DDR_TYPE_2CH_2RK_4GB_2_2,
.wr_level = {
[CHANNEL_A] = { {0x21, 0x21}, {0x20, 0x20} },
[CHANNEL_B] = { {0x1E, 0x1F}, {0x1D, 0x1E} }

View File

@@ -1,10 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <soc/emi.h>
#include <soc/dramc_param.h>
struct sdram_params params = {
.source = DRAMC_PARAM_SOURCE_SDRAM_CONFIG,
.frequency = 1600,
.ddr_geometry = DDR_TYPE_2CH_2RK_4GB_2_2,
.wr_level = {
[CHANNEL_A] = { {0x22, 0x21}, {0x20, 0x21} },
[CHANNEL_B] = { {0x23, 0x27}, {0x23, 0x27} }

View File

@@ -1,10 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <soc/emi.h>
#include <soc/dramc_param.h>
struct sdram_params params = {
.source = DRAMC_PARAM_SOURCE_SDRAM_CONFIG,
.frequency = 1600,
.ddr_geometry = DDR_TYPE_2CH_2RK_4GB_2_2,
.wr_level = {
[CHANNEL_A] = { {0x21, 0x24}, {0x22, 0x24} },
[CHANNEL_B] = { {0x24, 0x28}, {0x22, 0x27} }

View File

@@ -1,10 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <soc/emi.h>
#include <soc/dramc_param.h>
struct sdram_params params = {
.source = DRAMC_PARAM_SOURCE_SDRAM_CONFIG,
.frequency = 1600,
.ddr_geometry = DDR_TYPE_2CH_2RK_4GB_2_2,
.wr_level = {
[CHANNEL_A] = { {0x21, 0x21}, {0x20, 0x20} },
[CHANNEL_B] = { {0x21, 0x28}, {0x21, 0x29} }

View File

@@ -1,10 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <soc/emi.h>
#include <soc/dramc_param.h>
struct sdram_params params = {
.source = DRAMC_PARAM_SOURCE_SDRAM_CONFIG,
.frequency = 1600,
.ddr_geometry = DDR_TYPE_2CH_2RK_4GB_2_2,
.wr_level = {
[CHANNEL_A] = { {0x1F, 0x19}, {0x20, 0x1A} },
[CHANNEL_B] = { {0x22, 0x1E}, {0x22, 0x1E} }

View File

@@ -1,9 +1,10 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <soc/emi.h>
#include <soc/dramc_param.h>
struct sdram_params params = {
.source = DRAMC_PARAM_SOURCE_SDRAM_CONFIG,
.ddr_geometry = DDR_TYPE_2CH_2RK_8GB_4_4,
.frequency = 1600,
.wr_level = {
[CHANNEL_A] = { {0x1F, 0x19}, {0x20, 0x1A} },

View File

@@ -1,10 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <soc/emi.h>
#include <soc/dramc_param.h>
struct sdram_params params = {
.source = DRAMC_PARAM_SOURCE_SDRAM_CONFIG,
.frequency = 1600,
.ddr_geometry = DDR_TYPE_2CH_2RK_4GB_2_2,
.wr_level = {
[CHANNEL_A] = { {0x1F, 0x1C}, {0x1C, 0x1B} },
[CHANNEL_B] = { {0x27, 0x28}, {0x23, 0x28} }