diff options
author | cognet <cognet@FreeBSD.org> | 2013-08-05 20:14:56 +0000 |
---|---|---|
committer | cognet <cognet@FreeBSD.org> | 2013-08-05 20:14:56 +0000 |
commit | 6c012d075af5c3224363268b835b6f336bc9b41b (patch) | |
tree | 0ea908759e8ddf5541e236b8813197c5681c0d36 /sys/arm/ti | |
parent | 13c1bcf2c1d5fbdca99cdddec726f822b68dddbc (diff) | |
download | FreeBSD-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.c | 6 |
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); } |