summaryrefslogtreecommitdiffstats
path: root/sys/arm/ti
diff options
context:
space:
mode:
authorcognet <cognet@FreeBSD.org>2013-08-05 20:14:56 +0000
committercognet <cognet@FreeBSD.org>2013-08-05 20:14:56 +0000
commit6c012d075af5c3224363268b835b6f336bc9b41b (patch)
tree0ea908759e8ddf5541e236b8813197c5681c0d36 /sys/arm/ti
parent13c1bcf2c1d5fbdca99cdddec726f822b68dddbc (diff)
downloadFreeBSD-src-6c012d075af5c3224363268b835b6f336bc9b41b.zip
FreeBSD-src-6c012d075af5c3224363268b835b6f336bc9b41b.tar.gz
Let the platform calculate the timer frequency at runtime, and use that for
the omap4, instead of relying on the (wrong) value provided in the dts.
Diffstat (limited to 'sys/arm/ti')
-rw-r--r--sys/arm/ti/omap4/omap4_prcm_clks.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/arm/ti/omap4/omap4_prcm_clks.c b/sys/arm/ti/omap4/omap4_prcm_clks.c
index 16636d74..8217bf1 100644
--- a/sys/arm/ti/omap4/omap4_prcm_clks.c
+++ b/sys/arm/ti/omap4/omap4_prcm_clks.c
@@ -1384,10 +1384,14 @@ omap4_prcm_probe(device_t dev)
* RETURNS:
* Always returns 0
*/
+
+extern uint32_t platform_arm_tmr_freq;
+
static int
omap4_prcm_attach(device_t dev)
{
struct omap4_prcm_softc *sc = device_get_softc(dev);
+ unsigned int freq;
if (bus_alloc_resources(dev, omap4_scm_res_spec, sc->sc_res)) {
device_printf(dev, "could not allocate resources\n");
@@ -1396,6 +1400,8 @@ omap4_prcm_attach(device_t dev)
omap4_prcm_sc = sc;
ti_cpu_reset = omap4_prcm_reset;
+ omap4_clk_get_arm_fclk_freq(NULL, &freq);
+ platform_arm_tmr_freq = freq / 2;
return (0);
}
OpenPOWER on IntegriCloud