Module Name: src
Committed By: jmcneill
Date: Sun Jun 9 16:14:53 UTC 2019
Modified Files:
src/sys/arch/arm/rockchip: rk3399_cru.c
Log Message:
Init bpll in a way that brings the big cluster's PLL out of "slow mode".
While here, fix a few typos in the cpul's rate table.
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/rockchip/rk3399_cru.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/rockchip/rk3399_cru.c
diff -u src/sys/arch/arm/rockchip/rk3399_cru.c:1.7 src/sys/arch/arm/rockchip/rk3399_cru.c:1.8
--- src/sys/arch/arm/rockchip/rk3399_cru.c:1.7 Fri Apr 26 08:28:11 2019
+++ src/sys/arch/arm/rockchip/rk3399_cru.c Sun Jun 9 16:14:53 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: rk3399_cru.c,v 1.7 2019/04/26 08:28:11 mrg Exp $ */
+/* $NetBSD: rk3399_cru.c,v 1.8 2019/06/09 16:14:53 jmcneill Exp $ */
/*-
* Copyright (c) 2018 Jared McNeill <[email protected]>
@@ -28,7 +28,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: rk3399_cru.c,v 1.7 2019/04/26 08:28:11 mrg Exp $");
+__KERNEL_RCSID(1, "$NetBSD: rk3399_cru.c,v 1.8 2019/06/09 16:14:53 jmcneill Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -165,11 +165,11 @@ static const struct rk_cru_cpu_rate armc
RK3399_CPUL_RATE(1488000000, 1, 6, 6),
RK3399_CPUL_RATE(1416000000, 1, 6, 6),
RK3399_CPUL_RATE(1200000000, 1, 5, 5),
- RK3399_CPUL_RATE(1008000000, 1, 4, 4),
- RK3399_CPUL_RATE( 816000000, 1, 3, 3),
+ RK3399_CPUL_RATE(1008000000, 1, 5, 5),
+ RK3399_CPUL_RATE( 816000000, 1, 4, 4),
RK3399_CPUL_RATE( 696000000, 1, 3, 3),
- RK3399_CPUL_RATE( 600000000, 1, 2, 2),
- RK3399_CPUL_RATE( 408000000, 1, 1, 1),
+ RK3399_CPUL_RATE( 600000000, 1, 3, 3),
+ RK3399_CPUL_RATE( 408000000, 1, 2, 2),
RK3399_CPUL_RATE( 312000000, 1, 1, 1),
RK3399_CPUL_RATE( 216000000, 1, 1, 1),
RK3399_CPUL_RATE( 96000000, 1, 1, 1),
@@ -798,6 +798,18 @@ static struct rk_cru_clk rk3399_cru_clks
RK_GATE(RK3399_PCLK_TSADC, "pclk_tsadc", "pclk_perilp1", CLKGATE_CON(22), 13),
};
+static void
+rk3399_cru_init(struct rk_cru_softc *sc)
+{
+ struct rk_cru_clk *clk;
+
+ /*
+ * Force an update of BPLL to bring it out of slow mode.
+ */
+ clk = rk_cru_clock_find(sc, "armclkb");
+ clk_set_rate(&clk->base, clk_get_rate(&clk->base));
+}
+
static int
rk3399_cru_match(device_t parent, cfdata_t cf, void *aux)
{
@@ -827,5 +839,7 @@ rk3399_cru_attach(device_t parent, devic
aprint_naive("\n");
aprint_normal(": RK3399 CRU\n");
+ rk3399_cru_init(sc);
+
rk_cru_print(sc);
}