S3C6410 board (SmartQ 7) USB host issues
Ben Dooks
ben-linux at fluff.org
Thu Oct 29 20:36:01 EDT 2009
On Fri, Oct 30, 2009 at 01:24:32AM +0100, Maurus Cuelenaere wrote:
> Hi,
>
> I'm working on getting mainline Linux working on the SmartQ 7, a Samsung
> S3C6410 board.
>
> I'm having issues getting USB host to work, when I try to attach a
> device (Logitech mouse in this case) to it I get "device descriptor
> read/64, error -62" errors. Then it gets a new address assigned and gets
> back to the same error (this loops around 4 times, then Linux seems to
> give up).
That could be due to a number of things, such as:
1) Unstable clock (need to verify the clock below is happening)
2) Interface problems - does the board have the correct pull ups
3) Does the interface have power control that needs to be set?
> This board doesn't have a separate 48M clock source, so I'm currently
> changing the USB host clock source to EPLL in my board config like this:
What is the current EPLL rate?
> struct clk * usb_clock, * mout_epll;
>
> usb_clock = clk_get(NULL, "usb-bus-host");
> if(usb_clock == NULL) {
> pr_err("%s: failed to get usb-bus-host clock\n", __func__);
> return -ENXIO;
> }
> mout_epll = clk_get(NULL, "mout_epll");
> if(mout_epll == NULL) {
> pr_err("%s: failed to get mout_epll clock\n", __func__);
> clk_put(usb_clock);
> return -ENXIO;
> }
>
> /* setup clock */
> clk_set_parent(usb_clock, mout_epll);
> clk_set_rate(usb_clock, 48000000);
does clk_get_rate() here show 48MHz, or something 'close' ?
currently we do not have support for setting the EPLL, so you
may be getting a best-effort value from the divider chain.
--
Ben
Q: What's a light-year?
A: One-third less calories than a regular year.
More information about the linux-arm-kernel
mailing list