Re: Linux 3.0 DSS support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/03/2011 05:46 AM, Tomi Valkeinen wrote:
> On Thu, 2011-11-03 at 10:35 +0100, Koen Kooi wrote:
>> Op 25 okt. 2011, om 09:37 heeft Tomi Valkeinen het volgende geschreven:
>>
>>> Hi,
>>>
>>> On Mon, 2011-10-24 at 13:55 -0400, Peter Barada wrote:
>>>> In the above case (and my case where I'm looking for a 9Mhz pixel 
>>>> clock), fck_div is calculated at higher than 16 - and the video
>>>> output 
>>>> is wrong (i.e. no pixel clock and hsync runs at 32x the requested
>>>> rate). 
>>> DM37x TRM says:
>>>
>>> "DSS1_ALWON_FCLK: Issued from DPLL4. Its frequency can be a division by
>>> 1 to 16 of the frequency of the DPLL4 synthesized clock."
>>>
>>> I take it that DM37x is detected as cpu_is_3630()?
>>>
>>> The DSS driver currently handles only OMAPs, so for other SoCs the
>>> driver may contain lots of bugs like this.
>> dm3730 is just a different marketing name for omap3630, it should not have any functional changes.
> According to the TRM and experiments by Peter, it does.
Tomi,

I read Koen's comment to mean that functionally a dm3730 is the same as
a omap3630.
What I'm seeing is that the 3630 DSS hardware is more equivalent to the
OMAP3530 DSS hardware in respect to the maximum DSS F-clock divisor.

The code in the DSS clock calculation has multiple instances of:

              if (cpu_is_omap3630() || cpu_is_omap44xx())
<http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=drivers/video/omap2/dss/dss.c;h=3e09726d32c7ae1f5a86e51830191a09d7574955;hb=43672a0784707d795556b1f93925da8b8e797d03#l554>                      
fck_div_max = 32;

I think this should be changed to:

              if (cpu_is_omap44xx())
<http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=drivers/video/omap2/dss/dss.c;h=3e09726d32c7ae1f5a86e51830191a09d7574955;hb=43672a0784707d795556b1f93925da8b8e797d03#l554>                      
fck_div_max = 32;

as the code works as-is on OMAP35xx hardware.  But as I only have a
single 37xx/36xx configuration to test I don't know if other 36xx/37xx
parts allow fck_div_max to be larger than 16...

<http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=drivers/video/omap2/dss/dss.c;h=3e09726d32c7ae1f5a86e51830191a09d7574955;hb=43672a0784707d795556b1f93925da8b8e797d03#l555>


-- 
Peter Barada
peter.barada@xxxxxxxxx

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux