summaryrefslogtreecommitdiffstats
path: root/sys/arm/allwinner/a10_dmac.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arm/allwinner/a10_dmac.c')
-rw-r--r--sys/arm/allwinner/a10_dmac.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/sys/arm/allwinner/a10_dmac.c b/sys/arm/allwinner/a10_dmac.c
index 65fa352..fd5aaa6 100644
--- a/sys/arm/allwinner/a10_dmac.c
+++ b/sys/arm/allwinner/a10_dmac.c
@@ -46,7 +46,7 @@ __FBSDID("$FreeBSD$");
#include <dev/ofw/ofw_bus_subr.h>
#include <arm/allwinner/a10_dmac.h>
-#include <arm/allwinner/a10_clk.h>
+#include <dev/extres/clk/clk.h>
#include "sunxi_dma_if.h"
@@ -111,6 +111,7 @@ a10dmac_attach(device_t dev)
{
struct a10dmac_softc *sc;
unsigned int index;
+ clk_t clk;
int error;
sc = device_get_softc(dev);
@@ -123,7 +124,16 @@ a10dmac_attach(device_t dev)
mtx_init(&sc->sc_mtx, "a10 dmac", NULL, MTX_SPIN);
/* Activate DMA controller clock */
- a10_clk_dmac_activate();
+ error = clk_get_by_ofw_index(dev, 0, &clk);
+ if (error != 0) {
+ device_printf(dev, "cannot get clock\n");
+ return (error);
+ }
+ error = clk_enable(clk);
+ if (error != 0) {
+ device_printf(dev, "cannot enable clock\n");
+ return (error);
+ }
/* Disable all interrupts and clear pending status */
DMA_WRITE(sc, AWIN_DMA_IRQ_EN_REG, 0);
OpenPOWER on IntegriCloud