[coreboot-gerrit] New patch to review for coreboot: t210: set CAR2PMC_CPU_ACK_WIDTH to 0
Patrick Georgi (pgeorgi@google.com)
gerrit at coreboot.org
Wed Jul 8 10:13:35 CEST 2015
Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10841
-gerrit
commit 48a571063c6f702e9c5a5b1542e89908e7590949
Author: Yen Lin <yelin at nvidia.com>
Date: Wed May 6 13:56:50 2015 -0700
t210: set CAR2PMC_CPU_ACK_WIDTH to 0
HW team has suggested to set CAR2PMC_CPU_ACK_WIDTH to 0.
BUG=None
BRANCH=None
TEST=Tested on Smaug; still boot to kernel
Change-Id: I4d13a4048b73455b16da7a40c408c912fa97e4e7
Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
Original-Commit-Id: 8891a79e72af26d986af9e415149d4ca0aa6fedd
Original-Change-Id: I850a6756d7743993802fb85aad403e4cbef7a661
Original-Signed-off-by: Yen Lin <yelin at nvidia.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/282416
Original-Reviewed-by: Furquan Shaikh <furquan at chromium.org>
---
src/soc/nvidia/tegra210/ccplex.c | 17 +++++++++++++++++
src/soc/nvidia/tegra210/include/soc/clk_rst.h | 3 +++
2 files changed, 20 insertions(+)
diff --git a/src/soc/nvidia/tegra210/ccplex.c b/src/soc/nvidia/tegra210/ccplex.c
index f3c61cb..a3c6722 100644
--- a/src/soc/nvidia/tegra210/ccplex.c
+++ b/src/soc/nvidia/tegra210/ccplex.c
@@ -92,9 +92,26 @@ static void request_ram_repair(void)
stopwatch_duration_usecs(&sw));
}
+static void set_cpu_ack_width(uint32_t val)
+{
+ uint32_t reg;
+
+ reg = read32(CLK_RST_REG(cpu_softrst_ctrl2));
+ reg &= ~CAR2PMC_CPU_ACK_WIDTH_MASK;
+ reg |= val;
+ write32(CLK_RST_REG(cpu_softrst_ctrl2), reg);
+}
+
void ccplex_cpu_prepare(void)
{
enable_cpu_clocks();
+
+ /*
+ * The POR value of CAR2PMC_CPU_ACK_WIDTH is 0x200.
+ * The recommended value is 0.
+ */
+ set_cpu_ack_width(0);
+
enable_cpu_power_partitions();
mainboard_configure_pmc();
diff --git a/src/soc/nvidia/tegra210/include/soc/clk_rst.h b/src/soc/nvidia/tegra210/include/soc/clk_rst.h
index 817a041..87790d5 100644
--- a/src/soc/nvidia/tegra210/include/soc/clk_rst.h
+++ b/src/soc/nvidia/tegra210/include/soc/clk_rst.h
@@ -534,6 +534,9 @@ enum {
#define PCLK_DIVISOR_SHIFT 0
#define PCLK_DIVISOR_MASK (3 << AHB_RATE_SHIFT)
+/* CPU_SOFTRST_CTRL2_0 0x388 */
+#define CAR2PMC_CPU_ACK_WIDTH_MASK 0xfff
+
/* CRC_CLK_SOURCE_MSELECT_0 0x3b4 */
#define MSELECT_CLK_SRC_PLLP_OUT0 (0 << 29)
More information about the coreboot-gerrit
mailing list