Thanks Andy,
This is real good finding
Amol
----- Original Message ----
From: Andy Ngo <[EMAIL PROTECTED]>
To: Amol Lad <[EMAIL PROTECTED]>; Kevin Hilman <[EMAIL PROTECTED]>;
[email protected]
Sent: Friday, March 23, 2007 3:57:45 AM
Subject: 180Mhz is minimal ARM clock required for USB 2.0
Hi,
I got my answer from TI tech support:
"An ARM clock lower than 180Mhz violates
the minimum clock frequency requirement to the USB PHY.
The VBUS Clock feeding
onto USB Controller on the Switch side must be >= to the xclk, which is
the
necessary 60 Mhz PHY clock, used in our design for High Speed
operation.
At the minimum you would
require the same amount of clock speed, 60 MHz, on the
VBUS side to cope up with
the PHY."
Hence, the USB controller won't work with my 162Mhz ARM version, which
generates a 54Mhz clock (on SYSCLK3) as input to
the USB chip; the minimum is 60Mhz.
Guess, I gotta go bump up that ARM speed a little and tell my hardware engineer
there's no but's about it.
Regards,
Andy
----- Original Message ----
From: Andy Ngo <[EMAIL PROTECTED]>
To: Amol Lad <[EMAIL PROTECTED]>; Kevin Hilman <[EMAIL PROTECTED]>;
[email protected]
Sent: Wednesday, March 21, 2007 1:01:02 PM
Subject: Re: USB port not working in GIT kernel?
Hi Amol, Kevin,
Sorry to keep bothering you guys, but since you guys are Linux experts, I throw
it at
you.
Do you know what I have to change to get the USB host controller to working
correctly again if I lower
the ARM speed (from 297 Mhz to 162 Mhz). I looked at the driver in
drivers/usb/musb and couldn't
anything about clock setting. I see the following code commented out in
drivers/usb/musb/davinci.c
#if 0
/* REVISIT there's something odd about clocking, this
* didn't appear do the job ...
*/
musb->clock = clk_get(pDevice, "usb");
if (IS_ERR(musb->clock))
return PTR_ERR(musb->clock);
status = clk_enable(musb->clock);
if (status < 0)
return -ENODEV;
#endif
I also noticed the clock table "davinci_clks" in arch/arm/mach-davinci/clock.c
has no reference to the USB
host controller. I noticed input clock to the USB controller and PHY chip is
SYSCLK5, which is based on the
system clock. So if I changed the system clock, I must somehow adjust the
divider (PLLDIV5).
Regards,
Andy
----- Original Message ----
From: Andy Ngo <[EMAIL PROTECTED]>
To: Amol Lad <[EMAIL PROTECTED]>; Kevin Hilman <[EMAIL PROTECTED]>;
[email protected]
Sent: Tuesday, March 20, 2007 3:29:13 PM
Subject: Re: USB port not working in GIT kernel?
Hi guys,
I figured out my problem. I just reflashed the latest u-boot (dvevm 1.10.01)
and now USB is working. I just realized that last month, I
modified u-boot to force the ARM to run at 162Mhz instead of the stock 297Mhz;
our hardware engineer wanted to run at a lower
speed to conserve power; we will be running at that speed in our final custom
board. Well, everything runs fine on my
162Mhz-version of u-boot except the USB host controller. I looked at
TMS320DM644x DMSoC Arm Subsystem Reference Guide
(sprue14a) and it seems like SYSCLK5 is an input to the USB PHY chip. Since I
reduced the ARM clock down to 162Mhz, I
think I may need to change the divider value for PLLDIV5 such that value in
SYSCLK5 is the
same as before when it was working.
Does anyone know which USB file (drivers/usb/musb ?) I need to update to
reflect my lower ARM speed?
On a related note, is it possible to have the ARM boot up at the highest speed
(297 Mhz), then go back to a lower speed (like 162Mhz)
after the kernel has come up? I'm a kernel newbie so I'm not familiar with the
kernel time management (kernel calculate jiffies based
on system clock?).
Amol/Kevin, thanks for all your help and sorry it took me this long to realize
it was what I did to u-boot that caused the USB problems.
Regards,
Andy
____________________________________________________________________________________
Don't get soaked. Take a quick peek at the forecast
with the Yahoo! Search weather shortcut.
http://tools.search.yahoo.com/shortcuts/#loc_weather_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source