Dear Ben,

Thanks a lots!  :)
You really pointed to my problem.
You saved my lots of time to figure it out.

But about the s3c2410_usb_set_power() function, ...

static void s3c2410_usb_set_power(struct s3c2410_hcd_info *info,
                                 int port, int to)
{
       if (info == NULL)
               return;

       if (info->power_control != NULL) {
               info->port[port-1].power = to;
                         ^^^^^^^^ doesn't it mean, it's 1 based?
               (info->power_control)(port, to);
                                    ^^^^^^  1 based or 0 based?
       }
}


Thanks again!
Rudy  7/29

Ben Dooks wrote:
On Thu, Jul 28, 2005 at 05:53:50PM +0800, [EMAIL PROTECTED] wrote:

Dear all,

I'm using Ben's patch to S3C24XX USB host,
http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg36593.html.

The port 1 of root hub works perfectly,
but the port 2 is not responding to the device plugging.

After inspecting on the patch, I have done some changes, but none seems works.

First, I found an error at usb_hcd_s3c2410_probe(), where...
      s3c2410_usb_set_power(dev->dev.platform_data, 0, 1);
      s3c2410_usb_set_power(dev->dev.platform_data, 1, 1);
aren't these...?
      s3c2410_usb_set_power(dev->dev.platform_data, 1, 1);
      s3c2410_usb_set_power(dev->dev.platform_data, 2, 1);


Nope, ports are numbered 0 and 1
I also had my mach-smdk2410.c like this, ...
static struct s3c2410_hcd_info smdk2410_usbcfg = {
   .port[0] = {
       .flags = S3C_HCDFLG_USED
   },
   .port[1] = {
       .flags = S3C_HCDFLG_USED
   },
};


Not needed, the SMDK2410 has no usb port-power control or
over-current protection.
But none of these changes makes my port 2 working,
any idea?


The second usb port pins are software switchable between the
HOST and DEVICE controller. Does the bootloader leave the second
port disabled? Also, IIRC, the SMDK2410 has a hardware link
setting to change this as well.

The driver currently assumes that the machine code has set the
correct bit-settings in S3C2410_MISCCR, which the current
mach-smdk2410.c does not touch.

you may want to do the following:

s3c2410_modify_misccr(S3C2410_MISCCR_USBHOST, S3C2410_MISCCR_USBHOST);


 Thanks in advanced!  :)

Rudy  7/28





-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO September
19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to