Re: DM3730 vs 3630 DSS Cock dividers

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

 



* Tomi Valkeinen <tomi.valkeinen@xxxxxx> [151012 11:08]:
> 
> On 12.10.2015 19:00, Tony Lindgren wrote:
> >* Adam Ford <aford173@xxxxxxxxx> [151010 13:29]:
> >>Tomi and Tony,
> >>
> >>I am working on the LogicPD DM3730 Torpedo module.  If I try to use the
> >>DSS, I get the same errors as mentioned in these previous messages found
> >>here:
> >>
> >>http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/255103.html
> >>
> >>The patch is basicaly:
> >>
> >>>* >>  drivers/video/fbdev/omap2/dss/dss.c | 5 +++--
> >>*>* >>  1 file changed, 3 insertions(+), 2 deletions(-)
> >>*>* >>
> >>*>* >> diff --git a/drivers/video/fbdev/omap2/dss/dss.c
> >>b/drivers/video/fbdev/omap2/dss/dss.c
> >>*>* >> index d55266c..ad6561f 100644
> >>*>* >> --- a/drivers/video/fbdev/omap2/dss/dss.c
> >>*>* >> +++ b/drivers/video/fbdev/omap2/dss/dss.c
> >>*>* >> @@ -707,9 +707,10 @@ static const struct dss_features
> >>omap34xx_dss_feats __initconst = {
> >>*>* >>       .dpi_select_source      =       &dss_dpi_select_source_omap2_omap3,
> >>*>* >>  };
> >>*>* >>
> >>*>* >> +/* Supposedly 3630 can use div 32 mult 2, but that needs to be
> >>rechecked */
> >>*>* >>  static const struct dss_features omap3630_dss_feats __initconst = {
> >>*>* >> -     .fck_div_max            =       32,
> >>*>* >> -     .dss_fck_multiplier     =       1,
> >>*>* >> +     .fck_div_max            =       16,
> >>*>* >> +     .dss_fck_multiplier     =       2,
> >>*>* >
> >>*>* > These values tell about the clock hardware, they are not settings that
> >>*>* > can be changed to change the clock. OMAP3630 has a fixed x2 multiplier
> >>*>* > and a divider with maximum value of 16.
> >>*>* >
> >>*>* >  Tomi
> >>*>* >
> >>*>* >*
> >>
> >>
> >>I don't see this mainstream yet, but the patch is from a while ago.
> >>Do you guys know if this will make it into the kernel?  Without it, I
> >>cannot the DM3730 to DSS to operate correctly.
> >
> >AFAIK 37xx is same as 3630 and does not work properly without the patch
> >above as we've seen.
>
> Well, the patch is definitely wrong for 3630, as 3630 has divider range from
> 1 to 32, as seen from the CM_CLKSEL_DSS register.

Yes something is wrong somewhere for sure.. What if it's .dss_fck_multiplier = 2
and .fck_div_max = 32?

> I can't find the fixed x2 multiplier from the TRM, but looking at the .dts
> files, 3630 DSS gets the clock from dpll4_m4x2_ck, so maybe it is there. Or
> maybe the clocks in the .dts files are wrong, and the multplier in dss.c is
> right.

Yes grepping for it we have it both for legacy and dts clocks:

$ git grep dpll4_m4x2_ck
Documentation/devicetree/bindings/clock/ti/gate.txt:            clocks = <&dpll4_m4x2_ck>;
arch/arm/boot/dts/omap3430es1-clocks.dtsi:              clocks = <&dpll4_m4x2_ck>;
arch/arm/boot/dts/omap36xx-am35xx-omap3430es2plus-clocks.dtsi:          clocks = <&dpll4_m4x2_ck>;
arch/arm/boot/dts/omap3xxx-clocks.dtsi: dpll4_m4x2_ck: dpll4_m4x2_ck {
drivers/clk/ti/clk-3xxx-legacy.c:static struct ti_clk_gate dpll4_m4x2_ck_data = {
drivers/clk/ti/clk-3xxx-legacy.c:static struct ti_clk dpll4_m4x2_ck = {
drivers/clk/ti/clk-3xxx-legacy.c:       .name = "dpll4_m4x2_ck",
drivers/clk/ti/clk-3xxx-legacy.c:       .data = &dpll4_m4x2_ck_data,
drivers/clk/ti/clk-3xxx-legacy.c:       .parent = "dpll4_m4x2_ck",
drivers/clk/ti/clk-3xxx-legacy.c:       .parent = "dpll4_m4x2_ck",
drivers/clk/ti/clk-3xxx-legacy.c:       CLK(NULL, "dpll4_m4x2_ck", &dpll4_m4x2_ck),
drivers/clk/ti/clk-3xxx.c:      DT_CLK(NULL, "dpll4_m4x2_ck", "dpll4_m4x2_ck"),

> And looking at the TRM, "3.5.3.3.4 DPLL Clock Summary" hints strongly that
> there is no x2 multiplier there, so it might be that the dts clock files are
> not right.

Or maybe the TRM was copied from the 34xx and never updated?

Tero, any ideas?

> Unfortunately I have no working omap3 devices to test this =(.

Should not cost you more than few tens of whatever units to get one :)

Anybody have a spare 37xx device with an LCD to donate for Tomi?

Regards,

Tony
--
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