USB: s3c: Enable soft disconnect during initialization
authorThomas Abraham <thomas.ab@samsung.com>
Mon, 24 May 2010 08:48:56 +0000 (17:48 +0900)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 4 Jun 2010 20:16:19 +0000 (13:16 -0700)
Enable soft disconnect bit the OTG core during initialization. Without this,
the host sees that a gadget is connected and tries to enumerate. The
soft disconnect should be enabled until the USB gadget driver is
registered with this otg driver.

Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/gadget/s3c-hsotg.c

index 1f73b485732d1b74028064e37193ce6f56021718..a6d725dd73353308f68870af5c9d849460a2407c 100644 (file)
@@ -2730,6 +2730,9 @@ static void s3c_hsotg_init(struct s3c_hsotg *hsotg)
 
        writel(0, hsotg->regs + S3C_DAINTMSK);
 
+       /* Be in disconnected state until gadget is registered */
+       __orr32(hsotg->regs + S3C_DCTL, S3C_DCTL_SftDiscon);
+
        if (0) {
                /* post global nak until we're ready */
                writel(S3C_DCTL_SGNPInNAK | S3C_DCTL_SGOUTNak,