From patchwork Thu Sep 26 01:41:03 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Troy Kisky X-Patchwork-Id: 278063 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 25B222C04D4 for ; Thu, 26 Sep 2013 11:43:41 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 91FBF4A097; Thu, 26 Sep 2013 03:43:18 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id D7dDilSyhd+3; Thu, 26 Sep 2013 03:43:18 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 50F004A0C5; Thu, 26 Sep 2013 03:41:58 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id C60034A090 for ; Thu, 26 Sep 2013 03:41:46 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 45x222i+wnP7 for ; Thu, 26 Sep 2013 03:41:41 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-pb0-f49.google.com (mail-pb0-f49.google.com [209.85.160.49]) by theia.denx.de (Postfix) with ESMTPS id 781034A092 for ; Thu, 26 Sep 2013 03:41:12 +0200 (CEST) Received: by mail-pb0-f49.google.com with SMTP id xb4so426823pbc.36 for ; Wed, 25 Sep 2013 18:41:09 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=y4zmGt+H73xgOJlDMYaMqWiMxHPmmWAb29O2KLvxr9A=; b=YGsde+8zrV7cEdSdp8uARb54fhxiEmWDdVlICzIx6HfH53tgGlpHP3pyrYH+q3FLZZ /OdOe6xljL3vRSovUXGHq1C+3H9ZTxBF0mh7GG9vjgJhkthkJ44r6Oi0jb1NjAIi11Q+ lTdRs5Fb9lrUaExoVq6Rqbxy/mapFFDo3jbpQJwHWq7tl6f1CJQKx0by56JNgSSNv4rc 9K+bOhU/cbhyquFC+sKQS7hQV2HijwDMKqoQKhPjixRxLmeoxii7ihysl+nMcH+CVqc9 Olhra3nXPt5b01tQKbzDL+srRj77/FZ/BFQyBJpIZsyfQq9Kppayqze4xtC87Xd6j8MT dlWA== X-Gm-Message-State: ALoCoQluf/+QgEyay2TBXK0Wnb42Ni8eSPiYweOB0/AS2iiRkRfZPcYxZXgPSsv7XiPsmDGWXPnZ X-Received: by 10.66.65.108 with SMTP id w12mr255750pas.183.1380159669826; Wed, 25 Sep 2013 18:41:09 -0700 (PDT) Received: from officeserver-2 ([70.96.116.236]) by mx.google.com with ESMTPSA id k4sm50630579pbd.11.1969.12.31.16.00.00 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Wed, 25 Sep 2013 18:41:08 -0700 (PDT) Received: from tkisky by officeserver-2 with local (Exim 4.80) (envelope-from ) id 1VP0a3-0006t7-3y; Wed, 25 Sep 2013 18:41:23 -0700 From: Troy Kisky To: marek.vasut@gmail.com Date: Wed, 25 Sep 2013 18:41:03 -0700 Message-Id: <1380159678-26416-4-git-send-email-troy.kisky@boundarydevices.com> X-Mailer: git-send-email 1.8.1.2 In-Reply-To: <1380159678-26416-1-git-send-email-troy.kisky@boundarydevices.com> References: <1380159678-26416-1-git-send-email-troy.kisky@boundarydevices.com> Cc: fabio.estevam@freescale.com, otavio@ossystems.com.br, leiwen@marvell.com, u-boot@lists.denx.de Subject: [U-Boot] [PATCH V5 03/18] usb: echi-hcd: add usb_lowlevel_init_device X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de Use this function so that we can verify the OTG_ID pin is high and device mode should be activated. Signed-off-by: Troy Kisky --- v5: new patch --- drivers/usb/gadget/mv_udc.c | 2 +- drivers/usb/host/ehci-hcd.c | 13 +++++++++++++ include/usb.h | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/usb/gadget/mv_udc.c b/drivers/usb/gadget/mv_udc.c index b87119c..ecd11d7 100644 --- a/drivers/usb/gadget/mv_udc.c +++ b/drivers/usb/gadget/mv_udc.c @@ -684,7 +684,7 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver) if (driver->speed != USB_SPEED_FULL && driver->speed != USB_SPEED_HIGH) return -EINVAL; - ret = usb_lowlevel_init(0, (void **)&controller.ctrl); + ret = usb_lowlevel_init_device(0, (void **)&controller.ctrl); if (ret) return ret; diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index fdad739..dbea756 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -1004,6 +1004,19 @@ int usb_lowlevel_init(int index, void **controller) return 0; } +int usb_lowlevel_init_device(int index, void **controller) +{ + int rc = ehci_hcd_init(index, &ehcic[index].hccr, &ehcic[index].hcor); + + /* rc == 0 means host mode, failure for us */ + if (!rc) + return -EINVAL; + if (rc != -ENODEV) + return rc; + *controller = &ehcic[index]; + return 0; +} + int submit_bulk_msg(struct usb_device *dev, unsigned long pipe, void *buffer, int length) diff --git a/include/usb.h b/include/usb.h index 60db897..4bc50cc 100644 --- a/include/usb.h +++ b/include/usb.h @@ -141,6 +141,7 @@ struct usb_device { defined(CONFIG_USB_MUSB_OMAP2PLUS) int usb_lowlevel_init(int index, void **controller); +int usb_lowlevel_init_device(int index, void **controller); int usb_lowlevel_stop(int index); int submit_bulk_msg(struct usb_device *dev, unsigned long pipe,