rockchip: gru: update the hynix lpddr3 config to run at 928MHz
Update the DDR config and DRAM driver to allow running at up to
928MHz. Kevin config/clock rate are not being changed, but Gru now
runs at 928 MHz.
BRANCH=none
BUG=chrome-os-partner:51537
TEST=booted Kevin and Gru to Linux prompt. Ran stressapptest for 10 min on Gru,
Change-Id: I66c1a171d5c7d05b2878c7bc5eaa0d436c7a1be2
Signed-off-by: Martin Roth <martinroth@chromium.org>
Original-Commit-Id: 8baf0d82816a7ea1c4428e15caeefa2795d001f9
Original-Change-Id: I5e1d6d1025f10203da8f11afc3bbdf95f133c586
Original-Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
Original-Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/343984
Original-Reviewed-by: Stephen Barber <smbarber@chromium.org>
Reviewed-on: https://review.coreboot.org/15027
Tested-by: build bot (Jenkins)
Reviewed-by: Furquan Shaikh <furquan@google.com>
diff --git a/src/mainboard/google/gru/sdram_configs.c b/src/mainboard/google/gru/sdram_configs.c
index 787b36f..8674590 100644
--- a/src/mainboard/google/gru/sdram_configs.c
+++ b/src/mainboard/google/gru/sdram_configs.c
@@ -22,7 +22,13 @@
#include <types.h>
static struct rk3399_sdram_params sdram_configs[] = {
-#include "sdram_inf/sdram-lpddr3-hynix-4GB.inc"
+#if IS_ENABLED(CONFIG_BOARD_GOOGLE_GRU)
+#include "sdram_inf/gru-sdram-lpddr3-hynix-4GB.inc"
+#elif IS_ENABLED(CONFIG_BOARD_GOOGLE_KEVIN)
+#include "sdram_inf/kevin-sdram-lpddr3-hynix-4GB.inc"
+#else
+#error "What is your board name?"
+#endif
};
const struct rk3399_sdram_params *get_sdram_config()
diff --git a/src/mainboard/google/gru/sdram_inf/sdram-lpddr3-hynix-4GB.inc b/src/mainboard/google/gru/sdram_inf/gru-sdram-lpddr3-hynix-4GB.inc
similarity index 85%
copy from src/mainboard/google/gru/sdram_inf/sdram-lpddr3-hynix-4GB.inc
copy to src/mainboard/google/gru/sdram_inf/gru-sdram-lpddr3-hynix-4GB.inc
index 12deb9f..41643f3 100644
--- a/src/mainboard/google/gru/sdram_inf/sdram-lpddr3-hynix-4GB.inc
+++ b/src/mainboard/google/gru/sdram_inf/gru-sdram-lpddr3-hynix-4GB.inc
@@ -1,3 +1,16 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
{
{
{
@@ -39,7 +52,7 @@
}
}
},
- .ddr_freq = 666*MHz,
+ .ddr_freq = 928*MHz,
.dramtype = LPDDR3,
.num_channels = 2,
.stride = 13,
@@ -51,64 +64,64 @@
0x00000000, /* DENALI_CTL_02_DATA */
0x00000000, /* DENALI_CTL_03_DATA */
0x00000000, /* DENALI_CTL_04_DATA */
- 0x00000043, /* DENALI_CTL_05_DATA */
- 0x000208d6, /* DENALI_CTL_06_DATA */
- 0x0000029b, /* DENALI_CTL_07_DATA */
- 0x00001a0b, /* DENALI_CTL_08_DATA */
- 0x00000028, /* DENALI_CTL_09_DATA */
- 0x00013880, /* DENALI_CTL_10_DATA */
- 0x00000190, /* DENALI_CTL_11_DATA */
- 0x00000fa0, /* DENALI_CTL_12_DATA */
- 0x00000043, /* DENALI_CTL_13_DATA */
- 0x000208d6, /* DENALI_CTL_14_DATA */
- 0x0000029b, /* DENALI_CTL_15_DATA */
- 0x01001a0b, /* DENALI_CTL_16_DATA */
+ 0x0000005e, /* DENALI_CTL_05_DATA */
+ 0x0002d976, /* DENALI_CTL_06_DATA */
+ 0x000003a6, /* DENALI_CTL_07_DATA */
+ 0x0000247a, /* DENALI_CTL_08_DATA */
+ 0x0000005e, /* DENALI_CTL_09_DATA */
+ 0x0002d976, /* DENALI_CTL_10_DATA */
+ 0x000003a6, /* DENALI_CTL_11_DATA */
+ 0x0000247a, /* DENALI_CTL_12_DATA */
+ 0x0000005e, /* DENALI_CTL_13_DATA */
+ 0x0002d976, /* DENALI_CTL_14_DATA */
+ 0x000003a6, /* DENALI_CTL_15_DATA */
+ 0x0100247a, /* DENALI_CTL_16_DATA */
0x00000000, /* DENALI_CTL_17_DATA */
0x00000101, /* DENALI_CTL_18_DATA */
0x00020100, /* DENALI_CTL_19_DATA */
- 0x00000086, /* DENALI_CTL_20_DATA */
- 0x0000014e, /* DENALI_CTL_21_DATA */
+ 0x000000bb, /* DENALI_CTL_20_DATA */
+ 0x000001d3, /* DENALI_CTL_21_DATA */
0x00000000, /* DENALI_CTL_22_DATA */
- 0x06140000, /* DENALI_CTL_23_DATA */
- 0x00061400, /* DENALI_CTL_24_DATA */
- 0x04000614, /* DENALI_CTL_25_DATA */
- 0x2a070004, /* DENALI_CTL_26_DATA */
- 0x220c051c, /* DENALI_CTL_27_DATA */
- 0x111a0400, /* DENALI_CTL_28_DATA */
- 0x00140804, /* DENALI_CTL_29_DATA */
- 0x051c2a07, /* DENALI_CTL_30_DATA */
- 0x0500220c, /* DENALI_CTL_31_DATA */
+ 0x081c0000, /* DENALI_CTL_23_DATA */
+ 0x00081c00, /* DENALI_CTL_24_DATA */
+ 0x0400081c, /* DENALI_CTL_25_DATA */
+ 0x3b0a0004, /* DENALI_CTL_26_DATA */
+ 0x2f110828, /* DENALI_CTL_27_DATA */
+ 0x283b0a00, /* DENALI_CTL_28_DATA */
+ 0x002f1108, /* DENALI_CTL_29_DATA */
+ 0x08283b0a, /* DENALI_CTL_30_DATA */
+ 0x08002f11, /* DENALI_CTL_31_DATA */
0x00000a0a, /* DENALI_CTL_32_DATA */
- 0x0500b64a, /* DENALI_CTL_33_DATA */
- 0x0a0a040a, /* DENALI_CTL_34_DATA */
- 0x03006d60, /* DENALI_CTL_35_DATA */
- 0x0a0a0506, /* DENALI_CTL_36_DATA */
- 0x0500b64a, /* DENALI_CTL_37_DATA */
- 0x0203000a, /* DENALI_CTL_38_DATA */
- 0x080a0c00, /* DENALI_CTL_39_DATA */
- 0x040a0c06, /* DENALI_CTL_40_DATA */
+ 0x0800ff4f, /* DENALI_CTL_33_DATA */
+ 0x0a0a080f, /* DENALI_CTL_34_DATA */
+ 0x0800ff4f, /* DENALI_CTL_35_DATA */
+ 0x0a0a080f, /* DENALI_CTL_36_DATA */
+ 0x0800ff4f, /* DENALI_CTL_37_DATA */
+ 0x0203000f, /* DENALI_CTL_38_DATA */
+ 0x110f1100, /* DENALI_CTL_39_DATA */
+ 0x040f110f, /* DENALI_CTL_40_DATA */
0x14000a0a, /* DENALI_CTL_41_DATA */
- 0x02020a0a, /* DENALI_CTL_42_DATA */
- 0x00010002, /* DENALI_CTL_43_DATA */
- 0x03160e16, /* DENALI_CTL_44_DATA */
- 0x000e090e, /* DENALI_CTL_45_DATA */
+ 0x03030a0a, /* DENALI_CTL_42_DATA */
+ 0x00010003, /* DENALI_CTL_43_DATA */
+ 0x03212121, /* DENALI_CTL_44_DATA */
+ 0x00141414, /* DENALI_CTL_45_DATA */
0x00000000, /* DENALI_CTL_46_DATA */
0x03010000, /* DENALI_CTL_47_DATA */
- 0x0a20008c, /* DENALI_CTL_48_DATA */
- 0x06100054, /* DENALI_CTL_49_DATA */
- 0x0a20008c, /* DENALI_CTL_50_DATA */
+ 0x0e3100c5, /* DENALI_CTL_48_DATA */
+ 0x0e3100c5, /* DENALI_CTL_49_DATA */
+ 0x0e3100c5, /* DENALI_CTL_50_DATA */
0x00000000, /* DENALI_CTL_51_DATA */
- 0x00030005, /* DENALI_CTL_52_DATA */
- 0x00100005, /* DENALI_CTL_53_DATA */
- 0x0010000a, /* DENALI_CTL_54_DATA */
- 0x000c080c, /* DENALI_CTL_55_DATA */
+ 0x00080008, /* DENALI_CTL_52_DATA */
+ 0x00170008, /* DENALI_CTL_53_DATA */
+ 0x00170017, /* DENALI_CTL_54_DATA */
+ 0x00111111, /* DENALI_CTL_55_DATA */
0x00000000, /* DENALI_CTL_56_DATA */
0x00000000, /* DENALI_CTL_57_DATA */
0x00000000, /* DENALI_CTL_58_DATA */
- 0x00930000, /* DENALI_CTL_59_DATA */
- 0x00580093, /* DENALI_CTL_60_DATA */
- 0x00930058, /* DENALI_CTL_61_DATA */
- 0x00000093, /* DENALI_CTL_62_DATA */
+ 0x00ce0000, /* DENALI_CTL_59_DATA */
+ 0x00ce00ce, /* DENALI_CTL_60_DATA */
+ 0x00ce00ce, /* DENALI_CTL_61_DATA */
+ 0x000000ce, /* DENALI_CTL_62_DATA */
0x00000000, /* DENALI_CTL_63_DATA */
0x00000000, /* DENALI_CTL_64_DATA */
0x00000000, /* DENALI_CTL_65_DATA */
@@ -128,11 +141,11 @@
0x00000004, /* DENALI_CTL_79_DATA */
0x00040003, /* DENALI_CTL_80_DATA */
0x00040005, /* DENALI_CTL_81_DATA */
- 0x28800000, /* DENALI_CTL_82_DATA */
- 0x00001440, /* DENALI_CTL_83_DATA */
- 0x0c201840, /* DENALI_CTL_84_DATA */
- 0x28800000, /* DENALI_CTL_85_DATA */
- 0x00001440, /* DENALI_CTL_86_DATA */
+ 0x38c40000, /* DENALI_CTL_82_DATA */
+ 0x00001c62, /* DENALI_CTL_83_DATA */
+ 0x1c6238c4, /* DENALI_CTL_84_DATA */
+ 0x38c40000, /* DENALI_CTL_85_DATA */
+ 0x00001c62, /* DENALI_CTL_86_DATA */
0x00000000, /* DENALI_CTL_87_DATA */
0x00000000, /* DENALI_CTL_88_DATA */
0x00000000, /* DENALI_CTL_89_DATA */
@@ -168,22 +181,22 @@
0x00000000, /* DENALI_CTL_119_DATA */
0x00000000, /* DENALI_CTL_120_DATA */
0x00000000, /* DENALI_CTL_121_DATA */
- 0x00860000, /* DENALI_CTL_122_DATA */
- 0x00a70043, /* DENALI_CTL_123_DATA */
- 0x00a70000, /* DENALI_CTL_124_DATA */
- 0x00280050, /* DENALI_CTL_125_DATA */
- 0x00000064, /* DENALI_CTL_126_DATA */
- 0x00860064, /* DENALI_CTL_127_DATA */
- 0x00a70043, /* DENALI_CTL_128_DATA */
- 0x00a70000, /* DENALI_CTL_129_DATA */
+ 0x00bb0000, /* DENALI_CTL_122_DATA */
+ 0x00ea005e, /* DENALI_CTL_123_DATA */
+ 0x00ea0000, /* DENALI_CTL_124_DATA */
+ 0x005e00bb, /* DENALI_CTL_125_DATA */
+ 0x000000ea, /* DENALI_CTL_126_DATA */
+ 0x00bb00ea, /* DENALI_CTL_127_DATA */
+ 0x00ea005e, /* DENALI_CTL_128_DATA */
+ 0x00ea0000, /* DENALI_CTL_129_DATA */
0x00000000, /* DENALI_CTL_130_DATA */
0x00000000, /* DENALI_CTL_131_DATA */
0x00000000, /* DENALI_CTL_132_DATA */
- 0x00030000, /* DENALI_CTL_133_DATA */
- 0x00000018, /* DENALI_CTL_134_DATA */
- 0x00080083, /* DENALI_CTL_135_DATA */
- 0x00030000, /* DENALI_CTL_136_DATA */
- 0x00000018, /* DENALI_CTL_137_DATA */
+ 0x00c30000, /* DENALI_CTL_133_DATA */
+ 0x0000001c, /* DENALI_CTL_134_DATA */
+ 0x001c00c3, /* DENALI_CTL_135_DATA */
+ 0x00c30000, /* DENALI_CTL_136_DATA */
+ 0x0000001c, /* DENALI_CTL_137_DATA */
0x00010001, /* DENALI_CTL_138_DATA */
0x07000001, /* DENALI_CTL_139_DATA */
0x00000707, /* DENALI_CTL_140_DATA */
@@ -193,11 +206,11 @@
0x00000000, /* DENALI_CTL_144_DATA */
0x00000000, /* DENALI_CTL_145_DATA */
0x00000000, /* DENALI_CTL_146_DATA */
- 0x00030000, /* DENALI_CTL_147_DATA */
- 0x00000018, /* DENALI_CTL_148_DATA */
- 0x00080083, /* DENALI_CTL_149_DATA */
- 0x00030000, /* DENALI_CTL_150_DATA */
- 0x00000018, /* DENALI_CTL_151_DATA */
+ 0x00c30000, /* DENALI_CTL_147_DATA */
+ 0x0000001c, /* DENALI_CTL_148_DATA */
+ 0x001c00c3, /* DENALI_CTL_149_DATA */
+ 0x00c30000, /* DENALI_CTL_150_DATA */
+ 0x0000001c, /* DENALI_CTL_151_DATA */
0x00010001, /* DENALI_CTL_152_DATA */
0x07000001, /* DENALI_CTL_153_DATA */
0x00000707, /* DENALI_CTL_154_DATA */
@@ -225,16 +238,16 @@
0x00000000, /* DENALI_CTL_176_DATA */
0x00000000, /* DENALI_CTL_177_DATA */
0x00000000, /* DENALI_CTL_178_DATA */
- 0x00029b03, /* DENALI_CTL_179_DATA */
- 0x003c00f0, /* DENALI_CTL_180_DATA */
+ 0x0003a603, /* DENALI_CTL_179_DATA */
+ 0x00550151, /* DENALI_CTL_180_DATA */
0x00000000, /* DENALI_CTL_181_DATA */
- 0x00900190, /* DENALI_CTL_182_DATA */
- 0x00000024, /* DENALI_CTL_183_DATA */
- 0x00029b00, /* DENALI_CTL_184_DATA */
- 0x003c00f0, /* DENALI_CTL_185_DATA */
+ 0x015103a6, /* DENALI_CTL_182_DATA */
+ 0x00000055, /* DENALI_CTL_183_DATA */
+ 0x0003a600, /* DENALI_CTL_184_DATA */
+ 0x00550151, /* DENALI_CTL_185_DATA */
0x00000000, /* DENALI_CTL_186_DATA */
- 0x00220000, /* DENALI_CTL_187_DATA */
- 0x00220014, /* DENALI_CTL_188_DATA */
+ 0x002f0000, /* DENALI_CTL_187_DATA */
+ 0x002f002f, /* DENALI_CTL_188_DATA */
0x01010100, /* DENALI_CTL_189_DATA */
0x01000202, /* DENALI_CTL_190_DATA */
0x0a000002, /* DENALI_CTL_191_DATA */
@@ -258,17 +271,17 @@
0x00000000, /* DENALI_CTL_209_DATA */
0x00000000, /* DENALI_CTL_210_DATA */
0x00010000, /* DENALI_CTL_211_DATA */
- 0x03020301, /* DENALI_CTL_212_DATA */
+ 0x04040401, /* DENALI_CTL_212_DATA */
0x01000808, /* DENALI_CTL_213_DATA */
- 0x04030001, /* DENALI_CTL_214_DATA */
- 0x08080803, /* DENALI_CTL_215_DATA */
+ 0x04040001, /* DENALI_CTL_214_DATA */
+ 0x0c0c0c04, /* DENALI_CTL_215_DATA */
0x02080808, /* DENALI_CTL_216_DATA */
- 0x02010203, /* DENALI_CTL_217_DATA */
- 0x02010303, /* DENALI_CTL_218_DATA */
- 0x00010203, /* DENALI_CTL_219_DATA */
+ 0x02010103, /* DENALI_CTL_217_DATA */
+ 0x02010103, /* DENALI_CTL_218_DATA */
+ 0x00010103, /* DENALI_CTL_219_DATA */
0x00020202, /* DENALI_CTL_220_DATA */
- 0x03020400, /* DENALI_CTL_221_DATA */
- 0x00020401, /* DENALI_CTL_222_DATA */
+ 0x06030600, /* DENALI_CTL_221_DATA */
+ 0x00030603, /* DENALI_CTL_222_DATA */
0x00000000, /* DENALI_CTL_223_DATA */
0x00000000, /* DENALI_CTL_224_DATA */
0x0d000001, /* DENALI_CTL_225_DATA */
@@ -321,30 +334,30 @@
0x00000000, /* DENALI_CTL_272_DATA */
0x00000000, /* DENALI_CTL_273_DATA */
0x00ffff00, /* DENALI_CTL_274_DATA */
- 0x181b0000, /* DENALI_CTL_275_DATA */
- 0x0800001b, /* DENALI_CTL_276_DATA */
- 0x00001440, /* DENALI_CTL_277_DATA */
+ 0x20200000, /* DENALI_CTL_275_DATA */
+ 0x08000020, /* DENALI_CTL_276_DATA */
+ 0x00001c62, /* DENALI_CTL_277_DATA */
0x00000200, /* DENALI_CTL_278_DATA */
0x00000200, /* DENALI_CTL_279_DATA */
0x00000200, /* DENALI_CTL_280_DATA */
0x00000200, /* DENALI_CTL_281_DATA */
- 0x00001440, /* DENALI_CTL_282_DATA */
- 0x0000ca80, /* DENALI_CTL_283_DATA */
- 0x0c200509, /* DENALI_CTL_284_DATA */
+ 0x00001c62, /* DENALI_CTL_282_DATA */
+ 0x00011bd4, /* DENALI_CTL_283_DATA */
+ 0x1c62070c, /* DENALI_CTL_284_DATA */
0x00000200, /* DENALI_CTL_285_DATA */
0x00000200, /* DENALI_CTL_286_DATA */
0x00000200, /* DENALI_CTL_287_DATA */
0x00000200, /* DENALI_CTL_288_DATA */
- 0x00000c20, /* DENALI_CTL_289_DATA */
- 0x00007940, /* DENALI_CTL_290_DATA */
- 0x14400509, /* DENALI_CTL_291_DATA */
+ 0x00001c62, /* DENALI_CTL_289_DATA */
+ 0x00011bd4, /* DENALI_CTL_290_DATA */
+ 0x1c62070c, /* DENALI_CTL_291_DATA */
0x00000200, /* DENALI_CTL_292_DATA */
0x00000200, /* DENALI_CTL_293_DATA */
0x00000200, /* DENALI_CTL_294_DATA */
0x00000200, /* DENALI_CTL_295_DATA */
- 0x00001440, /* DENALI_CTL_296_DATA */
- 0x0000ca80, /* DENALI_CTL_297_DATA */
- 0x02020509, /* DENALI_CTL_298_DATA */
+ 0x00001c62, /* DENALI_CTL_296_DATA */
+ 0x00011bd4, /* DENALI_CTL_297_DATA */
+ 0x0202070c, /* DENALI_CTL_298_DATA */
0x03030202, /* DENALI_CTL_299_DATA */
0x00000018, /* DENALI_CTL_300_DATA */
0x00000000, /* DENALI_CTL_301_DATA */
@@ -354,14 +367,14 @@
0x00000000, /* DENALI_CTL_305_DATA */
0x00000000, /* DENALI_CTL_306_DATA */
0x00030000, /* DENALI_CTL_307_DATA */
- 0x000d001f, /* DENALI_CTL_308_DATA */
- 0x000a001c, /* DENALI_CTL_309_DATA */
- 0x000d001f, /* DENALI_CTL_310_DATA */
+ 0x000f0021, /* DENALI_CTL_308_DATA */
+ 0x000f0021, /* DENALI_CTL_309_DATA */
+ 0x000f0021, /* DENALI_CTL_310_DATA */
0x00000000, /* DENALI_CTL_311_DATA */
0x00000000, /* DENALI_CTL_312_DATA */
0x01000000, /* DENALI_CTL_313_DATA */
- 0x00050005, /* DENALI_CTL_314_DATA */
- 0x00050005, /* DENALI_CTL_315_DATA */
+ 0x02090209, /* DENALI_CTL_314_DATA */
+ 0x00050209, /* DENALI_CTL_315_DATA */
0x00000000, /* DENALI_CTL_316_DATA */
0x00000000, /* DENALI_CTL_317_DATA */
0x00000000, /* DENALI_CTL_318_DATA */
@@ -384,22 +397,22 @@
{
0x00000700, /* DENALI_PI_00_DATA */
0x00000000, /* DENALI_PI_01_DATA */
- 0x00002880, /* DENALI_PI_02_DATA */
- 0x00001440, /* DENALI_PI_03_DATA */
- 0x00002880, /* DENALI_PI_04_DATA */
- 0x00001440, /* DENALI_PI_05_DATA */
- 0x00002880, /* DENALI_PI_06_DATA */
- 0x14401440, /* DENALI_PI_07_DATA */
+ 0x000038c4, /* DENALI_PI_02_DATA */
+ 0x00001c62, /* DENALI_PI_03_DATA */
+ 0x000038c4, /* DENALI_PI_04_DATA */
+ 0x00001c62, /* DENALI_PI_05_DATA */
+ 0x000038c4, /* DENALI_PI_06_DATA */
+ 0x1c621c62, /* DENALI_PI_07_DATA */
0x00000200, /* DENALI_PI_08_DATA */
0x00000200, /* DENALI_PI_09_DATA */
0x00000200, /* DENALI_PI_10_DATA */
0x00000200, /* DENALI_PI_11_DATA */
- 0x00001440, /* DENALI_PI_12_DATA */
+ 0x00001c62, /* DENALI_PI_12_DATA */
0x00000200, /* DENALI_PI_13_DATA */
0x00000200, /* DENALI_PI_14_DATA */
0x00000200, /* DENALI_PI_15_DATA */
0x00000200, /* DENALI_PI_16_DATA */
- 0x00001440, /* DENALI_PI_17_DATA */
+ 0x00001c62, /* DENALI_PI_17_DATA */
0x00000200, /* DENALI_PI_18_DATA */
0x00000200, /* DENALI_PI_19_DATA */
0x00000200, /* DENALI_PI_20_DATA */
@@ -424,13 +437,13 @@
0x0f000010, /* DENALI_PI_39_DATA */
0x377ff000, /* DENALI_PI_40_DATA */
0x03000101, /* DENALI_PI_41_DATA */
- 0x042a2a2a, /* DENALI_PI_42_DATA */
- 0x06140006, /* DENALI_PI_43_DATA */
- 0x00061400, /* DENALI_PI_44_DATA */
- 0x00000014, /* DENALI_PI_45_DATA */
- 0x0a20008c, /* DENALI_PI_46_DATA */
- 0x0a20008c, /* DENALI_PI_47_DATA */
- 0x0a20008c, /* DENALI_PI_48_DATA */
+ 0x04323232, /* DENALI_PI_42_DATA */
+ 0x081c0008, /* DENALI_PI_43_DATA */
+ 0x00081c00, /* DENALI_PI_44_DATA */
+ 0x0000001c, /* DENALI_PI_45_DATA */
+ 0x0e3100c5, /* DENALI_PI_46_DATA */
+ 0x0e3100c5, /* DENALI_PI_47_DATA */
+ 0x0e3100c5, /* DENALI_PI_48_DATA */
0x00000500, /* DENALI_PI_49_DATA */
0x00000000, /* DENALI_PI_50_DATA */
0x00000000, /* DENALI_PI_51_DATA */
@@ -448,14 +461,14 @@
0x00000018, /* DENALI_PI_63_DATA */
0x00000000, /* DENALI_PI_64_DATA */
0x00000000, /* DENALI_PI_65_DATA */
- 0x03060002, /* DENALI_PI_66_DATA */
- 0x03010301, /* DENALI_PI_67_DATA */
+ 0x04060002, /* DENALI_PI_66_DATA */
+ 0x04010401, /* DENALI_PI_67_DATA */
0x01080801, /* DENALI_PI_68_DATA */
0x04020201, /* DENALI_PI_69_DATA */
0x01080804, /* DENALI_PI_70_DATA */
0x00000000, /* DENALI_PI_71_DATA */
- 0x03030000, /* DENALI_PI_72_DATA */
- 0x08080803, /* DENALI_PI_73_DATA */
+ 0x04040000, /* DENALI_PI_72_DATA */
+ 0x0c0c0c04, /* DENALI_PI_73_DATA */
0x00000000, /* DENALI_PI_74_DATA */
0x00000000, /* DENALI_PI_75_DATA */
0x00000000, /* DENALI_PI_76_DATA */
@@ -471,21 +484,21 @@
0x55555a5a, /* DENALI_PI_86_DATA */
0x55555a5a, /* DENALI_PI_87_DATA */
0x55555a5a, /* DENALI_PI_88_DATA */
- 0x09090001, /* DENALI_PI_89_DATA */
- 0x05050009, /* DENALI_PI_90_DATA */
- 0x00000005, /* DENALI_PI_91_DATA */
- 0x00000100, /* DENALI_PI_92_DATA */
+ 0x0c0c0001, /* DENALI_PI_89_DATA */
+ 0x0707000c, /* DENALI_PI_90_DATA */
+ 0x02020007, /* DENALI_PI_91_DATA */
+ 0x00000102, /* DENALI_PI_92_DATA */
0x00030000, /* DENALI_PI_93_DATA */
0x17030000, /* DENALI_PI_94_DATA */
- 0x000d001f, /* DENALI_PI_95_DATA */
- 0x000d001f, /* DENALI_PI_96_DATA */
- 0x000d001f, /* DENALI_PI_97_DATA */
+ 0x000f0021, /* DENALI_PI_95_DATA */
+ 0x000f0021, /* DENALI_PI_96_DATA */
+ 0x000f0021, /* DENALI_PI_97_DATA */
0x00000000, /* DENALI_PI_98_DATA */
0x00000000, /* DENALI_PI_99_DATA */
0x00000100, /* DENALI_PI_100_DATA */
0x140a0000, /* DENALI_PI_101_DATA */
- 0x000a020a, /* DENALI_PI_102_DATA */
- 0x02000a02, /* DENALI_PI_103_DATA */
+ 0x000a030a, /* DENALI_PI_102_DATA */
+ 0x03000a03, /* DENALI_PI_103_DATA */
0x010a000a, /* DENALI_PI_104_DATA */
0x00000100, /* DENALI_PI_105_DATA */
0x01000000, /* DENALI_PI_106_DATA */
@@ -498,8 +511,8 @@
0x00201000, /* DENALI_PI_113_DATA */
0x00201000, /* DENALI_PI_114_DATA */
0x04041000, /* DENALI_PI_115_DATA */
- 0x0f0f0100, /* DENALI_PI_116_DATA */
- 0x0001010f, /* DENALI_PI_117_DATA */
+ 0x12120100, /* DENALI_PI_116_DATA */
+ 0x00010112, /* DENALI_PI_117_DATA */
0x004b004a, /* DENALI_PI_118_DATA */
0x1a030000, /* DENALI_PI_119_DATA */
0x0102041e, /* DENALI_PI_120_DATA */
@@ -507,50 +520,50 @@
0x00000000, /* DENALI_PI_122_DATA */
0x00000000, /* DENALI_PI_123_DATA */
0x00000000, /* DENALI_PI_124_DATA */
- 0x00000300, /* DENALI_PI_125_DATA */
- 0x00010018, /* DENALI_PI_126_DATA */
+ 0x0000c300, /* DENALI_PI_125_DATA */
+ 0x0001001c, /* DENALI_PI_126_DATA */
0x004d4d07, /* DENALI_PI_127_DATA */
- 0x00180003, /* DENALI_PI_128_DATA */
+ 0x001c00c3, /* DENALI_PI_128_DATA */
0x4d070001, /* DENALI_PI_129_DATA */
- 0x0000034d, /* DENALI_PI_130_DATA */
- 0x00010018, /* DENALI_PI_131_DATA */
+ 0x0000c34d, /* DENALI_PI_130_DATA */
+ 0x0001001c, /* DENALI_PI_131_DATA */
0x004d4d07, /* DENALI_PI_132_DATA */
- 0x00180003, /* DENALI_PI_133_DATA */
+ 0x001c00c3, /* DENALI_PI_133_DATA */
0x4d070001, /* DENALI_PI_134_DATA */
- 0x0000034d, /* DENALI_PI_135_DATA */
- 0x00010018, /* DENALI_PI_136_DATA */
+ 0x0000c34d, /* DENALI_PI_135_DATA */
+ 0x0001001c, /* DENALI_PI_136_DATA */
0x004d4d07, /* DENALI_PI_137_DATA */
- 0x00180003, /* DENALI_PI_138_DATA */
+ 0x001c00c3, /* DENALI_PI_138_DATA */
0x4d070001, /* DENALI_PI_139_DATA */
- 0x0003004d, /* DENALI_PI_140_DATA */
- 0x00010018, /* DENALI_PI_141_DATA */
+ 0x00c3004d, /* DENALI_PI_140_DATA */
+ 0x0001001c, /* DENALI_PI_141_DATA */
0x004d4d07, /* DENALI_PI_142_DATA */
- 0x00180003, /* DENALI_PI_143_DATA */
+ 0x001c00c3, /* DENALI_PI_143_DATA */
0x4d070001, /* DENALI_PI_144_DATA */
- 0x0000034d, /* DENALI_PI_145_DATA */
- 0x00010018, /* DENALI_PI_146_DATA */
+ 0x0000c34d, /* DENALI_PI_145_DATA */
+ 0x0001001c, /* DENALI_PI_146_DATA */
0x004d4d07, /* DENALI_PI_147_DATA */
- 0x00180003, /* DENALI_PI_148_DATA */
+ 0x001c00c3, /* DENALI_PI_148_DATA */
0x4d070001, /* DENALI_PI_149_DATA */
- 0x0000034d, /* DENALI_PI_150_DATA */
- 0x00010018, /* DENALI_PI_151_DATA */
+ 0x0000c34d, /* DENALI_PI_150_DATA */
+ 0x0001001c, /* DENALI_PI_151_DATA */
0x004d4d07, /* DENALI_PI_152_DATA */
- 0x00180003, /* DENALI_PI_153_DATA */
+ 0x001c00c3, /* DENALI_PI_153_DATA */
0x4d070001, /* DENALI_PI_154_DATA */
0x0100004d, /* DENALI_PI_155_DATA */
- 0x00a700a7, /* DENALI_PI_156_DATA */
- 0x050400a7, /* DENALI_PI_157_DATA */
- 0x0a050c0e, /* DENALI_PI_158_DATA */
- 0x1c00b477, /* DENALI_PI_159_DATA */
- 0x0a0a2004, /* DENALI_PI_160_DATA */
- 0x0c0e050a, /* DENALI_PI_161_DATA */
- 0x00000a05, /* DENALI_PI_162_DATA */
- 0x1c00b477, /* DENALI_PI_163_DATA */
- 0x0a0a2004, /* DENALI_PI_164_DATA */
- 0x0c0e050a, /* DENALI_PI_165_DATA */
- 0x00000a05, /* DENALI_PI_166_DATA */
- 0x1c00b477, /* DENALI_PI_167_DATA */
- 0x0a0a2004, /* DENALI_PI_168_DATA */
+ 0x00ea00ea, /* DENALI_PI_156_DATA */
+ 0x080400ea, /* DENALI_PI_157_DATA */
+ 0x0f081114, /* DENALI_PI_158_DATA */
+ 0x2800fcc1, /* DENALI_PI_159_DATA */
+ 0x0a0e2006, /* DENALI_PI_160_DATA */
+ 0x1114080a, /* DENALI_PI_161_DATA */
+ 0x00000f08, /* DENALI_PI_162_DATA */
+ 0x2800fcc1, /* DENALI_PI_163_DATA */
+ 0x0a0e2006, /* DENALI_PI_164_DATA */
+ 0x1114080a, /* DENALI_PI_165_DATA */
+ 0x00000f08, /* DENALI_PI_166_DATA */
+ 0x2800fcc1, /* DENALI_PI_167_DATA */
+ 0x0a0e2006, /* DENALI_PI_168_DATA */
0x0200020a, /* DENALI_PI_169_DATA */
0x02000200, /* DENALI_PI_170_DATA */
0x02000200, /* DENALI_PI_171_DATA */
@@ -569,12 +582,12 @@
0x00000000, /* DENALI_PI_184_DATA */
0x00000000, /* DENALI_PI_185_DATA */
0x01000300, /* DENALI_PI_186_DATA */
- 0x00144000, /* DENALI_PI_187_DATA */
- 0x0000ca80, /* DENALI_PI_188_DATA */
- 0x00001440, /* DENALI_PI_189_DATA */
- 0x0000ca80, /* DENALI_PI_190_DATA */
- 0x00001440, /* DENALI_PI_191_DATA */
- 0x0000ca80, /* DENALI_PI_192_DATA */
+ 0x001c6200, /* DENALI_PI_187_DATA */
+ 0x00011bd4, /* DENALI_PI_188_DATA */
+ 0x00001c62, /* DENALI_PI_189_DATA */
+ 0x00011bd4, /* DENALI_PI_190_DATA */
+ 0x00001c62, /* DENALI_PI_191_DATA */
+ 0x00011bd4, /* DENALI_PI_192_DATA */
0x08000000, /* DENALI_PI_193_DATA */
0x00000100, /* DENALI_PI_194_DATA */
0x00000000, /* DENALI_PI_195_DATA */
@@ -588,15 +601,15 @@
{
0x76543210, /* DENALI_PHY_00_DATA */
0x0004c008, /* DENALI_PHY_01_DATA */
- 0x000001c4, /* DENALI_PHY_02_DATA */
+ 0x000001a2, /* DENALI_PHY_02_DATA */
0x00000000, /* DENALI_PHY_03_DATA */
0x00000000, /* DENALI_PHY_04_DATA */
0x00010000, /* DENALI_PHY_05_DATA */
0x01665555, /* DENALI_PHY_06_DATA */
0x00665555, /* DENALI_PHY_07_DATA */
0x00010f00, /* DENALI_PHY_08_DATA */
- 0x05000100, /* DENALI_PHY_09_DATA */
- 0x00000002, /* DENALI_PHY_10_DATA */
+ 0x06010200, /* DENALI_PHY_09_DATA */
+ 0x00000003, /* DENALI_PHY_10_DATA */
0x001700c0, /* DENALI_PHY_11_DATA */
0x00cc0101, /* DENALI_PHY_12_DATA */
0x00030066, /* DENALI_PHY_13_DATA */
@@ -663,17 +676,17 @@
0x00800080, /* DENALI_PHY_74_DATA */
0x00800080, /* DENALI_PHY_75_DATA */
0x00800080, /* DENALI_PHY_76_DATA */
- 0x01c40080, /* DENALI_PHY_77_DATA */
- 0x01900002, /* DENALI_PHY_78_DATA */
+ 0x01a20080, /* DENALI_PHY_77_DATA */
+ 0x01900003, /* DENALI_PHY_78_DATA */
0x00000000, /* DENALI_PHY_79_DATA */
- 0x00020000, /* DENALI_PHY_80_DATA */
+ 0x00030000, /* DENALI_PHY_80_DATA */
0x00000200, /* DENALI_PHY_81_DATA */
0x00000000, /* DENALI_PHY_82_DATA */
0x51315152, /* DENALI_PHY_83_DATA */
0xc0013150, /* DENALI_PHY_84_DATA */
- 0x010000c0, /* DENALI_PHY_85_DATA */
- 0x00100000, /* DENALI_PHY_86_DATA */
- 0x0c054208, /* DENALI_PHY_87_DATA */
+ 0x020000c0, /* DENALI_PHY_85_DATA */
+ 0x00100001, /* DENALI_PHY_86_DATA */
+ 0x0c064208, /* DENALI_PHY_87_DATA */
0x000f0c18, /* DENALI_PHY_88_DATA */
0x01000140, /* DENALI_PHY_89_DATA */
0x00000c20, /* DENALI_PHY_90_DATA */
@@ -716,15 +729,15 @@
0x00000000, /* DENALI_PHY_127_DATA */
0x76543210, /* DENALI_PHY_128_DATA */
0x0004c008, /* DENALI_PHY_129_DATA */
- 0x000001c4, /* DENALI_PHY_130_DATA */
+ 0x000001a2, /* DENALI_PHY_130_DATA */
0x00000000, /* DENALI_PHY_131_DATA */
0x00000000, /* DENALI_PHY_132_DATA */
0x00010000, /* DENALI_PHY_133_DATA */
0x01665555, /* DENALI_PHY_134_DATA */
0x00665555, /* DENALI_PHY_135_DATA */
0x00010f00, /* DENALI_PHY_136_DATA */
- 0x05000100, /* DENALI_PHY_137_DATA */
- 0x00000002, /* DENALI_PHY_138_DATA */
+ 0x06010200, /* DENALI_PHY_137_DATA */
+ 0x00000003, /* DENALI_PHY_138_DATA */
0x001700c0, /* DENALI_PHY_139_DATA */
0x00cc0101, /* DENALI_PHY_140_DATA */
0x00030066, /* DENALI_PHY_141_DATA */
@@ -791,17 +804,17 @@
0x00800080, /* DENALI_PHY_202_DATA */
0x00800080, /* DENALI_PHY_203_DATA */
0x00800080, /* DENALI_PHY_204_DATA */
- 0x01c40080, /* DENALI_PHY_205_DATA */
- 0x01900002, /* DENALI_PHY_206_DATA */
+ 0x01a20080, /* DENALI_PHY_205_DATA */
+ 0x01900003, /* DENALI_PHY_206_DATA */
0x00000000, /* DENALI_PHY_207_DATA */
- 0x00020000, /* DENALI_PHY_208_DATA */
+ 0x00030000, /* DENALI_PHY_208_DATA */
0x00000200, /* DENALI_PHY_209_DATA */
0x00000000, /* DENALI_PHY_210_DATA */
0x51315152, /* DENALI_PHY_211_DATA */
0xc0013150, /* DENALI_PHY_212_DATA */
- 0x010000c0, /* DENALI_PHY_213_DATA */
- 0x00100000, /* DENALI_PHY_214_DATA */
- 0x0c054208, /* DENALI_PHY_215_DATA */
+ 0x020000c0, /* DENALI_PHY_213_DATA */
+ 0x00100001, /* DENALI_PHY_214_DATA */
+ 0x0c064208, /* DENALI_PHY_215_DATA */
0x000f0c18, /* DENALI_PHY_216_DATA */
0x01000140, /* DENALI_PHY_217_DATA */
0x00000c20, /* DENALI_PHY_218_DATA */
@@ -844,15 +857,15 @@
0x00000000, /* DENALI_PHY_255_DATA */
0x76543210, /* DENALI_PHY_256_DATA */
0x0004c008, /* DENALI_PHY_257_DATA */
- 0x000001c4, /* DENALI_PHY_258_DATA */
+ 0x000001a2, /* DENALI_PHY_258_DATA */
0x00000000, /* DENALI_PHY_259_DATA */
0x00000000, /* DENALI_PHY_260_DATA */
0x00010000, /* DENALI_PHY_261_DATA */
0x01665555, /* DENALI_PHY_262_DATA */
0x00665555, /* DENALI_PHY_263_DATA */
0x00010f00, /* DENALI_PHY_264_DATA */
- 0x05000100, /* DENALI_PHY_265_DATA */
- 0x00000002, /* DENALI_PHY_266_DATA */
+ 0x06010200, /* DENALI_PHY_265_DATA */
+ 0x00000003, /* DENALI_PHY_266_DATA */
0x001700c0, /* DENALI_PHY_267_DATA */
0x00cc0101, /* DENALI_PHY_268_DATA */
0x00030066, /* DENALI_PHY_269_DATA */
@@ -919,17 +932,17 @@
0x00800080, /* DENALI_PHY_330_DATA */
0x00800080, /* DENALI_PHY_331_DATA */
0x00800080, /* DENALI_PHY_332_DATA */
- 0x01c40080, /* DENALI_PHY_333_DATA */
- 0x01900002, /* DENALI_PHY_334_DATA */
+ 0x01a20080, /* DENALI_PHY_333_DATA */
+ 0x01900003, /* DENALI_PHY_334_DATA */
0x00000000, /* DENALI_PHY_335_DATA */
- 0x00020000, /* DENALI_PHY_336_DATA */
+ 0x00030000, /* DENALI_PHY_336_DATA */
0x00000200, /* DENALI_PHY_337_DATA */
0x00000000, /* DENALI_PHY_338_DATA */
0x51315152, /* DENALI_PHY_339_DATA */
0xc0013150, /* DENALI_PHY_340_DATA */
- 0x010000c0, /* DENALI_PHY_341_DATA */
- 0x00100000, /* DENALI_PHY_342_DATA */
- 0x0c054208, /* DENALI_PHY_343_DATA */
+ 0x020000c0, /* DENALI_PHY_341_DATA */
+ 0x00100001, /* DENALI_PHY_342_DATA */
+ 0x0c064208, /* DENALI_PHY_343_DATA */
0x000f0c18, /* DENALI_PHY_344_DATA */
0x01000140, /* DENALI_PHY_345_DATA */
0x00000c20, /* DENALI_PHY_346_DATA */
@@ -972,15 +985,15 @@
0x00000000, /* DENALI_PHY_383_DATA */
0x76543210, /* DENALI_PHY_384_DATA */
0x0004c008, /* DENALI_PHY_385_DATA */
- 0x000001c4, /* DENALI_PHY_386_DATA */
+ 0x000001a2, /* DENALI_PHY_386_DATA */
0x00000000, /* DENALI_PHY_387_DATA */
0x00000000, /* DENALI_PHY_388_DATA */
0x00010000, /* DENALI_PHY_389_DATA */
0x01665555, /* DENALI_PHY_390_DATA */
0x00665555, /* DENALI_PHY_391_DATA */
0x00010f00, /* DENALI_PHY_392_DATA */
- 0x05000100, /* DENALI_PHY_393_DATA */
- 0x00000002, /* DENALI_PHY_394_DATA */
+ 0x06010200, /* DENALI_PHY_393_DATA */
+ 0x00000003, /* DENALI_PHY_394_DATA */
0x001700c0, /* DENALI_PHY_395_DATA */
0x00cc0101, /* DENALI_PHY_396_DATA */
0x00030066, /* DENALI_PHY_397_DATA */
@@ -1047,17 +1060,17 @@
0x00800080, /* DENALI_PHY_458_DATA */
0x00800080, /* DENALI_PHY_459_DATA */
0x00800080, /* DENALI_PHY_460_DATA */
- 0x01c40080, /* DENALI_PHY_461_DATA */
- 0x01900002, /* DENALI_PHY_462_DATA */
+ 0x01a20080, /* DENALI_PHY_461_DATA */
+ 0x01900003, /* DENALI_PHY_462_DATA */
0x00000000, /* DENALI_PHY_463_DATA */
- 0x00020000, /* DENALI_PHY_464_DATA */
+ 0x00030000, /* DENALI_PHY_464_DATA */
0x00000200, /* DENALI_PHY_465_DATA */
0x00000000, /* DENALI_PHY_466_DATA */
0x51315152, /* DENALI_PHY_467_DATA */
0xc0013150, /* DENALI_PHY_468_DATA */
- 0x010000c0, /* DENALI_PHY_469_DATA */
- 0x00100000, /* DENALI_PHY_470_DATA */
- 0x0c054208, /* DENALI_PHY_471_DATA */
+ 0x020000c0, /* DENALI_PHY_469_DATA */
+ 0x00100001, /* DENALI_PHY_470_DATA */
+ 0x0c064208, /* DENALI_PHY_471_DATA */
0x000f0c18, /* DENALI_PHY_472_DATA */
0x01000140, /* DENALI_PHY_473_DATA */
0x00000c20, /* DENALI_PHY_474_DATA */
@@ -1508,7 +1521,7 @@
0x01221102, /* DENALI_PHY_919_DATA */
0x00000000, /* DENALI_PHY_920_DATA */
0x00000000, /* DENALI_PHY_921_DATA */
- 0x03020000, /* DENALI_PHY_922_DATA */
+ 0x04020000, /* DENALI_PHY_922_DATA */
0x00000001, /* DENALI_PHY_923_DATA */
0x00000011, /* DENALI_PHY_924_DATA */
0x00000011, /* DENALI_PHY_925_DATA */
diff --git a/src/mainboard/google/gru/sdram_inf/sdram-lpddr3-hynix-4GB.inc b/src/mainboard/google/gru/sdram_inf/kevin-sdram-lpddr3-hynix-4GB.inc
similarity index 99%
rename from src/mainboard/google/gru/sdram_inf/sdram-lpddr3-hynix-4GB.inc
rename to src/mainboard/google/gru/sdram_inf/kevin-sdram-lpddr3-hynix-4GB.inc
index 12deb9f..31b4554 100644
--- a/src/mainboard/google/gru/sdram_inf/sdram-lpddr3-hynix-4GB.inc
+++ b/src/mainboard/google/gru/sdram_inf/kevin-sdram-lpddr3-hynix-4GB.inc
@@ -1,3 +1,15 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
{
{
{
diff --git a/src/soc/rockchip/rk3399/clock.c b/src/soc/rockchip/rk3399/clock.c
index 6222b77..ba66230 100644
--- a/src/soc/rockchip/rk3399/clock.c
+++ b/src/soc/rockchip/rk3399/clock.c
@@ -549,6 +549,10 @@
dpll_cfg = (struct pll_div)
{.refdiv = 1, .fbdiv = 100, .postdiv1 = 3, .postdiv2 = 1};
break;
+ case 928*MHz:
+ dpll_cfg = (struct pll_div)
+ {.refdiv = 1, .fbdiv = 116, .postdiv1 = 3, .postdiv2 = 1};
+ break;
default:
die("Unsupported SDRAM frequency, add to clock.c!");
}
diff --git a/src/soc/rockchip/rk3399/sdram.c b/src/soc/rockchip/rk3399/sdram.c
index 83c0ee6..1536910 100644
--- a/src/soc/rockchip/rk3399/sdram.c
+++ b/src/soc/rockchip/rk3399/sdram.c
@@ -819,7 +819,7 @@
if ((sdram_params->dramtype == DDR3
&& sdram_params->ddr_freq > 800*MHz) ||
(sdram_params->dramtype == LPDDR3
- && sdram_params->ddr_freq > 800*MHz) ||
+ && sdram_params->ddr_freq > 928*MHz) ||
(sdram_params->dramtype == LPDDR4
&& sdram_params->ddr_freq > 800*MHz))
die("SDRAM frequency is to high!");