Hi Balbi,
That clk_enable() is for sys_clkout, which is the MCLK for the CODEC.
I am following n810.c file itself.
But I m talking about omap_mcbsp_request(0), which will only be called when
we do an aplay, by the platform driver of the omap(sound/soc/omap/ompa-mcbsp.c).
But before this the unused clocks are switched off by clock.c in
arch/arm/mach-omap1/clocks.c.
And when i call the omap_mcbsp_request(), the entire system hangs...
Arun
On Wed, Sep 3, 2008 at 7:39 PM, Felipe Balbi <[EMAIL PROTECTED]> wrote:
> On Wed, Sep 03, 2008 at 07:32:51PM +0530, ext Arun KS wrote:
>> Hi all,
>>
>> I am trying to write an ASOC driver for tlv320aic23 on 5912osk.
>> When i do an aplay, the system is hanging.
>> Later i found that it is hanging when mcbsp1 is requested in funcion
>> omap_mcbsp_dai_startup in file sound/soc/omap/omap-mcbsp.c
>>
>> The reason is that the unused clocks are switched off during booting.
>>
>> So i decided to disable the option (reset unused clocks during boot) from
>> system type -> TI OMAP Implementations in menuconfig.
>>
>> But still its not working.
>>
>> When i give omap_mcbsp_request(0) in init function of my machine
>> driver, i m able
>> to get the requested mcbsp.
>
> Take a look at sound/soc/omap/n810.c, under n810_startup() it calls
> clk_enable().
>
> Maybe you should do the same. But since tlv320aic23 is used by more than
> one machine you could make the clk_enable be board specific.
>
> But one step at a time, take a look here:
>
> 71 static int n810_startup(struct snd_pcm_substream *substream)
> 72 {
> 73 struct snd_soc_pcm_runtime *rtd = substream->private_data;
> 74 struct snd_soc_codec *codec = rtd->socdev->codec;
> 75
> 76 n810_ext_control(codec);
> 77 return clk_enable(sys_clkout2);
> 78 }
>
> --
> balbi
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html