[PATCH 4/5 V2] ARM: tegra: paz00: add clocks requiredforusboperation

Marc Dietich marvin24 at gmx.de
Wed Aug 10 06:50:47 EDT 2011


> > Marc Dietrich wrote at Tuesday, August 09, 2011 1:26 PM:
> > > On Tuesday 09 August 2011 20:35:45 you wrote:
> > > > [...]
> > > > Do you need the pll_p_out4 entry? What's that driving? Check in
> > > > /sys/kernel/debug/clock/clock_tree (/sys/kernel/debug is debugfs).
> > > 
> > > I think it is only required to setup the correct (non-standard?)
> > > frequency. Seems all other boards use 108 MHz which cause one of the
> > > ports to fail. Don't ask me for details ...
> > 
> > ...
> > 
> > > root at ac100:~# cat /sys/kernel/debug/clock/clock_tree
> > > 
> > >    clock                          state  ref div      rate
> > > 
> > > --------------------------------------------------------------
> > > 
> > >    clk_m                          on     9            12000000
> > 
> > ...
> > 
> > >       pll_p                       on     10  x18      216000000
> > 
> > ...
> > 
> > >          pll_p_out4               on     3   9        24000000
> > >          
> > >             sclk                  on     2            24000000
> > >             
> > >                avp.sclk           off    0            24000000
> > >                cop                on     1            24000000
> > >                hclk               on     2   1        24000000
> > >                
> > >                   pclk            on     2   2        12000000
> > >                   
> > >                      apbdma       on     1   1        12000000
> > 
> > Hmm. That's pretty odd.
> > 
> > With the standard kernel the device ships with, what does the clock tree
> > under pll_p_out4 look like? It'd be very interesting to compare that. If
> > that setup is the same as what this patch sets up, the patch seems fine.
> 
> unfortunately, there is no such think in .32 kernel (the kernel deliverd
> with the device), and I don't think I can port it over.
> 
> > As far as I know all the clocks there are both unrelated to USB, and
> > internal to the device, so the board shouldn't have any effect. In
> > particular, avp.sclk/cop are for the internal media CPU/DSP, hclk/pclk
> > are the internal AHB/APB bus clocks, and apbdma is for an internal DMA
> > engine, currently only used for audio in the mainline kernel at least.
> 
> Does this mean that the internal busses you mentioned are also running at
> low speed? Would this be a hugh performance penality?

maybe this is why in the commit mentioned below sclk is bind to pll_c_out1 and 
set to 108 MHz again.

But I cannot see this change in the current seaboard clock table (optimized 
away?). Maybe someone with a seaboard could check this.

Marc


> > I guess I'll ask a few people internally to see if they have a clue why
> > your change might be necessary.
> 
> Also take a look at seaboard, it has the same clock setting and especially
> commit dfb625f934dd40baf29ee6c43e4f130b524411a1 in the chromeos kernel:
> 
> commit dfb625f934dd40baf29ee6c43e4f130b524411a1
> Author: Vincent Palatin <vpalatin at chromium.org>
> Date:   Wed Apr 13 07:26:08 2011 -0400
> 
>     CHROMIUM: tegra: seaboard: fix ULPI transceiver clock
> 
>     On our seaboard-based platforms, pll_p_out4 is used to clock
>     (through DAP_MCLK2) the external USB ULPI transceiver between the USB2
>     port to mini-PCIe modem. And it needs to be set at 24Mhz for the
>     tranceiver to work correctly.
>     Revert the sclk parent to pll_c out1 (as it was before the last change)
>     since it needs to stay clocked at 108MHz.
> 
>     Signed-off-by: Vincent Palatin <vpalatin at chromium.org>
> 
>     BUG=chrome-os-partner:3167
>     TEST=Check that the Gobi modem is appearing in lsusb listing
>     Use the kaen DVT for browsing and suspending
> 
>     Review URL: http://codereview.chromium.org/6825076
> 
>     Change-Id: Ia9b1bbc7860da732fb8edbbcf0bce60e82d6d8ed
> 
> 
> Thanks!
> 
> Marc
> 
> > For reference, here's Harmony on something roughly like linux-next:
> >    clk_m                          on     7            12000000
> > 
> > ...
> > 
> >       pll_p                       on     9   x18      216000000
> > 
> > ...
> > 
> >          pll_p_out4               on     2   2        108000000
> >          
> >             sclk                  on     2            108000000
> >             
> >                avp.sclk           off    0            108000000
> >                cop                on     1            108000000
> >                hclk               on     2   1        108000000
> >                
> >                   pclk            on     2   2        54000000
> >                   
> >                      apbdma       on     1   1        54000000



More information about the linux-arm-kernel mailing list