diff --git a/arch/arm/boards/sysmobts/board.c b/arch/arm/boards/sysmobts/board.c index 0a769a48d..2f67f0007 100644 --- a/arch/arm/boards/sysmobts/board.c +++ b/arch/arm/boards/sysmobts/board.c @@ -27,6 +27,7 @@ #include #include +#include #include #define PINMUX0 0x01c40000 @@ -190,6 +191,9 @@ coredevice_initcall(sysmobts_coredevices_init); static int sysmobts_devices_init(void) { + struct clk *dsp_clk; + int ret; + /* Configure AEMIF AWCCR */ writel(DAVINCI_AWCCR_VAL, DAVINCI_AWCCR); @@ -211,6 +215,19 @@ static int sysmobts_devices_init(void) armlinux_set_architecture(MACH_TYPE_SYSMOBTS_V2); + dsp_clk = clk_get(NULL, "dsp"); + if (IS_ERR(dsp_clk)) { + ret = PTR_ERR(dsp_clk); + pr_err("unable to get DSP clock, err %d\n", ret); + return 1; + } + + ret = clk_enable(dsp_clk); + if (ret < 0) { + pr_err("unable to enable DSP clock, err %d\n", ret); + return 1; + } + return 0; } diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c index 9d8e23e80..3ef1222f3 100644 --- a/arch/arm/mach-davinci/dm644x.c +++ b/arch/arm/mach-davinci/dm644x.c @@ -122,7 +122,6 @@ static struct clk dsp_clk = { .parent = &pll1_sysclk1, .lpsc = DAVINCI_LPSC_GEM, .domain = DAVINCI_GPSC_DSPDOMAIN, - .usecount = 1, /* REVISIT how to disable? */ }; static struct clk arm_clk = {