* Reset unused clocks during boot causing problem on 5912 OSK @ 2008-09-03 14:02 Arun KS 2008-09-03 14:09 ` Felipe Balbi 2008-09-03 19:00 ` Russell King - ARM Linux 0 siblings, 2 replies; 6+ messages in thread From: Arun KS @ 2008-09-03 14:02 UTC (permalink / raw) To: linux-omap 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. Best Regards, Arun KS ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Reset unused clocks during boot causing problem on 5912 OSK 2008-09-03 14:02 Reset unused clocks during boot causing problem on 5912 OSK Arun KS @ 2008-09-03 14:09 ` Felipe Balbi 2008-09-03 17:27 ` Arun KS 2008-09-03 19:00 ` Russell King - ARM Linux 1 sibling, 1 reply; 6+ messages in thread From: Felipe Balbi @ 2008-09-03 14:09 UTC (permalink / raw) To: ext Arun KS; +Cc: linux-omap 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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Reset unused clocks during boot causing problem on 5912 OSK 2008-09-03 14:09 ` Felipe Balbi @ 2008-09-03 17:27 ` Arun KS 2008-09-03 17:35 ` Yuri Jaeger Monti 0 siblings, 1 reply; 6+ messages in thread From: Arun KS @ 2008-09-03 17:27 UTC (permalink / raw) To: felipe.balbi; +Cc: linux-omap 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 <felipe.balbi@nokia.com> 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 > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Reset unused clocks during boot causing problem on 5912 OSK 2008-09-03 17:27 ` Arun KS @ 2008-09-03 17:35 ` Yuri Jaeger Monti 0 siblings, 0 replies; 6+ messages in thread From: Yuri Jaeger Monti @ 2008-09-03 17:35 UTC (permalink / raw) To: Arun KS; +Cc: linux-omap My system hangs too when loading the old AIC23 codec module on the OSK5912, don' t know why. --- Yuri Jaeger Monti On Wed, Sep 3, 2008 at 2:27 PM, Arun KS <getarunks@gmail.com> wrote: > > 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 <felipe.balbi@nokia.com> 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 majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Reset unused clocks during boot causing problem on 5912 OSK 2008-09-03 14:02 Reset unused clocks during boot causing problem on 5912 OSK Arun KS 2008-09-03 14:09 ` Felipe Balbi @ 2008-09-03 19:00 ` Russell King - ARM Linux 2008-09-04 15:29 ` Arun KS 1 sibling, 1 reply; 6+ messages in thread From: Russell King - ARM Linux @ 2008-09-03 19:00 UTC (permalink / raw) To: Arun KS; +Cc: linux-omap On Wed, Sep 03, 2008 at 07:32:51PM +0530, Arun KS wrote: > I am trying to write an ASOC driver for tlv320aic23 on 5912osk. 5912osk is OMAP1, yes ? Uses arch/arm/mach-omap1/mcbsp.c ? Which is the file I pointed out passing physical addresses for mcbsp1 and mcbsp3 instead of virtual addresses, resulting in code hitting something else rather than the right registers ? ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Reset unused clocks during boot causing problem on 5912 OSK 2008-09-03 19:00 ` Russell King - ARM Linux @ 2008-09-04 15:29 ` Arun KS 0 siblings, 0 replies; 6+ messages in thread From: Arun KS @ 2008-09-04 15:29 UTC (permalink / raw) To: Russell King - ARM Linux; +Cc: linux-omap On 9/4/08, Russell King - ARM Linux <linux@arm.linux.org.uk> wrote: > On Wed, Sep 03, 2008 at 07:32:51PM +0530, Arun KS wrote: > > I am trying to write an ASOC driver for tlv320aic23 on 5912osk. > > 5912osk is OMAP1, yes ? Uses arch/arm/mach-omap1/mcbsp.c ? > > Which is the file I pointed out passing physical addresses for mcbsp1 > and mcbsp3 instead of virtual addresses, resulting in code hitting > something else rather than the right registers ? > But when i am requesting the mcbsp(omap_mcbsp_request(0)) in my init function, I am able to get the requested mcbsp. What could be the reason for that? Arun ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2008-09-04 15:29 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-09-03 14:02 Reset unused clocks during boot causing problem on 5912 OSK Arun KS 2008-09-03 14:09 ` Felipe Balbi 2008-09-03 17:27 ` Arun KS 2008-09-03 17:35 ` Yuri Jaeger Monti 2008-09-03 19:00 ` Russell King - ARM Linux 2008-09-04 15:29 ` Arun KS
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox