Commit 40749d1d authored by Tony Lindgren's avatar Tony Lindgren

ARM: OMAP: Fix omap1 McBSP without CONFIG_OMAP_DSP

As some of the McBSP clocks come from DSP side, DSP needs
to be initialized even without CONFIG_OMAP_DSP.

This feature got broken with recent DSP updates.
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent a57e230c
...@@ -63,7 +63,7 @@ static inline void omap_init_rtc(void) {} ...@@ -63,7 +63,7 @@ static inline void omap_init_rtc(void) {}
#if defined(CONFIG_OMAP_DSP) #if defined(CONFIG_OMAP_DSP)
#if defined(CONFIG_ARCH_OMAP1510) #if defined(CONFIG_ARCH_OMAP15XX)
# define OMAP1_MBOX_SIZE 0x23 # define OMAP1_MBOX_SIZE 0x23
# define INT_DSP_MAILBOX1 INT_1510_DSP_MAILBOX1 # define INT_DSP_MAILBOX1 INT_1510_DSP_MAILBOX1
#elif defined(CONFIG_ARCH_OMAP16XX) #elif defined(CONFIG_ARCH_OMAP16XX)
......
...@@ -26,4 +26,5 @@ obj-$(CONFIG_OMAP_COMPONENT_VERSION) += component-version.o ...@@ -26,4 +26,5 @@ obj-$(CONFIG_OMAP_COMPONENT_VERSION) += component-version.o
obj-$(CONFIG_OMAP_GPIO_SWITCH) += gpio-switch.o obj-$(CONFIG_OMAP_GPIO_SWITCH) += gpio-switch.o
# DSP subsystem # DSP subsystem
obj-$(CONFIG_OMAP_DSP) += dsp/ mailbox.o obj-y += dsp/
obj-$(CONFIG_OMAP_DSP) += mailbox.o
...@@ -43,6 +43,8 @@ ...@@ -43,6 +43,8 @@
#define dsp_boot_config(mode) writel((mode), DSP_IPI_DSPBOOTCONFIG) #define dsp_boot_config(mode) writel((mode), DSP_IPI_DSPBOOTCONFIG)
#endif #endif
struct omap_dsp *omap_dsp;
#if defined(CONFIG_ARCH_OMAP1) #if defined(CONFIG_ARCH_OMAP1)
struct clk *dsp_ck_handle; struct clk *dsp_ck_handle;
struct clk *api_ck_handle; struct clk *api_ck_handle;
...@@ -371,6 +373,7 @@ static void dsp_cpustat_update(void) ...@@ -371,6 +373,7 @@ static void dsp_cpustat_update(void)
__dsp_core_enable(); __dsp_core_enable();
#endif #endif
cpustat.stat = CPUSTAT_RUN; cpustat.stat = CPUSTAT_RUN;
if (omap_dsp != NULL)
enable_irq(omap_dsp->mmu_irq); enable_irq(omap_dsp->mmu_irq);
} }
return; return;
...@@ -379,6 +382,7 @@ static void dsp_cpustat_update(void) ...@@ -379,6 +382,7 @@ static void dsp_cpustat_update(void)
/* cpustat.req < CPUSTAT_RUN */ /* cpustat.req < CPUSTAT_RUN */
if (cpustat.stat == CPUSTAT_RUN) { if (cpustat.stat == CPUSTAT_RUN) {
if (omap_dsp != NULL)
disable_irq(omap_dsp->mmu_irq); disable_irq(omap_dsp->mmu_irq);
#ifdef CONFIG_ARCH_OMAP1 #ifdef CONFIG_ARCH_OMAP1
clk_disable(api_ck_handle); clk_disable(api_ck_handle);
......
...@@ -40,7 +40,6 @@ MODULE_AUTHOR("Toshihiro Kobayashi <toshihiro.kobayashi@nokia.com>"); ...@@ -40,7 +40,6 @@ MODULE_AUTHOR("Toshihiro Kobayashi <toshihiro.kobayashi@nokia.com>");
MODULE_DESCRIPTION("OMAP DSP driver module"); MODULE_DESCRIPTION("OMAP DSP driver module");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
struct omap_dsp *omap_dsp;
static struct sync_seq *mbseq; static struct sync_seq *mbseq;
static u16 mbseq_expect_tmp; static u16 mbseq_expect_tmp;
static u16 *mbseq_expect = &mbseq_expect_tmp; static u16 *mbseq_expect = &mbseq_expect_tmp;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment