aboutsummaryrefslogtreecommitdiff
path: root/src/soc/rockchip/rk3399/soc.c
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2016-08-29 15:07:58 -0700
committerPatrick Georgi <pgeorgi@google.com>2016-10-06 21:48:50 +0200
commit7f965891b6d95bf3c347d955502505597d45a7d7 (patch)
tree20395b7c9b7548fd39d8da8a354614a7d341c5ef /src/soc/rockchip/rk3399/soc.c
parenta39a5b60b4a11bb2686166f58987158b980c7f21 (diff)
rockchip/rk3399: Move big CPU cluster initialization into ramstage
This patch moves the big CPU cluster initialization on the RK3399 from the clock init bootblock function into ramstage. We're only really doing this to put the cluster into a sane state for the OS, we're never actually taking it out of reset ourselves... so there's no reason to do this so early. Also cleaned up the interface for rkclk_configure_cpu() a bit to make it more readable. BRANCH=None BUG=chrome-os-partner:54906 TEST=Booted Kevin. Change-Id: I568b891da0abb404760d120cef847737c1f9e3ec Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: bd7aa7ec3e6d211b17ed61419f80a818cee78919 Original-Change-Id: Ic3d01a51531683b53e17addf1942441663a8ea40 Original-Signed-off-by: Julius Werner <jwerner@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/377541 Original-Reviewed-by: Douglas Anderson <dianders@chromium.org> Reviewed-on: https://review.coreboot.org/16698 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src/soc/rockchip/rk3399/soc.c')
-rw-r--r--src/soc/rockchip/rk3399/soc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/soc/rockchip/rk3399/soc.c b/src/soc/rockchip/rk3399/soc.c
index 1adf3f6959..12c757f1ea 100644
--- a/src/soc/rockchip/rk3399/soc.c
+++ b/src/soc/rockchip/rk3399/soc.c
@@ -18,6 +18,7 @@
#include <cpu/cpu.h>
#include <device/device.h>
#include <soc/addressmap.h>
+#include <soc/clock.h>
#include <soc/display.h>
#include <stddef.h>
#include <stdlib.h>
@@ -42,6 +43,9 @@ static void soc_init(device_t dev)
_framebuffer_size);
else
printk(BIOS_INFO, "Display initialization disabled.\n");
+
+ /* We don't need big CPUs, but bring them up as a courtesy to Linux. */
+ rkclk_configure_cpu(APLL_600_MHZ, CPU_CLUSTER_BIG);
}
static struct device_operations soc_ops = {