Kevin, I have now added clk_enable(), clk_disable to my driver. But I see the following logs randomly when the board is powered. I have CONFIG_DAVINCI_RESET_CLOCKS-y set. So this should get displayed always, right ?
Clocks: disable unused uart1 Clocks: disable unused uart2 Clocks: disable unused ide Clocks: disable unused asp0 Clocks: disable unused mmcsd Clocks: disable unused spi Clocks: disable unused usb Clocks: disable unused vlynq Clocks: disable unused pwm0 Clocks: disable unused pwm1 Clocks: disable unused pwm2 Clocks: disable unused timer1 Murali Karicheri Software Design Engineer Texas Instruments Inc. Germantown, MD 20874 Phone : 301-515-3736 email: [email protected] >-----Original Message----- >From: Kevin Hilman [mailto:[email protected]] >Sent: Wednesday, May 13, 2009 6:17 PM >To: Karicheri, Muralidharan >Cc: [email protected] >Subject: Re: DM355 - No vpss register write happens in the latest kernel > >"Karicheri, Muralidharan" <[email protected]> writes: > >> We had figured that was the issue with the clock being disabled. >> >> I see vpss master, vpss slave and vpss dac clocks defined. Now vpss >> clock is required for all the vpss modules (capture, display, h3a >> etc). In VPSS we have registers for enabling clocks for each module, >> but the above clock is applicable for more than one driver. How does >> driver request clock in this case? > >Each driver that uses the clock should do a clk_get() and >clk_enable(). The clock framework will track the usecounts and >disable the hw clock when the usecount goes to zero, then re-enable >the clock on the next clk_enable(). > >> I believe this should be enabled from the evm board setup. Right now >> I have set the flag to ALWAYS_ENABLED. Hope this is fine. > >No. > >You enable the clock by calling clk_get()/clk_enable(). > >Kevin > >> Murali Karicheri >> Software Design Engineer >> Texas Instruments Inc. >> Germantown, MD 20874 >> Phone : 301-515-3736 >> email: [email protected] >> >>>-----Original Message----- >>>From: Kevin Hilman [mailto:[email protected]] >>>Sent: Wednesday, May 13, 2009 5:35 PM >>>To: Karicheri, Muralidharan >>>Cc: [email protected] >>>Subject: Re: DM355 - No vpss register write happens in the latest kernel >>> >>>"Karicheri, Muralidharan" <[email protected]> writes: >>> >>> >>>> I have ported the video driver to the latest davinci git kernel and >>>> I have built a single uImage for DM355 and DM6446. The driver works >>>> fine on DM6446, but doesn't work on DM355. When I dumped the >>>> registers, none of them were being written. I tried writing manually >>>> using writel application and still I can't see the values in the >>>> registers. The architecture code has changed recently quite a lot. I >>>> have a version of the kernel that downloaded in March and this issue >>>> was not seen there. This is blocking my driver work and any help >>>> will be appreciated. >>> >>>My first guess would be that your driver doesn't enable all the >>>relevant clocks for VPSS? >>> >>>You could try without the CONFIG_DAVINCI_RESET_CLOCKS=y in >>>the config. >>> >>>If it works with that option disabled, then your driver has a bug in >>>that it is not properly requesting clocks. >>> >>>Kevin >>> _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
