From patchwork Tue Feb 6 14:25:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869790 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="hgn/Z62t"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbRkM0QJFz9s82 for ; Wed, 7 Feb 2018 01:32:26 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id A459EC21DA3; Tue, 6 Feb 2018 14:31:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 1CC23C21E45; Tue, 6 Feb 2018 14:31:33 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 590C2C21E16; Tue, 6 Feb 2018 14:31:27 +0000 (UTC) Received: from mail-pf0-f196.google.com (mail-pf0-f196.google.com [209.85.192.196]) by lists.denx.de (Postfix) with ESMTPS id 4FE8DC21E18 for ; Tue, 6 Feb 2018 14:31:22 +0000 (UTC) Received: by mail-pf0-f196.google.com with SMTP id z79so668474pff.13 for ; Tue, 06 Feb 2018 06:31:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=XEAzpq6aLk80Y9SOqqviboZw5WU9c2Ypz93gzUcpT6o=; b=hgn/Z62tHCPhiKq/iq0eQ9JDk8A0CMuKa+TEdxB+pzD4cc3HKtK1NFgujZD3exIc8R x0jJgYYsX/LH6GoLV304Px0YKItP8Tz40cnuW+WpiTHLR7h9X9+E0sKGm/Rakb8Z4wa+ ivZG+etskKQVzDLDxgEwt7nny4tptP/XkPRiO4wseyD9IByVALkRCbdSN2bTn6yPJorV PyFKIg07NbdyYwVDMJf0IQji3bGwFmBrfdg8pMDWOC9/MVuSuYAEGRknWf7ZYMgTbwN9 ttNRR4xZthpz7mde1tnFhdo2TvfbZs5WGDZCHsM09EuEAfr2yebpVNb1LHqnNulD2n9o Ci9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=XEAzpq6aLk80Y9SOqqviboZw5WU9c2Ypz93gzUcpT6o=; b=SWZxd1/TVJ1qGg3aIjmd4hnXeN3wcLB5/dHLmy+PRa+nJ7VBa3mWt+uyywhpLXYpv3 AppPcPJ07M1HjvcPkUYGzZrsxyDIGMwna+S/oYJVMV/n0p53XeUZYziQg0zug7Uw0CnI U+7Gkc09uqJD5213yua1/LUAJJ+PpsjWvnv2gTRhoP7bRNbsdiRklT+ixy8vevV1CODF lzMo0xiEqwELrPaPe5F74X2yJ06FF1cQUibU8d+IUulo09Qxo8sgtt5+5Wohbayk4JLR mTxbQNSPYgyEd14lIw8CEvJczPaZEhDeLfUHkQ1aVHaviKOlQGPt0T7kWU+Gh3Xl1CQU IUeQ== X-Gm-Message-State: APf1xPAKWnaW4wY/z4rDqHV425PEvexquXL/r7nrdVZ25b4J9ejqbv5u 30tZpLo/0MxRGh8fJgxK2O0HlU0u X-Google-Smtp-Source: AH8x225mDSjnd6hrsUgd3szjLVsLMnZFyQqtsLFxmDwY4s6gF91JKA9oO7rgit76q63l2WLdOzWGMg== X-Received: by 10.98.139.196 with SMTP id e65mr2676178pfl.128.1517927480361; Tue, 06 Feb 2018 06:31:20 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.31.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:31:19 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:31 +0530 Message-Id: <1517927164-18197-2-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 01/34] usb: sunxi: Simplify ccm reg base code X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Move struct sunxi_ccm_reg pointer to private structure so-that accessing ccm reg base become more proper way and avoid local initialization in each function. Signed-off-by: Jagan Teki --- drivers/usb/host/ehci-sunxi.c | 15 +++++++++------ drivers/usb/host/ohci-sunxi.c | 19 +++++++++++-------- drivers/usb/musb-new/sunxi.c | 34 +++++++++++++++++++++++----------- 3 files changed, 43 insertions(+), 25 deletions(-) diff --git a/drivers/usb/host/ehci-sunxi.c b/drivers/usb/host/ehci-sunxi.c index 6ecb7c4..ed9763c 100644 --- a/drivers/usb/host/ehci-sunxi.c +++ b/drivers/usb/host/ehci-sunxi.c @@ -27,19 +27,23 @@ struct ehci_sunxi_priv { struct ehci_ctrl ehci; + struct sunxi_ccm_reg *ccm; int ahb_gate_mask; /* Mask of ahb_gate0 clk gate bits for this hcd */ int phy_index; /* Index of the usb-phy attached to this hcd */ }; static int ehci_usb_probe(struct udevice *dev) { - struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; struct usb_platdata *plat = dev_get_platdata(dev); struct ehci_sunxi_priv *priv = dev_get_priv(dev); struct ehci_hccr *hccr = (struct ehci_hccr *)devfdt_get_addr(dev); struct ehci_hcor *hcor; int extra_ahb_gate_mask = 0; + priv->ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; + if (IS_ERR(priv->ccm)) + return PTR_ERR(priv->ccm); + /* * This should go away once we've moved to the driver model for * clocks resp. phys. @@ -53,10 +57,10 @@ static int ehci_usb_probe(struct udevice *dev) extra_ahb_gate_mask <<= priv->phy_index * AHB_CLK_DIST; priv->phy_index++; /* Non otg phys start at 1 */ - setbits_le32(&ccm->ahb_gate0, + setbits_le32(&priv->ccm->ahb_gate0, priv->ahb_gate_mask | extra_ahb_gate_mask); #ifdef CONFIG_SUNXI_GEN_SUN6I - setbits_le32(&ccm->ahb_reset0_cfg, + setbits_le32(&priv->ccm->ahb_reset0_cfg, priv->ahb_gate_mask | extra_ahb_gate_mask); #endif @@ -71,7 +75,6 @@ static int ehci_usb_probe(struct udevice *dev) static int ehci_usb_remove(struct udevice *dev) { - struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; struct ehci_sunxi_priv *priv = dev_get_priv(dev); int ret; @@ -82,9 +85,9 @@ static int ehci_usb_remove(struct udevice *dev) sunxi_usb_phy_exit(priv->phy_index); #ifdef CONFIG_SUNXI_GEN_SUN6I - clrbits_le32(&ccm->ahb_reset0_cfg, priv->ahb_gate_mask); + clrbits_le32(&priv->ccm->ahb_reset0_cfg, priv->ahb_gate_mask); #endif - clrbits_le32(&ccm->ahb_gate0, priv->ahb_gate_mask); + clrbits_le32(&priv->ccm->ahb_gate0, priv->ahb_gate_mask); return 0; } diff --git a/drivers/usb/host/ohci-sunxi.c b/drivers/usb/host/ohci-sunxi.c index 133774f..35efa88 100644 --- a/drivers/usb/host/ohci-sunxi.c +++ b/drivers/usb/host/ohci-sunxi.c @@ -26,6 +26,7 @@ #endif struct ohci_sunxi_priv { + struct sunxi_ccm_reg *ccm; ohci_t ohci; int ahb_gate_mask; /* Mask of ahb_gate0 clk gate bits for this hcd */ int usb_gate_mask; /* Mask of usb_clk_cfg clk gate bits for this hcd */ @@ -34,12 +35,15 @@ struct ohci_sunxi_priv { static int ohci_usb_probe(struct udevice *dev) { - struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; struct usb_bus_priv *bus_priv = dev_get_uclass_priv(dev); struct ohci_sunxi_priv *priv = dev_get_priv(dev); struct ohci_regs *regs = (struct ohci_regs *)devfdt_get_addr(dev); int extra_ahb_gate_mask = 0; + priv->ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; + if (IS_ERR(priv->ccm)) + return PTR_ERR(priv->ccm); + bus_priv->companion = true; /* @@ -57,11 +61,11 @@ static int ohci_usb_probe(struct udevice *dev) priv->usb_gate_mask <<= priv->phy_index; priv->phy_index++; /* Non otg phys start at 1 */ - setbits_le32(&ccm->ahb_gate0, + setbits_le32(&priv->ccm->ahb_gate0, priv->ahb_gate_mask | extra_ahb_gate_mask); - setbits_le32(&ccm->usb_clk_cfg, priv->usb_gate_mask); + setbits_le32(&priv->ccm->usb_clk_cfg, priv->usb_gate_mask); #ifdef CONFIG_SUNXI_GEN_SUN6I - setbits_le32(&ccm->ahb_reset0_cfg, + setbits_le32(&priv->ccm->ahb_reset0_cfg, priv->ahb_gate_mask | extra_ahb_gate_mask); #endif @@ -73,7 +77,6 @@ static int ohci_usb_probe(struct udevice *dev) static int ohci_usb_remove(struct udevice *dev) { - struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; struct ohci_sunxi_priv *priv = dev_get_priv(dev); int ret; @@ -84,10 +87,10 @@ static int ohci_usb_remove(struct udevice *dev) sunxi_usb_phy_exit(priv->phy_index); #ifdef CONFIG_SUNXI_GEN_SUN6I - clrbits_le32(&ccm->ahb_reset0_cfg, priv->ahb_gate_mask); + clrbits_le32(&priv->ccm->ahb_reset0_cfg, priv->ahb_gate_mask); #endif - clrbits_le32(&ccm->usb_clk_cfg, priv->usb_gate_mask); - clrbits_le32(&ccm->ahb_gate0, priv->ahb_gate_mask); + clrbits_le32(&priv->ccm->usb_clk_cfg, priv->usb_gate_mask); + clrbits_le32(&priv->ccm->ahb_gate0, priv->ahb_gate_mask); return 0; } diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c index aedc24b..c77bde0 100644 --- a/drivers/usb/musb-new/sunxi.c +++ b/drivers/usb/musb-new/sunxi.c @@ -76,6 +76,13 @@ * From usbc/usbc.c ******************************************************************************/ +struct sunxi_glue { + struct musb_host_data mdata; + struct sunxi_ccm_reg *ccm; + struct device dev; +}; +#define to_sunxi_glue(d) container_of(d, struct sunxi_glue, dev) + static u32 USBC_WakeUp_ClearChangeDetect(u32 reg_val) { u32 temp = reg_val; @@ -256,15 +263,15 @@ static void sunxi_musb_disable(struct musb *musb) static int sunxi_musb_init(struct musb *musb) { - struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; + struct sunxi_glue *glue = to_sunxi_glue(musb->controller); pr_debug("%s():\n", __func__); musb->isr = sunxi_musb_interrupt; - setbits_le32(&ccm->ahb_gate0, 1 << AHB_GATE_OFFSET_USB0); + setbits_le32(&glue->ccm->ahb_gate0, 1 << AHB_GATE_OFFSET_USB0); #ifdef CONFIG_SUNXI_GEN_SUN6I - setbits_le32(&ccm->ahb_reset0_cfg, 1 << AHB_GATE_OFFSET_USB0); + setbits_le32(&glue->ccm->ahb_reset0_cfg, 1 << AHB_GATE_OFFSET_USB0); #endif sunxi_usb_phy_init(0); @@ -310,7 +317,8 @@ static struct musb_hdrc_platform_data musb_plat = { static int musb_usb_probe(struct udevice *dev) { - struct musb_host_data *host = dev_get_priv(dev); + struct sunxi_glue *glue = dev_get_priv(dev); + struct musb_host_data *host = &glue->mdata; struct usb_bus_priv *priv = dev_get_uclass_priv(dev); void *base = dev_read_addr_ptr(dev); int ret; @@ -318,10 +326,14 @@ static int musb_usb_probe(struct udevice *dev) if (!base) return -EINVAL; + glue->ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; + if (IS_ERR(glue->ccm)) + return PTR_ERR(glue->ccm); + priv->desc_before_addr = true; #ifdef CONFIG_USB_MUSB_HOST - host->host = musb_init_controller(&musb_plat, NULL, base); + host->host = musb_init_controller(&musb_plat, &glue->dev, base); if (!host->host) return -EIO; @@ -329,7 +341,7 @@ static int musb_usb_probe(struct udevice *dev) if (!ret) printf("Allwinner mUSB OTG (Host)\n"); #else - ret = musb_register(&musb_plat, NULL, base); + ret = musb_register(&musb_plat, &glue->dev, base); if (!ret) printf("Allwinner mUSB OTG (Peripheral)\n"); #endif @@ -339,16 +351,16 @@ static int musb_usb_probe(struct udevice *dev) static int musb_usb_remove(struct udevice *dev) { - struct musb_host_data *host = dev_get_priv(dev); - struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; + struct sunxi_glue *glue = dev_get_priv(dev); + struct musb_host_data *host = &glue->mdata; musb_stop(host->host); sunxi_usb_phy_exit(0); #ifdef CONFIG_SUNXI_GEN_SUN6I - clrbits_le32(&ccm->ahb_reset0_cfg, 1 << AHB_GATE_OFFSET_USB0); + clrbits_le32(&glue->ccm->ahb_reset0_cfg, 1 << AHB_GATE_OFFSET_USB0); #endif - clrbits_le32(&ccm->ahb_gate0, 1 << AHB_GATE_OFFSET_USB0); + clrbits_le32(&glue->ccm->ahb_gate0, 1 << AHB_GATE_OFFSET_USB0); free(host->host); host->host = NULL; @@ -378,5 +390,5 @@ U_BOOT_DRIVER(usb_musb) = { .ops = &musb_usb_ops, #endif .platdata_auto_alloc_size = sizeof(struct usb_platdata), - .priv_auto_alloc_size = sizeof(struct musb_host_data), + .priv_auto_alloc_size = sizeof(struct sunxi_glue), }; From patchwork Tue Feb 6 14:25:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869792 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="RnBtYVMg"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbRnH69NLz9s82 for ; Wed, 7 Feb 2018 01:34:59 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 54707C21E42; Tue, 6 Feb 2018 14:32:08 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 2587DC21E40; Tue, 6 Feb 2018 14:31:35 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 42A17C21E3A; Tue, 6 Feb 2018 14:31:29 +0000 (UTC) Received: from mail-pf0-f193.google.com (mail-pf0-f193.google.com [209.85.192.193]) by lists.denx.de (Postfix) with ESMTPS id 63B8CC21E28 for ; Tue, 6 Feb 2018 14:31:25 +0000 (UTC) Received: by mail-pf0-f193.google.com with SMTP id b62so667412pfk.10 for ; Tue, 06 Feb 2018 06:31:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=LRYEgeEOD3qz8WJIaKiXAFHrKk9cFTuVCeG8/hyd1TA=; b=RnBtYVMgSpnNfQeZOnHejmpdtxF5xMLKTANdKROyKzJUMPlr6SOokid7EhA+A9TRHj 6Qe9fL+tXYwOjbjFu0mwdBknUwsE4hJDJxRg1Rcw86hdQoK4bTIqVnJha8gfbXzD8xwC nx4Yjvwy/cQqUyOYVq2GIrB2oN0mcaKosbr/IC2G4ahfhHKAfneidqrdsuTI3+Wv35QE usMCyoWDdocPKoKQW6kBiy+j+cBO9zTjyZknRALtbQCoqhQdJyIvDFYA6yLNo33aOeg+ 5ZYMpEtjxbElXfTG5QWzOgDdDoepB19FLSTZKqsNje+JmOeZc0MEahkRW7b8OJOP61IQ 4W3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=LRYEgeEOD3qz8WJIaKiXAFHrKk9cFTuVCeG8/hyd1TA=; b=GggTlVrWhKr4viUiB3IbKKXzrapAdW8b30rsjL4QmJu9HDL54drtH9hhuiK4/IvDzX 7YM2kRAGa2LUks1ASnz15Uc7cFLhV0z1r6drP96Vs0/XUjkdqUc2R/tMBqq3z1OCB6xc ZiiIRPD46W62gC4lscsWxkqGKHyOMvlhZPg3CD0oQWFRPT4QIu7H/XL9gFQ399Fdu+A9 ui99jnGp5EWmLlQeiovsJaB7MwK0/TiYowa09FwCd4sroe0o/0VVgRt/W1JHXj9pLrzp 7t6pfkC3hXLD3mZ0i+I7/rCjMhvTorYNJIDoonnu3XebC2ia2ThHpw2s7tGDLV5OjTyh WvGA== X-Gm-Message-State: APf1xPCjzwAxOCOrlqcH+dcvKCSurigT2AcWrhe3V/BDXlJhtWkO8Zix LOIJLdlpFGX1o9UuzdG5BB8Vngee X-Google-Smtp-Source: AH8x2242xjnP0TwezSXuU6vYIPvrDpYIz6gRq8QkwebUOGSwivZeVRcoEd9pDl+pkCWOnHWl+LTGZQ== X-Received: by 10.98.194.201 with SMTP id w70mr2278093pfk.188.1517927483715; Tue, 06 Feb 2018 06:31:23 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.31.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:31:23 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:32 +0530 Message-Id: <1517927164-18197-3-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 02/34] musb: sunxi: Add proper macros instead of numericals X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" - add proper macros for musb_config members - use bool 'true' for multipoint and dyn_fifo instead of numerical 1 Signed-off-by: Jagan Teki --- drivers/usb/musb-new/sunxi.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c index c77bde0..3f3b898 100644 --- a/drivers/usb/musb-new/sunxi.c +++ b/drivers/usb/musb-new/sunxi.c @@ -297,11 +297,15 @@ static const struct musb_platform_ops sunxi_musb_ops = { .disable = sunxi_musb_disable, }; +/* Allwinner OTG supports up to 5 endpoints */ +#define SUNXI_MUSB_MAX_EP_NUM 6 +#define SUNXI_MUSB_RAM_BITS 11 + static struct musb_hdrc_config musb_config = { - .multipoint = 1, - .dyn_fifo = 1, - .num_eps = 6, - .ram_bits = 11, + .multipoint = true, + .dyn_fifo = true, + .num_eps = SUNXI_MUSB_MAX_EP_NUM, + .ram_bits = SUNXI_MUSB_RAM_BITS, }; static struct musb_hdrc_platform_data musb_plat = { From patchwork Tue Feb 6 14:25:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869796 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="QaDr5oX9"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbRs94Vw8z9s82 for ; Wed, 7 Feb 2018 01:38:21 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 2A74CC21E40; Tue, 6 Feb 2018 14:32:28 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 5E3A5C21E3A; Tue, 6 Feb 2018 14:31:43 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id CA9B8C21E4B; Tue, 6 Feb 2018 14:31:33 +0000 (UTC) Received: from mail-pf0-f196.google.com (mail-pf0-f196.google.com [209.85.192.196]) by lists.denx.de (Postfix) with ESMTPS id D9B9AC21E35 for ; Tue, 6 Feb 2018 14:31:28 +0000 (UTC) Received: by mail-pf0-f196.google.com with SMTP id y9so666966pfl.2 for ; Tue, 06 Feb 2018 06:31:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=cFZRzjGwDViQcgzSCKKESNS5+ghiQFg1Nfo6Yx5b5+E=; b=QaDr5oX9fxfxV8aS5k52egsuzZXJyVirEh5u5GMr/7xNL9NB1G9Jt9C3j/L4Hw52Bu PNDUe1vIx5eXMbn+hPa1om0tSUyiTSkhUkhsj1l10Lt2RzZVlbjILQj4LbDCNPaGNgU9 TIzQBwLqbyqYJ9hOMZdW1qxohUITWo7ofe1jO++eQmwqLOKy+f9jhNZfdS/Obcw8aesj XcH1VN+yrq/0U90iO30fNSbS8HSsbcTVkKvNja3QOrQIFzzc1aLZFqBNyqXXn4uWkOAy 0UhqAx+13ipaU0+PP2t3Z2AKafE2H6AllJXzNvNycMApsRZnnujEKCnqzow9ZRmFpuET ju5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=cFZRzjGwDViQcgzSCKKESNS5+ghiQFg1Nfo6Yx5b5+E=; b=AZvm3Q8Hq7ayh722B+c6HEv6V8Tqqb6vLpJIOlgzC6RvWiHMScD3FiwUE5YLcbZRsL VEeEm+gQ7naEApjfZjKoXV1AigTkbrFrxJCsboWcAls21BplY2ilT8/7XuUZJaQgIrIS FYaXyU9TP0vtIdYXHDbnaNE5daCcayPaVto/azS8GI5FzYrNukfcDKn2Bv1sV1P10XK6 QOs0sGW/g/KFjUD3hmeQBvAvw5yJXqMluze05AyYka7XUvU4v36zmBryqWmDZAUteLBS dlEb3i94RUSyWNLJTetQp5DoRZAgRVmObn+6xVvDLm5EmG/yxRmOSrLhywKp3VU2N4hr pIuA== X-Gm-Message-State: APf1xPDojD7TShPpq8L+OkKDbaCDbEkGGuTmSlZ46FnU8t4O0sRjs8oO iKmyO1JBM+U5KyizNiSDqIFIQ15k X-Google-Smtp-Source: AH8x226GGBTMgfFeZWReMWLZVTRrvrO6ljvgb7Znr4keIUiFShNkjNT1PRytK2x0jjObm5MidUpS5g== X-Received: by 10.99.177.4 with SMTP id r4mr2115699pgf.245.1517927487118; Tue, 06 Feb 2018 06:31:27 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.31.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:31:26 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:33 +0530 Message-Id: <1517927164-18197-4-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 03/34] musb: sunxi: Use simple way to fill musb_hdrc pdata X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Filling musb_hdrc pdata using structure will unnecessary add extra ifdefs, so fill them inside probe call for better code understanding and get rid ifdefs using devicetree compatible. Signed-off-by: Jagan Teki --- drivers/usb/musb-new/sunxi.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c index 3f3b898..0b7ff9f 100644 --- a/drivers/usb/musb-new/sunxi.c +++ b/drivers/usb/musb-new/sunxi.c @@ -308,22 +308,12 @@ static struct musb_hdrc_config musb_config = { .ram_bits = SUNXI_MUSB_RAM_BITS, }; -static struct musb_hdrc_platform_data musb_plat = { -#if defined(CONFIG_USB_MUSB_HOST) - .mode = MUSB_HOST, -#else - .mode = MUSB_PERIPHERAL, -#endif - .config = &musb_config, - .power = 250, - .platform_ops = &sunxi_musb_ops, -}; - static int musb_usb_probe(struct udevice *dev) { struct sunxi_glue *glue = dev_get_priv(dev); struct musb_host_data *host = &glue->mdata; struct usb_bus_priv *priv = dev_get_uclass_priv(dev); + struct musb_hdrc_platform_data pdata; void *base = dev_read_addr_ptr(dev); int ret; @@ -336,8 +326,13 @@ static int musb_usb_probe(struct udevice *dev) priv->desc_before_addr = true; + pdata.power = 250; + pdata.platform_ops = &sunxi_musb_ops; + pdata.config = &musb_config; + #ifdef CONFIG_USB_MUSB_HOST - host->host = musb_init_controller(&musb_plat, &glue->dev, base); + pdata.mode = MUSB_HOST; + host->host = musb_init_controller(&pdata, &glue->dev, base); if (!host->host) return -EIO; @@ -345,7 +340,8 @@ static int musb_usb_probe(struct udevice *dev) if (!ret) printf("Allwinner mUSB OTG (Host)\n"); #else - ret = musb_register(&musb_plat, &glue->dev, base); + pdata.mode = MUSB_PERIPHERAL; + ret = musb_register(&pdata, &glue->dev, base); if (!ret) printf("Allwinner mUSB OTG (Peripheral)\n"); #endif From patchwork Tue Feb 6 14:25:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869794 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Q6AQ17AF"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbRq91Qqjz9s8J for ; Wed, 7 Feb 2018 01:36:37 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id BCF03C21E65; Tue, 6 Feb 2018 14:33:05 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 2CC26C21E16; Tue, 6 Feb 2018 14:32:05 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 00568C21E45; Tue, 6 Feb 2018 14:31:36 +0000 (UTC) Received: from mail-pf0-f194.google.com (mail-pf0-f194.google.com [209.85.192.194]) by lists.denx.de (Postfix) with ESMTPS id 15874C21C3F for ; Tue, 6 Feb 2018 14:31:32 +0000 (UTC) Received: by mail-pf0-f194.google.com with SMTP id z79so668701pff.13 for ; Tue, 06 Feb 2018 06:31:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Ihdbk5JFbh9ZgeeeN5zeh6Ma5jqP7/FyUASKqlIRZoM=; b=Q6AQ17AFjm6rdC9UxVnVnx+8PxnBg6xdUoCIEfEBP8m42sOy9DI8c0GD7c56BsnWfk +zfAO1WOW3YH9tS219iou2j7w7C5g9Lll9ocyXpr+Yy5WoJDrSEEbLy0DCaRsOZJhBN7 cM6j9i68VxDWmB8HdvgWctH8nYyY30e7YYi7cn3fNlQu/cHK9r4esndZqza7MurWGMPA YruV8oPEE74MP2XCRRii1qr2mhvRUps2IylLaI1dEaaVgRhVUDsrROj45umGKH/jEd+Y 5Fl3Wb1thbmpIBPaO3Jmm/akgEBiQwEl/P7lh9pCL7m8HnjrU0Ca0Vp5SrykXx/OvDnn TY0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Ihdbk5JFbh9ZgeeeN5zeh6Ma5jqP7/FyUASKqlIRZoM=; b=lqpA+1Vk+6v1SAmJ1AJXYwp0N84T0eFZSBiksir/oM+AHEzuk/SEXM5yWccCcdZQWb DquLlazvT8oOoClXGQXVlhoJuwVXHJp2MIHaznwFZKpGRlrCNTrI3iG3IlRoEpTfyB+1 y0TxGYo7ubjSxEIw3zEE839KSCDAVwOuaTKNiY5kN+2ZX0w2jL4XIWkzLa16sY9UGI7N p7Bf/zQ20lHmd0L2m78cLdeP8Q0j+ileAKci0wAcL8M3sTQFJ+xpcFAB6i6OPILIfBcm LqcCOg+anWule44hthF3GcAfMCUUqvc7WgZBs1mC4KjQVQGjHvsiyLaoLTQikyCy+5A1 8hiQ== X-Gm-Message-State: APf1xPDXwqtSLn87tSQlgtRI9DD1hX0vYU8Gv31wEnixqFXcdXRxUdEJ ATbQ3K1kd3rQcSH5v+UswI6Sk46t X-Google-Smtp-Source: AH8x226JFKiDCtpT8+2D+KnOghB2zltn2Vr05fONXw1ZwzsZlL9hUKinAwcrW3J6qrdPcRzhgByuTg== X-Received: by 10.101.80.202 with SMTP id s10mr2115249pgp.226.1517927490352; Tue, 06 Feb 2018 06:31:30 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.31.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:31:29 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:34 +0530 Message-Id: <1517927164-18197-5-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 04/34] musb: sunxi: Add fifo config X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Unlike other Allwinner SOC's H3/H5/V3s OTG support 4 endpoints with relevant fifo configs, rest all have 5 endpoints. So add the fifo configs and defer them based on udevice_id compatible. Signed-off-by: Jagan Teki --- drivers/usb/musb-new/sunxi.c | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c index 0b7ff9f..562d311 100644 --- a/drivers/usb/musb-new/sunxi.c +++ b/drivers/usb/musb-new/sunxi.c @@ -301,13 +301,52 @@ static const struct musb_platform_ops sunxi_musb_ops = { #define SUNXI_MUSB_MAX_EP_NUM 6 #define SUNXI_MUSB_RAM_BITS 11 +static struct musb_fifo_cfg sunxi_musb_mode_cfg[] = { + MUSB_EP_FIFO_SINGLE(1, FIFO_TX, 512), + MUSB_EP_FIFO_SINGLE(1, FIFO_RX, 512), + MUSB_EP_FIFO_SINGLE(2, FIFO_TX, 512), + MUSB_EP_FIFO_SINGLE(2, FIFO_RX, 512), + MUSB_EP_FIFO_SINGLE(3, FIFO_TX, 512), + MUSB_EP_FIFO_SINGLE(3, FIFO_RX, 512), + MUSB_EP_FIFO_SINGLE(4, FIFO_TX, 512), + MUSB_EP_FIFO_SINGLE(4, FIFO_RX, 512), + MUSB_EP_FIFO_SINGLE(5, FIFO_TX, 512), + MUSB_EP_FIFO_SINGLE(5, FIFO_RX, 512), +}; + +/* H3/V3s OTG supports only 4 endpoints */ +#define SUNXI_MUSB_MAX_EP_NUM_H3 5 + +static struct musb_fifo_cfg sunxi_musb_mode_cfg_h3[] = { + MUSB_EP_FIFO_SINGLE(1, FIFO_TX, 512), + MUSB_EP_FIFO_SINGLE(1, FIFO_RX, 512), + MUSB_EP_FIFO_SINGLE(2, FIFO_TX, 512), + MUSB_EP_FIFO_SINGLE(2, FIFO_RX, 512), + MUSB_EP_FIFO_SINGLE(3, FIFO_TX, 512), + MUSB_EP_FIFO_SINGLE(3, FIFO_RX, 512), + MUSB_EP_FIFO_SINGLE(4, FIFO_TX, 512), + MUSB_EP_FIFO_SINGLE(4, FIFO_RX, 512), +}; + static struct musb_hdrc_config musb_config = { + .fifo_cfg = sunxi_musb_mode_cfg, + .fifo_cfg_size = ARRAY_SIZE(sunxi_musb_mode_cfg), .multipoint = true, .dyn_fifo = true, .num_eps = SUNXI_MUSB_MAX_EP_NUM, .ram_bits = SUNXI_MUSB_RAM_BITS, }; +static struct musb_hdrc_config musb_config_h3 = { + .fifo_cfg = sunxi_musb_mode_cfg_h3, + .fifo_cfg_size = ARRAY_SIZE(sunxi_musb_mode_cfg_h3), + .multipoint = true, + .dyn_fifo = true, + .soft_con = true, + .num_eps = SUNXI_MUSB_MAX_EP_NUM_H3, + .ram_bits = SUNXI_MUSB_RAM_BITS, +}; + static int musb_usb_probe(struct udevice *dev) { struct sunxi_glue *glue = dev_get_priv(dev); @@ -328,7 +367,10 @@ static int musb_usb_probe(struct udevice *dev) pdata.power = 250; pdata.platform_ops = &sunxi_musb_ops; - pdata.config = &musb_config; + if (!device_is_compatible(dev, "allwinner,sun8i-h3-musb")) + pdata.config = &musb_config; + else + pdata.config = &musb_config_h3; #ifdef CONFIG_USB_MUSB_HOST pdata.mode = MUSB_HOST; From patchwork Tue Feb 6 14:25:35 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869791 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="tD2YQ77p"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbRmt1hKNz9s82 for ; Wed, 7 Feb 2018 01:34:38 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id B78CCC21E78; Tue, 6 Feb 2018 14:32:47 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 40BECC21E55; Tue, 6 Feb 2018 14:31:44 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 5E62BC21E41; Tue, 6 Feb 2018 14:31:40 +0000 (UTC) Received: from mail-pg0-f68.google.com (mail-pg0-f68.google.com [74.125.83.68]) by lists.denx.de (Postfix) with ESMTPS id 781F9C21E57 for ; Tue, 6 Feb 2018 14:31:35 +0000 (UTC) Received: by mail-pg0-f68.google.com with SMTP id r1so1141315pgn.11 for ; Tue, 06 Feb 2018 06:31:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=5/sInp3VLeD5RkOZ6d0CgFhE6LRNqQ9Sohoz5fB4Glw=; b=tD2YQ77pizeKwTTrY02dyskQzDLiXI6PfVIuLYu8URNqKfq7lgLZwuI1+4W7jITBum O3Y0UGyIYKCjEVNSIaizQk4JGhOregQ6euVVYAgskPzfGjirvx+ox6cS98MBjPACYUyJ cytJuAgDjfoaL964ftGHnTPSiLAzsmKRPB7rIM/F5NWfCON0BvHkk28xcwEy1Iq/9C66 O99sbixnDfyglG80FRQCnlCLScxLoj2TTHG7LOjVjqw6Mm0L4acodgnMk6svu+nPFPXK NYhUp8ZDrcvQS3zQYa9t+KN1GUXGrube2v+uFjCY9asqacQWjtFnpq75B9WeeaQUiXg2 YHJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=5/sInp3VLeD5RkOZ6d0CgFhE6LRNqQ9Sohoz5fB4Glw=; b=hkyvZjzQKTaW/FewHCv705WiVHIeHYU/86lASFPChYjzC3ag+eVT5G2Cia4ZflFgce mdkQ6dnJlffYnFQwIQa2TQfnGhbBXQVtSXqUWp8FR9spP4SuZtclFXl93CnpkXPRZazm zr04I0n9Hf2o6eRgdTADDtEfxKqxMNs1PKKJELfJxaGGSfrIV/H24cQq0ukCp+VsxynA gBjcLBRJ8zDWQazLXWifaTxEswD+b4iLmJiJvkZ6AnVxKxAvfJ9Cv6nbVURn9yyXn+CF 5MKRRt5p9aL6UPSoIMShGErofL8dM3ajFOsmrMLQJoHpOWvWFYSs8WShlrf86bfH1XVK eJmQ== X-Gm-Message-State: APf1xPBQnFRf8Anw8MqwsbA3m/J0vtj25hGawa2JXq70C7NE8uOW3NzS RxnoPhofz33CFG/w4eQTfzbFzv0C X-Google-Smtp-Source: AH8x226MIjPhCyhwZVVt6jWBlYVCE8+zHMtH65DH0mC3CChEm3MfwsuDoLTOkRyPElycW7bdXuSLyA== X-Received: by 10.99.95.12 with SMTP id t12mr2054117pgb.291.1517927493690; Tue, 06 Feb 2018 06:31:33 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.31.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:31:33 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:35 +0530 Message-Id: <1517927164-18197-6-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 05/34] sunxi: clock: Fix clock gating for H3/H5/A64 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" clock gating bits on a64 are different than H3_H5, so fixed only required bits on clock_sun6i.h. Signed-off-by: Jagan Teki --- arch/arm/include/asm/arch-sunxi/clock_sun6i.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/arch/arm/include/asm/arch-sunxi/clock_sun6i.h b/arch/arm/include/asm/arch-sunxi/clock_sun6i.h index d328df9..d794e16 100644 --- a/arch/arm/include/asm/arch-sunxi/clock_sun6i.h +++ b/arch/arm/include/asm/arch-sunxi/clock_sun6i.h @@ -270,21 +270,27 @@ struct sunxi_ccm_reg { #define AXI_GATE_OFFSET_DRAM 0 /* ahb_gate0 offsets */ -#define AHB_GATE_OFFSET_USB_OHCI1 30 -#define AHB_GATE_OFFSET_USB_OHCI0 29 #ifdef CONFIG_MACH_SUNXI_H3_H5 /* * These are EHCI1 - EHCI3 in the datasheet (EHCI0 is for the OTG) we call * them 0 - 2 like they were called on older SoCs. */ +#define AHB_GATE_OFFSET_USB_OHCI0 28 #define AHB_GATE_OFFSET_USB_EHCI2 27 #define AHB_GATE_OFFSET_USB_EHCI1 26 +#define AHB_GATE_OFFSET_USB_EHCI0 24 +#elif defined(CONFIG_MACH_SUN50I) +#define AHB_GATE_OFFSET_USB_OHCI0 29 #define AHB_GATE_OFFSET_USB_EHCI0 25 #else +#define AHB_GATE_OFFSET_USB_OHCI1 30 +#define AHB_GATE_OFFSET_USB_OHCI0 29 #define AHB_GATE_OFFSET_USB_EHCI1 27 #define AHB_GATE_OFFSET_USB_EHCI0 26 #endif -#ifndef CONFIG_MACH_SUN8I_R40 +#ifdef CONFIG_MACH_SUN50I +#define AHB_GATE_OFFSET_USB0 23 +#elif !defined(CONFIG_MACH_SUN8I_R40) #define AHB_GATE_OFFSET_USB0 24 #else #define AHB_GATE_OFFSET_USB0 25 From patchwork Tue Feb 6 14:25:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869821 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="RwGLXFC0"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbS6c3pk4z9s8J for ; Wed, 7 Feb 2018 01:50:00 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 32C08C21DD7; Tue, 6 Feb 2018 14:34:39 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 02807C21E42; Tue, 6 Feb 2018 14:32:26 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id CA9C6C21E68; Tue, 6 Feb 2018 14:31:42 +0000 (UTC) Received: from mail-pf0-f193.google.com (mail-pf0-f193.google.com [209.85.192.193]) by lists.denx.de (Postfix) with ESMTPS id C8227C21DDF for ; Tue, 6 Feb 2018 14:31:38 +0000 (UTC) Received: by mail-pf0-f193.google.com with SMTP id z79so668866pff.13 for ; Tue, 06 Feb 2018 06:31:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=OVpAt4JWBzecb4AvJP+3qTrX3XLwcoDZ30qZSR94TcE=; b=RwGLXFC0mGzm7vgkDtC6dXUeccJQYfOEr/MWKmyJP+VgEAfZFH9/MFVvHO6wHlmLRC yv992scVtHoLM1CKqVPans3MzIivwpfloTlv9U4kAdB9fKljRcslTp/CCkj7/JUqAimh O9zIVeS1VFcXdXwMYnekHB0WuMYZUopTe2SFp3V5GxclObSagUQtHEK8cGd+CgUrSjN3 /1/iaAO8VfUoJEP1HSnEjtOZg0N/Oo6rN6NDsxgfDT6MiR1kSZElrtMyr4UQ7IqK1dvC loQ8kGKB9oryQR0WyiAxayKQJwE+EQjoPFqG/dvK38/u31yxH5waVVGW/CPFFINiKVhK vQIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=OVpAt4JWBzecb4AvJP+3qTrX3XLwcoDZ30qZSR94TcE=; b=knpJYc1p1yNX1WkjLjl1Y23JcDi3+8LQJPW0S0PsqcWiEoz970BcEtK16P4RoHBMBO Hx0azlMVLE/2FRf2VM6HYI8r+sORiJKayqxhA7s/tW7yZsya072drVrfYAwGcqGkeD3v 4rPsXfWXBE6cAHSJ7n4HwJ0W+SjHRM8n749jude8orpvDllWFi4hvjImAIFBC8fqVN2K dTwaLnHBVhz+2o4FoUayyy+Do3HlxzsYqSStznM6L2DRupTddoCzjwvOyIQLqz6q2abR k+4R1LFg4sYS6JthcgXme7fpsQIjNItUMiduNiO+y7Zyb0v+eiu2A5daCKWzCEhn5Xqm OFyQ== X-Gm-Message-State: APf1xPCjLVp5Wt+dFn7XBep/ogme0ZH1bYy1BGqCxFB+Zbo8Xm3HMckk 3xaRtjOXSarVSl9FFS43breVi9/N X-Google-Smtp-Source: AH8x225dJTiUAK/MoCmhdARpyaTYfT4OfaYRm3Aleqv5/81hLyeuK1ZrXdGkDAc+tSn+QI6kMto1hQ== X-Received: by 10.101.72.129 with SMTP id n1mr2081145pgs.181.1517927496933; Tue, 06 Feb 2018 06:31:36 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.31.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:31:36 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:36 +0530 Message-Id: <1517927164-18197-7-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 06/34] musb: sunxi: Add OTG device clkgate and reset for H3/H5 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Enable OTG device clkgate and reset for H3/H5 Signed-off-by: Jagan Teki Suggested-by: Jun Nie --- Note: Since the driver is dm-driver, we even add SOC changes based on compatible or driver_data but here few of the reset and clock bits and register offset memebers are in SOC includes files. I even try to add driver code by adding config structure in .data but that eventually increasing size. All these code will anyway move to clock and reset framework once dm support added. arch/arm/include/asm/arch-sunxi/clock_sun6i.h | 1 + drivers/usb/musb-new/sunxi.c | 24 ++++++++++++++++++------ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/arch/arm/include/asm/arch-sunxi/clock_sun6i.h b/arch/arm/include/asm/arch-sunxi/clock_sun6i.h index d794e16..6569883 100644 --- a/arch/arm/include/asm/arch-sunxi/clock_sun6i.h +++ b/arch/arm/include/asm/arch-sunxi/clock_sun6i.h @@ -288,6 +288,7 @@ struct sunxi_ccm_reg { #define AHB_GATE_OFFSET_USB_EHCI1 27 #define AHB_GATE_OFFSET_USB_EHCI0 26 #endif +#define AHB_GATE_OFFSET_OTG_DEVICE 23 #ifdef CONFIG_MACH_SUN50I #define AHB_GATE_OFFSET_USB0 23 #elif !defined(CONFIG_MACH_SUN8I_R40) diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c index 562d311..7d94936 100644 --- a/drivers/usb/musb-new/sunxi.c +++ b/drivers/usb/musb-new/sunxi.c @@ -80,6 +80,8 @@ struct sunxi_glue { struct musb_host_data mdata; struct sunxi_ccm_reg *ccm; struct device dev; + u32 rst_bit; + u32 clkgate_bit; }; #define to_sunxi_glue(d) container_of(d, struct sunxi_glue, dev) @@ -269,10 +271,13 @@ static int sunxi_musb_init(struct musb *musb) musb->isr = sunxi_musb_interrupt; - setbits_le32(&glue->ccm->ahb_gate0, 1 << AHB_GATE_OFFSET_USB0); + setbits_le32(&glue->ccm->ahb_gate0, + BIT(AHB_GATE_OFFSET_USB0) | glue->clkgate_bit); #ifdef CONFIG_SUNXI_GEN_SUN6I - setbits_le32(&glue->ccm->ahb_reset0_cfg, 1 << AHB_GATE_OFFSET_USB0); + setbits_le32(&glue->ccm->ahb_reset0_cfg, + BIT(AHB_GATE_OFFSET_USB0) | glue->rst_bit); #endif + sunxi_usb_phy_init(0); USBC_ConfigFIFO_Base(); @@ -367,10 +372,15 @@ static int musb_usb_probe(struct udevice *dev) pdata.power = 250; pdata.platform_ops = &sunxi_musb_ops; - if (!device_is_compatible(dev, "allwinner,sun8i-h3-musb")) + if (!device_is_compatible(dev, "allwinner,sun8i-h3-musb")) { pdata.config = &musb_config; - else + } else { pdata.config = &musb_config_h3; +#ifdef CONFIG_MACH_SUNXI_H3_H5 + glue->rst_bit = BIT(AHB_GATE_OFFSET_OTG_DEVICE); + glue->clkgate_bit = BIT(AHB_GATE_OFFSET_OTG_DEVICE); +#endif + } #ifdef CONFIG_USB_MUSB_HOST pdata.mode = MUSB_HOST; @@ -400,9 +410,11 @@ static int musb_usb_remove(struct udevice *dev) sunxi_usb_phy_exit(0); #ifdef CONFIG_SUNXI_GEN_SUN6I - clrbits_le32(&glue->ccm->ahb_reset0_cfg, 1 << AHB_GATE_OFFSET_USB0); + clrbits_le32(&glue->ccm->ahb_reset0_cfg, + BIT(AHB_GATE_OFFSET_USB0) | glue->rst_bit); #endif - clrbits_le32(&glue->ccm->ahb_gate0, 1 << AHB_GATE_OFFSET_USB0); + clrbits_le32(&glue->ccm->ahb_gate0, + BIT(AHB_GATE_OFFSET_USB0) | glue->clkgate_bit); free(host->host); host->host = NULL; From patchwork Tue Feb 6 14:25:37 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869798 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="RLjXNXpy"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbRvW70QLz9s82 for ; Wed, 7 Feb 2018 01:40:23 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 919CDC21E55; Tue, 6 Feb 2018 14:34:58 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 4E37BC21E79; Tue, 6 Feb 2018 14:32:52 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 844C4C21E35; Tue, 6 Feb 2018 14:31:46 +0000 (UTC) Received: from mail-pf0-f193.google.com (mail-pf0-f193.google.com [209.85.192.193]) by lists.denx.de (Postfix) with ESMTPS id B4700C21E50 for ; Tue, 6 Feb 2018 14:31:41 +0000 (UTC) Received: by mail-pf0-f193.google.com with SMTP id a14so669287pfi.7 for ; Tue, 06 Feb 2018 06:31:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=DVe0Q5DlJqkFsQ52GoXCoDOT8ILRQzrxyD3gZrH9MsQ=; b=RLjXNXpyp37IMUV/8o4azY2o+vU84PdBeCCkEX09BVPIZzcl8x+QQVA0T7wmwM/YjI cXUbPsQmKIer3haS9FLreENuGEaKH33F7pSRBmfkMbewgah5261jY7+QLAT1CKMDn4TJ m6Ax9Mkg5m4PJ9jU3WtU4nd/c1OMsfP1fc+nCtwboAi+LCzNTeI3+eSuyaKDckazVDD7 5HJflWxChNLqgGrVFrDh53lS7ShOTVgUVXdcZNP+uO560jHoHjj8BJz9GMymhXRq2rVU hdVe4TtFEWeA53/ktJJcqv0AmicaNb2Te3/w1Ijq20jXC8vz85dpw5C3tBXFeojCU8Ac 7Sjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=DVe0Q5DlJqkFsQ52GoXCoDOT8ILRQzrxyD3gZrH9MsQ=; b=shfxvUzDWPZf/VPwBGH2WO5A4V/4NWAlxUxy8wdcP16W0zrkQl2+5vAxmbvSIjuPkf Sb6OCFJwyD9pcOTYMryWe2yNI6n1a3UcVzcZxIZrLf6L/vCNvNGdi/VvB36ILw9owhRp Ufxgz615pbiiAwX7KuDYVjtmg522hZw0m4HZ1ZnbZcrHxqby+IZCR6YEAGeptMeYJllk Z/qjQ967p3TjJWzt/u4qXV6N8w/JkxK+M3AtYW4gRGm/vfRjU/oclz6emK5OJIKZIhAa 8tekqqV37KTuY5T3jw7Ar9OHFBr1kcJS+Bhu7wUlBfA0MWRK5BatzoTNw4tIT/M/4ej7 YeQA== X-Gm-Message-State: APf1xPAk2md/2LwouypkLW9m+XJb0R1k6F2bsXzOPWeixjtWsIFSextJ 444OBbCjrjjBKwFH4/IavkdhN1Xw X-Google-Smtp-Source: AH8x226OEwKcRDhnHCYGb8IXt9ou9XXYk4ymT7+sbmdnMzf1U+fuzy4aNElhd9iMr1Uhs6Stzk9U8g== X-Received: by 10.99.113.75 with SMTP id b11mr2173883pgn.271.1517927499966; Tue, 06 Feb 2018 06:31:39 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.31.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:31:39 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:37 +0530 Message-Id: <1517927164-18197-8-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 07/34] sunxi: clock: Fix OHCI clock gating for H3/H5 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Chen-Yu Tsai Clock gating bits on H43/H5 were wrong, fix them. Signed-off-by: Chen-Yu Tsai Reviewed-by: Jagan Teki --- arch/arm/include/asm/arch-sunxi/clock_sun6i.h | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/arch/arm/include/asm/arch-sunxi/clock_sun6i.h b/arch/arm/include/asm/arch-sunxi/clock_sun6i.h index 6569883..74da499 100644 --- a/arch/arm/include/asm/arch-sunxi/clock_sun6i.h +++ b/arch/arm/include/asm/arch-sunxi/clock_sun6i.h @@ -346,13 +346,10 @@ struct sunxi_ccm_reg { #define CCM_USB_CTRL_PHY2_CLK (0x1 << 10) #define CCM_USB_CTRL_PHY3_CLK (0x1 << 11) #ifdef CONFIG_MACH_SUNXI_H3_H5 -/* - * These are OHCI1 - OHCI3 in the datasheet (OHCI0 is for the OTG) we call - * them 0 - 2 like they were called on older SoCs. - */ -#define CCM_USB_CTRL_OHCI0_CLK (0x1 << 17) -#define CCM_USB_CTRL_OHCI1_CLK (0x1 << 18) -#define CCM_USB_CTRL_OHCI2_CLK (0x1 << 19) +#define CCM_USB_CTRL_OHCI0_CLK (0x1 << 16) +#define CCM_USB_CTRL_OHCI1_CLK (0x1 << 17) +#define CCM_USB_CTRL_OHCI2_CLK (0x1 << 18) +#define CCM_USB_CTRL_OHCI3_CLK (0x1 << 19) #else #define CCM_USB_CTRL_OHCI0_CLK (0x1 << 16) #define CCM_USB_CTRL_OHCI1_CLK (0x1 << 17) From patchwork Tue Feb 6 14:25:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869793 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="IVN6CpLR"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbRpk6985z9s8J for ; Wed, 7 Feb 2018 01:36:14 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 80335C21E6F; Tue, 6 Feb 2018 14:33:23 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 25915C21CEC; Tue, 6 Feb 2018 14:32:12 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 3829FC21E43; Tue, 6 Feb 2018 14:31:50 +0000 (UTC) Received: from mail-pl0-f67.google.com (mail-pl0-f67.google.com [209.85.160.67]) by lists.denx.de (Postfix) with ESMTPS id E55CFC21E43 for ; Tue, 6 Feb 2018 14:31:44 +0000 (UTC) Received: by mail-pl0-f67.google.com with SMTP id v3so1346835plg.3 for ; Tue, 06 Feb 2018 06:31:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=eUcm7Dvet4HaLCEOPa2LhSElOBNDnloYVlRMxbg1H1U=; b=IVN6CpLRagl6sluIvZK5cAVqLQu/LMkJ7KDrkKNsQXtED73fchZlvcn1C+95eRqv2r QGZRxVMX08ZZMytqsz1yAqrg2+x7Z2oLN9wvNc1uMzNZDCV1XiZw5cQgvpmTob+GzUi8 QfjDP610XyDXYxUxtxrCO2d6mjfDIfxiKgVRYeyNXDCCRTA8wXyk6SZB6ynSWN08apbR 946THn0u5lmKQyrGs9eUpxzSFbfcxoKI7yZMqZ79m2wr5etgQTqXbhFOEd7MJe8N8UIK xfOsawUDuBiS3oYqgMOcwTgroR1S0O35xU4+bL1CzsIaMKRAeu9dtuLZIP51xGASqwtz pdMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=eUcm7Dvet4HaLCEOPa2LhSElOBNDnloYVlRMxbg1H1U=; b=rUT2aVL3qWMPgVswq26nYDOCaUgtCOm9IFIX3OkizM/ezbW24EZjtiVGNJBpAnv1d0 VWv925ShsWTw5aXYWLBrVWfReQvu0UwVxqsUo57RXwqnHgkOSj+eR7lO7A90e3du0sRD 1P2wFvq2WSfmKaLyo3L6dbYxCjC3AnHDFM6IHOi4tczmQNt1tYw72Qbw7TzdrVUyFCw1 C71yuo8j4fv/DMMZINwE5xiYrjdYGP/SfDp1xI0rygvMTQjYclmvNHw6QYX9TWHVZoFJ /Oyejv1CkfOLbo/O67Gtt8Bh0I3gQLiGemOr5m+NJxpxQII402eR0ERNXEMnHTyCDA3n 27sw== X-Gm-Message-State: APf1xPD/WUMhykVg3k5A9Udob1i1SqqfMwLmMtJA0q/6TBvyemdp6gD5 0BXy2/VVgidsw4VYzaTTvLR4/A1S X-Google-Smtp-Source: AH8x2247uZ+JFWg7cFR1hZo6giaDir0x1g95jIPGlm8g2etU3XYv7EVWPUQA3KlCUj13QzEkMTR2Wg== X-Received: by 2002:a17:902:d81:: with SMTP id 1-v6mr2652079plv.270.1517927503208; Tue, 06 Feb 2018 06:31:43 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.31.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:31:42 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:38 +0530 Message-Id: <1517927164-18197-9-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 08/34] musb: sunxi: Add support for H3/H5A64 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Like other Allwinner SoC, the H3/H5/A64 is missing the config register from the musb hardware block. Use a known working value for it like other SoC. Signed-off-by: Jagan Teki --- drivers/usb/musb-new/musb_regs.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/usb/musb-new/musb_regs.h b/drivers/usb/musb-new/musb_regs.h index a3cc38e..a6a491a 100644 --- a/drivers/usb/musb-new/musb_regs.h +++ b/drivers/usb/musb-new/musb_regs.h @@ -432,7 +432,8 @@ static inline u8 musb_read_ulpi_buscontrol(void __iomem *mbase) static inline u8 musb_read_configdata(void __iomem *mbase) { -#if defined CONFIG_MACH_SUN8I_A33 || defined CONFIG_MACH_SUN8I_A83T +#if defined CONFIG_MACH_SUN8I_A33 || defined CONFIG_MACH_SUN8I_A83T || \ + defined CONFIG_MACH_SUNXI_H3_H5 || defined CONFIG_MACH_SUN50I /* allwinner saves a reg, and we need to hardcode this */ return 0xde; #else From patchwork Tue Feb 6 14:25:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869805 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="mVmfpcv0"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbRwH4BJ5z9s82 for ; Wed, 7 Feb 2018 01:41:03 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 10B01C21CA6; Tue, 6 Feb 2018 14:35:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 94E70C21DDF; Tue, 6 Feb 2018 14:33:00 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 321A4C21E90; Tue, 6 Feb 2018 14:31:54 +0000 (UTC) Received: from mail-pg0-f65.google.com (mail-pg0-f65.google.com [74.125.83.65]) by lists.denx.de (Postfix) with ESMTPS id CE62AC21E65 for ; Tue, 6 Feb 2018 14:31:48 +0000 (UTC) Received: by mail-pg0-f65.google.com with SMTP id a11so854266pgu.13 for ; Tue, 06 Feb 2018 06:31:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=tkAS5954ZjzWcrYpGTild3nA9kAkUeWyTVrS5TqgNMA=; b=mVmfpcv0dI5N4qPm/f4oLvkXsYHh6D0RDrxc9LUvz7cV5auR2RPeWvDM3dzLkVT807 u9n9mdg8uYgZZ3+eML3dgU8LZI5yB83oOSjfAtzV8NhWNW+Eh3b20FuhCO5tTiDDM4IL QgUsZpVTIe4MKGMR78y9bNxaO9f/TWAbnNjkZm+CKKBdZpZccfuozSWsuhHmZRj2D7xH SVl3zLPyCb04bjwadIgTGa72PFbwhfKr+5FZPqrE7odM1sM9OCvX2SIiKF5szzCKzRtS 0qtYfgIjvzgUYIX4kbjLq+Ukm7i2iXXxOSSiHt9mYiBAKYQYGSXXlikluwmiiLglTyxN s9Hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=tkAS5954ZjzWcrYpGTild3nA9kAkUeWyTVrS5TqgNMA=; b=fiBsoF1a4bxFb1Fu6LpD0eo9QyjK7WfH6AQcBdlz8qjpNNxPEIYW8g+a9M+HoUweZU /4/4DXoRHW4YQwJtHAytdo4W9fKpjq4QgUDP+RuPurBFpkibs/6AxOQY7w8Um61c4VWX ZFqCwErXWWTOGr90b580bkNZSLAJq/bO8mDBxN9SyUg7XPncZLn+YF2S2biJUyphO9Pz oEd19h/L6QIvhA6XTY3sOTbRlcX5Cj64RRI6P9LzcQCu0iFfAHxPNLUK48ZNaV7eGNEM 1f3e2StABgBNSfbaNUPPZ+ygFXHED5k15Hmq+20RPc91qfossT014u1cD2CFnVcWBp6Z yFkQ== X-Gm-Message-State: APf1xPAj1Fysmk+m710WjJLDynvhU5GgIOP9FNZ03U+K+3YfF4kujYKR zSsxB9Q8VApcUl7747kumry3BUtS X-Google-Smtp-Source: AH8x225g0I4KIryEBWYiW4SRZyBmi86qw4Se+UX4kHauYZjM3nmSAv3TmkhsP8rZO71z46KtVvdAVg== X-Received: by 10.101.70.69 with SMTP id k5mr2156259pgr.61.1517927506948; Tue, 06 Feb 2018 06:31:46 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.31.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:31:46 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:39 +0530 Message-Id: <1517927164-18197-10-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 09/34] phy: Add Allwinner A64 USB PHY driver X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" USB PHY implementation for Allwinner SOC's can be handling in to single driver with different phy configs. This driver handle all Allwinner USB PHY's start from 4I to 50I(except 9I). Currently added A64 compatibility more will add in next coming patches. Current implementation is unable to get pinctrl, clock and reset details from DT since the dm code on these will add it future. Driver named as phy-sun4i-usb.c since the same PHY logic work for all Allwinner SOC's start from 4I to A64 except 9I with different phy configurations. Signed-off-by: Jagan Teki --- drivers/Kconfig | 2 + drivers/Makefile | 1 + drivers/phy/allwinner/Kconfig | 13 ++ drivers/phy/allwinner/Makefile | 6 + drivers/phy/allwinner/phy-sun4i-usb.c | 400 ++++++++++++++++++++++++++++++++++ 5 files changed, 422 insertions(+) create mode 100644 drivers/phy/allwinner/Kconfig create mode 100644 drivers/phy/allwinner/Makefile create mode 100644 drivers/phy/allwinner/phy-sun4i-usb.c diff --git a/drivers/Kconfig b/drivers/Kconfig index c2e813f..9af8835 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -60,6 +60,8 @@ source "drivers/pcmcia/Kconfig" source "drivers/phy/Kconfig" +source "drivers/phy/allwinner/Kconfig" + source "drivers/phy/marvell/Kconfig" source "drivers/pinctrl/Kconfig" diff --git a/drivers/Makefile b/drivers/Makefile index e6062a5..6862a44 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -79,6 +79,7 @@ obj-$(CONFIG_NVME) += nvme/ obj-y += pcmcia/ obj-y += dfu/ obj-$(CONFIG_X86) += pch/ +obj-y += phy/allwinner/ obj-y += phy/marvell/ obj-y += rtc/ obj-y += scsi/ diff --git a/drivers/phy/allwinner/Kconfig b/drivers/phy/allwinner/Kconfig new file mode 100644 index 0000000..dba3bae --- /dev/null +++ b/drivers/phy/allwinner/Kconfig @@ -0,0 +1,13 @@ +# +# Phy drivers for Allwinner platforms +# +config PHY_SUN4I_USB + bool "Allwinner Sun4I USB PHY driver" + depends on ARCH_SUNXI + select PHY + help + Enable this to support the transceiver that is part of Allwinner + sunxi SoCs. + + This driver controls the entire USB PHY block, both the USB OTG + parts, as well as the 2 regular USB 2 host PHYs. diff --git a/drivers/phy/allwinner/Makefile b/drivers/phy/allwinner/Makefile new file mode 100644 index 0000000..5ed2702 --- /dev/null +++ b/drivers/phy/allwinner/Makefile @@ -0,0 +1,6 @@ +# Copyright (C) 2016 Amarula Solutions +# +# SPDX-License-Identifier: GPL-2.0+ +# + +obj-$(CONFIG_PHY_SUN4I_USB) += phy-sun4i-usb.o diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c new file mode 100644 index 0000000..78304c1 --- /dev/null +++ b/drivers/phy/allwinner/phy-sun4i-usb.c @@ -0,0 +1,400 @@ +/* + * Allwinner sun4i USB PHY driver + * + * Copyright (C) 2017 Jagan Teki + * Copyright (C) 2015 Hans de Goede + * Copyright (C) 2014 Roman Byshko + * + * Modelled arch/arm/mach-sunxi/usb_phy.c to compatible with generic-phy. + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define REG_ISCR 0x00 +#define REG_PHYCTL_A10 0x04 +#define REG_PHYBIST 0x08 +#define REG_PHYTUNE 0x0c +#define REG_PHYCTL_A33 0x10 +#define REG_PHY_OTGCTL 0x20 +#define REG_PMU_UNK1 0x10 + +/* Common Control Bits for Both PHYs */ +#define PHY_PLL_BW 0x03 +#define PHY_RES45_CAL_EN 0x0c + +/* Private Control Bits for Each PHY */ +#define PHY_TX_AMPLITUDE_TUNE 0x20 +#define PHY_TX_SLEWRATE_TUNE 0x22 +#define PHY_DISCON_TH_SEL 0x2a + +#define PHYCTL_DATA BIT(7) +#define OTGCTL_ROUTE_MUSB BIT(0) + +#define PHY_TX_RATE BIT(4) +#define PHY_TX_MAGNITUDE BIT(2) +#define PHY_TX_AMPLITUDE_LEN 5 + +#define PHY_RES45_CAL_DATA BIT(0) +#define PHY_RES45_CAL_LEN 1 +#define PHY_DISCON_TH_LEN 2 + +#define SUNXI_AHB_ICHR8_EN BIT(10) +#define SUNXI_AHB_INCR4_BURST_EN BIT(9) +#define SUNXI_AHB_INCRX_ALIGN_EN BIT(8) +#define SUNXI_ULPI_BYPASS_EN BIT(0) + +#define MAX_PHYS 4 + +enum sun4i_usb_phy_type { + sun50i_a64_phy, +}; + +struct sun4i_usb_phy_cfg { + int num_phys; + enum sun4i_usb_phy_type type; + u32 disc_thresh; + u8 phyctl_offset; + bool enable_pmu_unk1; + bool phy0_dual_route; +}; + +struct sun4i_usb_phy_info { + const char *gpio_vbus; + const char *gpio_vbus_det; + const char *gpio_id_det; + int rst_mask; +} phy_info[] = { + { + .gpio_vbus = CONFIG_USB0_VBUS_PIN, + .gpio_vbus_det = CONFIG_USB0_VBUS_DET, + .gpio_id_det = CONFIG_USB0_ID_DET, + .rst_mask = (CCM_USB_CTRL_PHY0_RST | CCM_USB_CTRL_PHY0_CLK), + }, + { + .gpio_vbus = CONFIG_USB1_VBUS_PIN, + .gpio_vbus_det = NULL, + .gpio_id_det = NULL, + .rst_mask = (CCM_USB_CTRL_PHY1_RST | CCM_USB_CTRL_PHY1_CLK), + }, + { + .gpio_vbus = CONFIG_USB2_VBUS_PIN, + .gpio_vbus_det = NULL, + .gpio_id_det = NULL, + .rst_mask = (CCM_USB_CTRL_PHY2_RST | CCM_USB_CTRL_PHY2_CLK), + }, + { + .gpio_vbus = CONFIG_USB3_VBUS_PIN, + .gpio_vbus_det = NULL, + .gpio_id_det = NULL, + .rst_mask = (CCM_USB_CTRL_PHY3_RST | CCM_USB_CTRL_PHY3_CLK), + }, +}; + +struct sun4i_usb_phy_plat { + void __iomem *pmu; + int power_on_count; + int gpio_vbus; + int gpio_vbus_det; + int gpio_id_det; + int rst_mask; + int id; +}; + +struct sun4i_usb_phy_data { + void __iomem *base; + struct sunxi_ccm_reg *ccm; + const struct sun4i_usb_phy_cfg *cfg; + struct sun4i_usb_phy_plat *usb_phy; +}; + +static int initial_usb_scan_delay = CONFIG_INITIAL_USB_SCAN_DELAY; + +static void sun4i_usb_phy_write(struct phy *phy, u32 addr, u32 data, int len) +{ + struct sun4i_usb_phy_data *phy_data = dev_get_priv(phy->dev); + struct sun4i_usb_phy_plat *usb_phy = &phy_data->usb_phy[phy->id]; + u32 temp, usbc_bit = BIT(usb_phy->id * 2); + void __iomem *phyctl = phy_data->base + phy_data->cfg->phyctl_offset; + int i; + + if (phy_data->cfg->phyctl_offset == REG_PHYCTL_A33) { + /* SoCs newer than A33 need us to set phyctl to 0 explicitly */ + writel(0, phyctl); + } + + for (i = 0; i < len; i++) { + temp = readl(phyctl); + + /* clear the address portion */ + temp &= ~(0xff << 8); + + /* set the address */ + temp |= ((addr + i) << 8); + writel(temp, phyctl); + + /* set the data bit and clear usbc bit*/ + temp = readb(phyctl); + if (data & 0x1) + temp |= PHYCTL_DATA; + else + temp &= ~PHYCTL_DATA; + temp &= ~usbc_bit; + writeb(temp, phyctl); + + /* pulse usbc_bit */ + temp = readb(phyctl); + temp |= usbc_bit; + writeb(temp, phyctl); + + temp = readb(phyctl); + temp &= ~usbc_bit; + writeb(temp, phyctl); + + data >>= 1; + } +} + +static void sun4i_usb_phy_passby(struct sun4i_usb_phy_plat *usb_phy, + bool enable) +{ + u32 bits, reg_value; + + if (!usb_phy->pmu) + return; + + bits = SUNXI_AHB_ICHR8_EN | SUNXI_AHB_INCR4_BURST_EN | + SUNXI_AHB_INCRX_ALIGN_EN | SUNXI_ULPI_BYPASS_EN; + reg_value = readl(usb_phy->pmu); + + if (enable) + reg_value |= bits; + else + reg_value &= ~bits; + + writel(reg_value, usb_phy->pmu); +} + +static int sun4i_usb_phy_power_on(struct phy *phy) +{ + struct sun4i_usb_phy_data *data = dev_get_priv(phy->dev); + struct sun4i_usb_phy_plat *usb_phy = &data->usb_phy[phy->id]; + + if (initial_usb_scan_delay) { + mdelay(initial_usb_scan_delay); + initial_usb_scan_delay = 0; + } + + usb_phy->power_on_count++; + if (usb_phy->power_on_count != 1) + return 0; + + if (usb_phy->gpio_vbus >= 0) + gpio_set_value(usb_phy->gpio_vbus, SUNXI_GPIO_PULL_UP); + + return 0; +} + +static int sun4i_usb_phy_power_off(struct phy *phy) +{ + struct sun4i_usb_phy_data *data = dev_get_priv(phy->dev); + struct sun4i_usb_phy_plat *usb_phy = &data->usb_phy[phy->id]; + + usb_phy->power_on_count--; + if (usb_phy->power_on_count != 0) + return 0; + + if (usb_phy->gpio_vbus >= 0) + gpio_set_value(usb_phy->gpio_vbus, SUNXI_GPIO_PULL_DISABLE); + + return 0; +} + +static void sun4i_usb_phy0_reroute(struct sun4i_usb_phy_data *data, bool id_det) +{ + u32 regval; + + regval = readl(data->base + REG_PHY_OTGCTL); + if (!id_det) { + /* Host mode. Route phy0 to EHCI/OHCI */ + regval &= ~OTGCTL_ROUTE_MUSB; + } else { + /* Peripheral mode. Route phy0 to MUSB */ + regval |= OTGCTL_ROUTE_MUSB; + } + writel(regval, data->base + REG_PHY_OTGCTL); +} + +static int sun4i_usb_phy_init(struct phy *phy) +{ + struct sun4i_usb_phy_data *data = dev_get_priv(phy->dev); + struct sun4i_usb_phy_plat *usb_phy = &data->usb_phy[phy->id]; + u32 val; + + setbits_le32(&data->ccm->usb_clk_cfg, usb_phy->rst_mask); + + if (usb_phy->pmu && data->cfg->enable_pmu_unk1) { + val = readl(usb_phy->pmu + REG_PMU_UNK1); + writel(val & ~2, usb_phy->pmu + REG_PMU_UNK1); + } + + if (usb_phy->id == 0) + sun4i_usb_phy_write(phy, PHY_RES45_CAL_EN, PHY_RES45_CAL_DATA, + PHY_RES45_CAL_LEN); + + /* Adjust PHY's magnitude and rate */ + sun4i_usb_phy_write(phy, PHY_TX_AMPLITUDE_TUNE, PHY_TX_MAGNITUDE | + PHY_TX_RATE, PHY_TX_AMPLITUDE_LEN); + + /* Disconnect threshold adjustment */ + sun4i_usb_phy_write(phy, PHY_DISCON_TH_SEL, data->cfg->disc_thresh, + PHY_DISCON_TH_LEN); + + if (usb_phy->id != 0) + sun4i_usb_phy_passby(usb_phy, true); + + sun4i_usb_phy0_reroute(data, true); + + return 0; +} + +static int sun4i_usb_phy_exit(struct phy *phy) +{ + struct sun4i_usb_phy_data *data = dev_get_priv(phy->dev); + struct sun4i_usb_phy_plat *usb_phy = &data->usb_phy[phy->id]; + + sun4i_usb_phy_passby(usb_phy, false); + + clrbits_le32(&data->ccm->usb_clk_cfg, usb_phy->rst_mask); + + return 0; +} + +static int sun4i_usb_phy_xlate(struct phy *phy, + struct ofnode_phandle_args *args) +{ + struct sun4i_usb_phy_data *data = dev_get_priv(phy->dev); + + if (args->args_count >= data->cfg->num_phys) + return -EINVAL; + + if (args->args_count) + phy->id = args->args[0]; + else + phy->id = 0; + + debug("%s: phy_id = %ld\n", __func__, phy->id); + return 0; +} + +static struct phy_ops sun4i_usb_phy_ops = { + .of_xlate = sun4i_usb_phy_xlate, + .init = sun4i_usb_phy_init, + .power_on = sun4i_usb_phy_power_on, + .power_off = sun4i_usb_phy_power_off, + .exit = sun4i_usb_phy_exit, +}; + +static int sun4i_usb_phy_probe(struct udevice *dev) +{ + struct sun4i_usb_phy_plat *plat = dev_get_platdata(dev); + struct sun4i_usb_phy_data *data = dev_get_priv(dev); + int i, ret; + + data->cfg = (const struct sun4i_usb_phy_cfg *)dev_get_driver_data(dev); + if (!data->cfg) + return -EINVAL; + + data->base = (void __iomem *)devfdt_get_addr_name(dev, "phy_ctrl"); + if (IS_ERR(data->base)) + return PTR_ERR(data->base); + + data->ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; + if (IS_ERR(data->ccm)) + return PTR_ERR(data->ccm); + + data->usb_phy = plat; + for (i = 0; i < data->cfg->num_phys; i++) { + struct sun4i_usb_phy_plat *phy = &plat[i]; + struct sun4i_usb_phy_info *info = &phy_info[i]; + char name[16]; + + phy->gpio_vbus = sunxi_name_to_gpio(info->gpio_vbus); + if (phy->gpio_vbus >= 0) { + ret = gpio_request(phy->gpio_vbus, "usb_vbus"); + if (ret) + return ret; + ret = gpio_direction_output(phy->gpio_vbus, 0); + if (ret) + return ret; + } + + phy->gpio_vbus_det = sunxi_name_to_gpio(info->gpio_vbus_det); + if (phy->gpio_vbus_det >= 0) { + ret = gpio_request(phy->gpio_vbus_det, "usb_vbus_det"); + if (ret) + return ret; + ret = gpio_direction_input(phy->gpio_vbus_det); + if (ret) + return ret; + } + + phy->gpio_id_det = sunxi_name_to_gpio(info->gpio_id_det); + if (phy->gpio_id_det >= 0) { + ret = gpio_request(phy->gpio_id_det, "usb_id_det"); + if (ret) + return ret; + ret = gpio_direction_input(phy->gpio_id_det); + if (ret) + return ret; + sunxi_gpio_set_pull(phy->gpio_id_det, SUNXI_GPIO_PULL_UP); + } + + if (i || data->cfg->phy0_dual_route) { + snprintf(name, sizeof(name), "pmu%d", i); + phy->pmu = (void __iomem *)devfdt_get_addr_name(dev, name); + if (IS_ERR(phy->pmu)) + return PTR_ERR(phy->pmu); + } + + phy->id = i; + phy->rst_mask = info->rst_mask; + }; + + setbits_le32(&data->ccm->usb_clk_cfg, CCM_USB_CTRL_PHYGATE); + + debug("Allwinner Sun4I USB PHY driver loaded\n"); + return 0; +} + +static const struct sun4i_usb_phy_cfg sun50i_a64_cfg = { + .num_phys = 2, + .type = sun50i_a64_phy, + .disc_thresh = 3, + .phyctl_offset = REG_PHYCTL_A33, + .enable_pmu_unk1 = true, + .phy0_dual_route = true, +}; + +static const struct udevice_id sun4i_usb_phy_ids[] = { + { .compatible = "allwinner,sun50i-a64-usb-phy", .data = (ulong)&sun50i_a64_cfg}, + { } +}; + +U_BOOT_DRIVER(sun4i_usb_phy) = { + .name = "sun4i_usb_phy", + .id = UCLASS_PHY, + .of_match = sun4i_usb_phy_ids, + .ops = &sun4i_usb_phy_ops, + .probe = sun4i_usb_phy_probe, + .platdata_auto_alloc_size = sizeof(struct sun4i_usb_phy_plat[MAX_PHYS]), + .priv_auto_alloc_size = sizeof(struct sun4i_usb_phy_data), +}; From patchwork Tue Feb 6 14:25:40 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869807 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="BRXsj/Bk"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbRx3362Xz9s8J for ; Wed, 7 Feb 2018 01:41:43 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id E382FC21E37; Tue, 6 Feb 2018 14:33:59 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 45DFFC21E67; Tue, 6 Feb 2018 14:32:18 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 3704CC21C3F; Tue, 6 Feb 2018 14:31:57 +0000 (UTC) Received: from mail-pf0-f193.google.com (mail-pf0-f193.google.com [209.85.192.193]) by lists.denx.de (Postfix) with ESMTPS id 2A266C21DA1 for ; Tue, 6 Feb 2018 14:31:52 +0000 (UTC) Received: by mail-pf0-f193.google.com with SMTP id l9so669037pfi.6 for ; Tue, 06 Feb 2018 06:31:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=GJAIxx0xSS8KGpDHpxHYKjW60dJ5+yYRwu7OCSdel/M=; b=BRXsj/BkC6pe7SPBH4/E1xXDjgBdyin9SozXsNqfz544nue4VxcyC5Ptz/aT90jNQe TTjgbw5G+LfVp0Qq4kS0BTU0F11bW43iYfhAi559beb/bSW/oSSpnFg3z3wS8WZKgDWR Mudg82FsVoPA4FAXNIJ1SEgV+NNSbJhaspzXRNfegFYLL3zy+4V2pRAEtfA5rrYeiyqi jEAQDZOJzGdg3wTSG+XVej2/qIDYJUMjKw1beQmAzsGM0rVA1tCRCtb5vGCRq5wQiwsk NNS3TR4UDarnVBrvgpEbkwRCYDHEu0U1mQ2FnQSJ/KZEWKfBnIcpptGi5YU7Psz25fV9 TM0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=GJAIxx0xSS8KGpDHpxHYKjW60dJ5+yYRwu7OCSdel/M=; b=X5w3uKh7Cy7A9IZqQx3+8PNKgYxq2lu0nGCVxTvCrXNWTbwDb0H4vx+UvncjGE76jM XqsnWnwG9Ww98xYunHXSx9r4dY8DHtolc3yomEyNXgaAv6nulLFsjeoO/1xwRLHRrobd JpafcAysykh/oj4fqrKiYgMwJjup2Lsq/Am5uQC3oOIitX7Eluy6z2UhapklDSl7JEUd qL9XKVXlOWysW5J6u1BsIDZTOKWyqp2VSm67doEhtbLX1q5wD+1wvCymW8gjMGljP8LP ni2Wg50A7/LskcTQfL2C4jl6BQnMXRnrc7sWa4K99fjBsnuBZRYwC3xCFv+Z0KJp0zCy 0GHg== X-Gm-Message-State: APf1xPBCu/mmGi6ZLN02TzWubeGvdasehXJZxVofFvEz/OLLW+kf35KE Vu24e6S6TuUFNE26bgJv4XK+0Vf7 X-Google-Smtp-Source: AH8x224yfa6wZflRrS0RbzPdhUK71aYFEfF3MwhX6MLAbBaBefanrCQWQhOeI029aCUCRmQbdXPV7w== X-Received: by 10.99.50.66 with SMTP id y63mr2099546pgy.157.1517927510421; Tue, 06 Feb 2018 06:31:50 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.31.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:31:49 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:40 +0530 Message-Id: <1517927164-18197-11-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 10/34] phy: sun4i-usb: Add id_detect and vbus_detect ops X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" ID and VBUS detection code require when musb changing between Host and/or Peripheral modes. Signed-off-by: Jagan Teki --- drivers/phy/allwinner/phy-sun4i-usb.c | 39 +++++++++++++++++++++++++++++++++++ include/phy-sun4i-usb.h | 26 +++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 include/phy-sun4i-usb.h diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c index 78304c1..7f2970b 100644 --- a/drivers/phy/allwinner/phy-sun4i-usb.c +++ b/drivers/phy/allwinner/phy-sun4i-usb.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -295,6 +296,44 @@ static int sun4i_usb_phy_xlate(struct phy *phy, return 0; } +int sun4i_usb_phy_vbus_detect(struct phy *phy) +{ + struct sun4i_usb_phy_data *data = dev_get_priv(phy->dev); + struct sun4i_usb_phy_plat *usb_phy = &data->usb_phy[phy->id]; + int err, retries = 3; + + debug("%s: id_det = %d\n", __func__, usb_phy->gpio_id_det); + + if (usb_phy->gpio_vbus_det < 0) + return usb_phy->gpio_vbus_det; + + err = gpio_get_value(usb_phy->gpio_vbus_det); + /* + * Vbus may have been provided by the board and just been turned of + * some milliseconds ago on reset, what we're measuring then is a + * residual charge on Vbus, sleep a bit and try again. + */ + while (err > 0 && retries--) { + mdelay(100); + err = gpio_get_value(usb_phy->gpio_vbus_det); + } + + return err; +} + +int sun4i_usb_phy_id_detect(struct phy *phy) +{ + struct sun4i_usb_phy_data *data = dev_get_priv(phy->dev); + struct sun4i_usb_phy_plat *usb_phy = &data->usb_phy[phy->id]; + + debug("%s: id_det = %d\n", __func__, usb_phy->gpio_id_det); + + if (usb_phy->gpio_id_det < 0) + return usb_phy->gpio_id_det; + + return gpio_get_value(usb_phy->gpio_id_det); +} + static struct phy_ops sun4i_usb_phy_ops = { .of_xlate = sun4i_usb_phy_xlate, .init = sun4i_usb_phy_init, diff --git a/include/phy-sun4i-usb.h b/include/phy-sun4i-usb.h new file mode 100644 index 0000000..040e9d3 --- /dev/null +++ b/include/phy-sun4i-usb.h @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2017 Jagan Teki + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef __GENERIC_PHY_SUN4I_USB_H +#define __GENERIC_PHY_SUN4I_USB_H + +/** + * sun4i_usb_phy_id_detect - detect ID pin of USB PHY + * + * @phy: USB PHY port to detect ID pin + * @return 0 if OK, or a negative error code + */ +int sun4i_usb_phy_id_detect(struct phy *phy); + +/** + * sun4i_usb_phy_vbus_detect - detect VBUS pin of USB PHY + * + * @phy: USB PHY port to detect VBUS pin + * @return 0 if OK, or a negative error code + */ +int sun4i_usb_phy_vbus_detect(struct phy *phy); + +#endif /*__GENERIC_PHY_SUN4I_USB_H */ From patchwork Tue Feb 6 14:25:41 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869806 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="M6Te3NQ0"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbRwT0rVBz9s82 for ; Wed, 7 Feb 2018 01:41:13 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id C01DCC21CEC; Tue, 6 Feb 2018 14:34:18 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 3EF07C21E64; Tue, 6 Feb 2018 14:32:21 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 2D69CC21E52; Tue, 6 Feb 2018 14:32:00 +0000 (UTC) Received: from mail-pf0-f194.google.com (mail-pf0-f194.google.com [209.85.192.194]) by lists.denx.de (Postfix) with ESMTPS id 5C7DAC21E5D for ; Tue, 6 Feb 2018 14:31:55 +0000 (UTC) Received: by mail-pf0-f194.google.com with SMTP id q79so669945pfl.5 for ; Tue, 06 Feb 2018 06:31:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=biWqYcQl8oeUwp2hg+7McY1Zb5rVj+jWG89hL+BzEzE=; b=M6Te3NQ04SgiVwmUKJCFBq8ccpzClHLSre+rpE3Ae9cua0b7F7eaHUJ+wSxXUGQKmj bFToVnY8S5ry/Wj1YKYkKQg/HK6P58nEPB9UUGRhQMQuvNdpnO8iRS1Vc2DS2DdQekdU YFkxgxSo/5qwIbHQ+n+Td7CgAYV4Z0fphnYeyzF9KEoE8a1PlQtJeESQEoQPwsDXOwFT 4Nq0ND5JYrDn26strsq0neEEiwh7ekdoFsrzNzxig7/evBLIcv5ZsvfjoJsIhUDMwBcC 4tID/Iq2qAz+RpGi1O0GEK5Zmx8RB+w9UzS0Trt9MDOwzSiIH7pYOGTFeizYZMwAKQ8V w1/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=biWqYcQl8oeUwp2hg+7McY1Zb5rVj+jWG89hL+BzEzE=; b=FA4hOc9ewZBGFpDam5EXTmXOi1m8S5viC5F3Uxuo9H7WxLeVkYPMI/njUdjoyvHpsA EetI1oboo7VBSvewnk1dNUYJiRFjaiFT5T0i3KwbMnTDYFWtMyUF0kLMUiK6MyrV51wt HxhOBXE2wSEPgxNnNDZVRwoYIH/Ggdhc+jigk8xJJuZNF5E8Mc9quvin1qOLx+hYpaLB 833d2K2AoML6L8DYOJNmOENKUCkHuLtEoEL0z5UIzx9p0bLtlUWEFidwp9/LzPwxckht 8p2nHP4NdVdpvsrFCpi/KqCkflHVlDjT9T75lHapD+yrQj+aj1ownoZQPF3ykm5nSb7U Koqw== X-Gm-Message-State: APf1xPBpdCNjERctuAjOTvU+c609ddoYSRPKhCIZ2xwYv8sB3Zg1kFaL C5I8+B1ZcTGqQTiPkJoy2PcSEdcR X-Google-Smtp-Source: AH8x226xxGjfW2HWowKV6GGnOTpFneJv4jIGZeXOxzvA21tX8wwL+getF836GrB8mZvei3aVJTsS1A== X-Received: by 10.101.82.141 with SMTP id y13mr2113661pgp.179.1517927513637; Tue, 06 Feb 2018 06:31:53 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.31.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:31:53 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:41 +0530 Message-Id: <1517927164-18197-12-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 11/34] phy: sun4i-usb: Add H3/H5 PHY config X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" H3/H5 has 4 USB PHY, rest are similar to A64. Signed-off-by: Jagan Teki --- drivers/phy/allwinner/phy-sun4i-usb.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c index 7f2970b..993f036 100644 --- a/drivers/phy/allwinner/phy-sun4i-usb.c +++ b/drivers/phy/allwinner/phy-sun4i-usb.c @@ -56,6 +56,7 @@ #define MAX_PHYS 4 enum sun4i_usb_phy_type { + sun8i_h3_phy, sun50i_a64_phy, }; @@ -414,6 +415,15 @@ static int sun4i_usb_phy_probe(struct udevice *dev) return 0; } +static const struct sun4i_usb_phy_cfg sun8i_h3_cfg = { + .num_phys = 4, + .type = sun8i_h3_phy, + .disc_thresh = 3, + .phyctl_offset = REG_PHYCTL_A33, + .enable_pmu_unk1 = true, + .phy0_dual_route = true, +}; + static const struct sun4i_usb_phy_cfg sun50i_a64_cfg = { .num_phys = 2, .type = sun50i_a64_phy, @@ -424,6 +434,7 @@ static const struct sun4i_usb_phy_cfg sun50i_a64_cfg = { }; static const struct udevice_id sun4i_usb_phy_ids[] = { + { .compatible = "allwinner,sun8i-h3-usb-phy", .data = (ulong)&sun8i_h3_cfg }, { .compatible = "allwinner,sun50i-a64-usb-phy", .data = (ulong)&sun50i_a64_cfg}, { } }; From patchwork Tue Feb 6 14:25:42 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869819 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="fH8DZo8/"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbS465MwQz9s82 for ; Wed, 7 Feb 2018 01:47:50 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 6ADAFC21E39; Tue, 6 Feb 2018 14:33:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 5C20FC21D9F; Tue, 6 Feb 2018 14:32:17 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id DB135C21E74; Tue, 6 Feb 2018 14:32:03 +0000 (UTC) Received: from mail-pf0-f194.google.com (mail-pf0-f194.google.com [209.85.192.194]) by lists.denx.de (Postfix) with ESMTPS id 026EDC21E3B for ; Tue, 6 Feb 2018 14:31:59 +0000 (UTC) Received: by mail-pf0-f194.google.com with SMTP id l9so669181pfi.6 for ; Tue, 06 Feb 2018 06:31:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Wf9u/QLaOU1PNJYR7Aa4+6iyYXiHB3ePrqgpAfterdY=; b=fH8DZo8/a44rW/tTsvwDsVdHzrwwtnCK6LOLRjM+wu8pCFahwOa8G2kCx7KYjgvy/z rt+OhP2W2u0yShUbiTceyXNe0HOtIL668IczsR+chpyBVkqWSMc+b5EkB3wJ7nsKzPgd ahRe4jGPK59zeNJKBo5H4EMFoARQwkwREZHW0brprOZ1RuMzX3pbepVZyzxVR0QqdsvV 3/aMYhBqlAsEIPyErGagVQPv7GAJAIZCbAwSwNpddvekid0IfA28USwbCSM7ZqObWmNQ c0iP1w2ZnYaJ2+syGlTX70OeC2gsoseQXn0wEFEzKAcRgwAsnwQzOEQoWcvGNJxslZZZ qFMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Wf9u/QLaOU1PNJYR7Aa4+6iyYXiHB3ePrqgpAfterdY=; b=OuymB8fx9TcniLizYCRNOibB08YKDWAoHsMD2ynCqJRK11sxhTM3t8XS50yOkl360/ 6FA4xHWuJarFR20b4DARdT3wn1eIsfyJds9zAr56MVuI7odiWDfNZ5DnGKyGzJDsASkt ST8dm/XUB67WZPjhneFsD75Ma2G7Qmn7YSqjn3OoKCiC6T3CMR6MVRAJPn/jgj0SyaER wKJBvnN2AkClDqrQhQm6R9QJVW6T25LH5V8ytfS+gnZJPzQRJtCnNE+DpAIjVyr6zgmA uxORbeJMIpR2h3+uks5jDPmQDxklVLrSxamqejM8k8cp2qFVF+p8iIq7R+XblKCbZOMp cOZg== X-Gm-Message-State: APf1xPCQcWMF04Ac3PgdFh9q41UYEeoetEvGl3JdC7bYtRCu5V1Gn6mK /zujxubmqB8mrbanhtk8269wIaU8 X-Google-Smtp-Source: AH8x224izLUBCUT9y2vR6stvo8kZIE/9q87ep91/8mv1Q0oyRlNCGhLT/3tL4M94WKN3TSsr/3p5jg== X-Received: by 10.101.101.149 with SMTP id u21mr2180993pgv.251.1517927517317; Tue, 06 Feb 2018 06:31:57 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.31.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:31:56 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:42 +0530 Message-Id: <1517927164-18197-13-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 12/34] phy: sun4i-usb: Add V3S PHY config X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" V3S has 1 USB PHY, rest are similar to A64. Signed-off-by: Jagan Teki --- drivers/phy/allwinner/phy-sun4i-usb.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c index 993f036..de0a59a 100644 --- a/drivers/phy/allwinner/phy-sun4i-usb.c +++ b/drivers/phy/allwinner/phy-sun4i-usb.c @@ -57,6 +57,7 @@ enum sun4i_usb_phy_type { sun8i_h3_phy, + sun8i_v3s_phy, sun50i_a64_phy, }; @@ -424,6 +425,15 @@ static const struct sun4i_usb_phy_cfg sun8i_h3_cfg = { .phy0_dual_route = true, }; +static const struct sun4i_usb_phy_cfg sun8i_v3s_cfg = { + .num_phys = 1, + .type = sun8i_v3s_phy, + .disc_thresh = 3, + .phyctl_offset = REG_PHYCTL_A33, + .enable_pmu_unk1 = true, + .phy0_dual_route = true, +}; + static const struct sun4i_usb_phy_cfg sun50i_a64_cfg = { .num_phys = 2, .type = sun50i_a64_phy, @@ -435,6 +445,7 @@ static const struct sun4i_usb_phy_cfg sun50i_a64_cfg = { static const struct udevice_id sun4i_usb_phy_ids[] = { { .compatible = "allwinner,sun8i-h3-usb-phy", .data = (ulong)&sun8i_h3_cfg }, + { .compatible = "allwinner,sun8i-v3s-usb-phy", .data = (ulong)&sun8i_v3s_cfg }, { .compatible = "allwinner,sun50i-a64-usb-phy", .data = (ulong)&sun50i_a64_cfg}, { } }; From patchwork Tue Feb 6 14:25:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869834 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="b3VoyMG9"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbSDQ37P7z9ryr for ; Wed, 7 Feb 2018 01:55:02 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 09E6BC21E67; Tue, 6 Feb 2018 14:38:29 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id D97EFC21E41; Tue, 6 Feb 2018 14:35:10 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 47094C21E67; Tue, 6 Feb 2018 14:32:07 +0000 (UTC) Received: from mail-pf0-f193.google.com (mail-pf0-f193.google.com [209.85.192.193]) by lists.denx.de (Postfix) with ESMTPS id CED03C21E43 for ; Tue, 6 Feb 2018 14:32:02 +0000 (UTC) Received: by mail-pf0-f193.google.com with SMTP id q79so670103pfl.5 for ; Tue, 06 Feb 2018 06:32:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=v0PgTP9EdKKOHDdIfzbgeHEmVf7z7VLvCtBKAPu0czM=; b=b3VoyMG9zX3TcQNQEcozonKrExErDLO0W51vevFFVNFxeWqqtAgfRe9z4Al4yW8rxv T0U0WDRhmnii6Ab1Z1ra/mOtOTT+fhHx9puCd4NkxwSl7u+ylxCgQ2DMTGFgk17zaaEk 0Ush1Pzmzxy4wtDyi4ajkh8LNfhaoqG17fQMb9oPIx0YgLBq7iVr5/TtmxGum41/lqhs dwDrHP7NHIULRqSmy3XPdQ69tWspdhuN6i/koXSlrTeJBDALULQUDczsxyTavRAmMorC XxtFaAOMpbG9FVvdct+ZM9G344MTUyGlbbxqKR5e8HVxCqD/6W0xvKoyU59g27xU432h OezA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=v0PgTP9EdKKOHDdIfzbgeHEmVf7z7VLvCtBKAPu0czM=; b=VtXtdzUqMz/8JcBplkZvvUzkKBoN9VGM+0vCP4vwDwfJiUkCOSElGjNisNi2qVOegG +CnRVr1cLonteChy03uF60aiaZeYTsLmlXt6BrG7FXdnFKFZxM8mn9wwtVU+RNmiO+Iv 2CTQLtJ1SSAY5RFHoRipWMKJ+/pzhz/8sUxgUivpBtjE1fjNgHaYgq9NNJsZl0NC7pKz Qo2JCJF1qTGAH/dH3lfrbWKA4e+ng6jvVES2RaYhT4/z3ddVSvhINcgYRvx959LHtqYk zU1t0U4DNrbXU3Qy4gEyT+7BZKVMbQ0s8MpT30pUSPP/mLGmegjmOxTjFiKcRjZQ3Tir Cr7Q== X-Gm-Message-State: APf1xPAxHeOLonnx1S+uGZ+KbkV0BG8S5kQPOFFBXPWsT4HiUFdx1fbP wYtoeWiRw2iK5sYTgXkkpNYBdf44 X-Google-Smtp-Source: AH8x225qvb+PcOxdCMgWGNHW2GB2GBUYe0fEr9rgDkHrZPJAgxP4k2VMh0QHwoaxSwzx3I8KG4oOqA== X-Received: by 10.98.196.204 with SMTP id h73mr2670762pfk.143.1517927521013; Tue, 06 Feb 2018 06:32:01 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.31.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:32:00 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:43 +0530 Message-Id: <1517927164-18197-14-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 13/34] phy: sun4i-usb: Add A83T USB PHY config X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Unlike, other Allwinner SUN4I Phy supporting SOC, A83T has 2 USB PHY's and second one is HSIC. So phy control need to configure to handle these HSIC and SIDDQ requirement. Signed-off-by: Jagan Teki --- drivers/phy/allwinner/phy-sun4i-usb.c | 85 ++++++++++++++++++++++++++++------- 1 file changed, 68 insertions(+), 17 deletions(-) diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c index de0a59a..01782ac 100644 --- a/drivers/phy/allwinner/phy-sun4i-usb.c +++ b/drivers/phy/allwinner/phy-sun4i-usb.c @@ -53,9 +53,19 @@ #define SUNXI_AHB_INCRX_ALIGN_EN BIT(8) #define SUNXI_ULPI_BYPASS_EN BIT(0) +/* A83T specific control bits for PHY0 */ +#define PHY_CTL_VBUSVLDEXT BIT(5) +#define PHY_CTL_SIDDQ BIT(3) + +/* A83T specific control bits for PHY2 HSIC */ +#define SUNXI_EHCI_HS_FORCE BIT(20) +#define SUNXI_HSIC_CONNECT_INT BIT(16) +#define SUNXI_HSIC BIT(1) + #define MAX_PHYS 4 enum sun4i_usb_phy_type { + sun8i_a83t_phy, sun8i_h3_phy, sun8i_v3s_phy, sun50i_a64_phy, @@ -92,13 +102,20 @@ struct sun4i_usb_phy_info { .gpio_vbus = CONFIG_USB2_VBUS_PIN, .gpio_vbus_det = NULL, .gpio_id_det = NULL, +#ifdef CONFIG_MACH_SUN8I_A83T + .rst_mask = (CCM_USB_CTRL_HSIC_RST | CCM_USB_CTRL_HSIC_CLK | + CCM_USB_CTRL_12M_CLK), +#else .rst_mask = (CCM_USB_CTRL_PHY2_RST | CCM_USB_CTRL_PHY2_CLK), +#endif }, { .gpio_vbus = CONFIG_USB3_VBUS_PIN, .gpio_vbus_det = NULL, .gpio_id_det = NULL, +#ifdef CONFIG_MACH_SUN6I .rst_mask = (CCM_USB_CTRL_PHY3_RST | CCM_USB_CTRL_PHY3_CLK), +#endif }, }; @@ -166,9 +183,10 @@ static void sun4i_usb_phy_write(struct phy *phy, u32 addr, u32 data, int len) } } -static void sun4i_usb_phy_passby(struct sun4i_usb_phy_plat *usb_phy, - bool enable) +static void sun4i_usb_phy_passby(struct phy *phy, bool enable) { + struct sun4i_usb_phy_data *data = dev_get_priv(phy->dev); + struct sun4i_usb_phy_plat *usb_phy = &data->usb_phy[phy->id]; u32 bits, reg_value; if (!usb_phy->pmu) @@ -176,6 +194,12 @@ static void sun4i_usb_phy_passby(struct sun4i_usb_phy_plat *usb_phy, bits = SUNXI_AHB_ICHR8_EN | SUNXI_AHB_INCR4_BURST_EN | SUNXI_AHB_INCRX_ALIGN_EN | SUNXI_ULPI_BYPASS_EN; + + /* A83T USB2 is HSIC */ + if (data->cfg->type == sun8i_a83t_phy && usb_phy->id == 2) + bits |= SUNXI_EHCI_HS_FORCE | SUNXI_HSIC_CONNECT_INT | + SUNXI_HSIC; + reg_value = readl(usb_phy->pmu); if (enable) @@ -244,25 +268,36 @@ static int sun4i_usb_phy_init(struct phy *phy) setbits_le32(&data->ccm->usb_clk_cfg, usb_phy->rst_mask); - if (usb_phy->pmu && data->cfg->enable_pmu_unk1) { - val = readl(usb_phy->pmu + REG_PMU_UNK1); - writel(val & ~2, usb_phy->pmu + REG_PMU_UNK1); - } + if (data->cfg->type == sun8i_a83t_phy) { + if (phy->id == 0) { + val = readl(data->base + data->cfg->phyctl_offset); + val |= PHY_CTL_VBUSVLDEXT; + val &= ~PHY_CTL_SIDDQ; + writel(val, data->base + data->cfg->phyctl_offset); + } + } else { + if (usb_phy->pmu && data->cfg->enable_pmu_unk1) { + val = readl(usb_phy->pmu + REG_PMU_UNK1); + writel(val & ~2, usb_phy->pmu + REG_PMU_UNK1); + } - if (usb_phy->id == 0) - sun4i_usb_phy_write(phy, PHY_RES45_CAL_EN, PHY_RES45_CAL_DATA, - PHY_RES45_CAL_LEN); + if (usb_phy->id == 0) + sun4i_usb_phy_write(phy, PHY_RES45_CAL_EN, + PHY_RES45_CAL_DATA, + PHY_RES45_CAL_LEN); - /* Adjust PHY's magnitude and rate */ - sun4i_usb_phy_write(phy, PHY_TX_AMPLITUDE_TUNE, PHY_TX_MAGNITUDE | - PHY_TX_RATE, PHY_TX_AMPLITUDE_LEN); + /* Adjust PHY's magnitude and rate */ + sun4i_usb_phy_write(phy, PHY_TX_AMPLITUDE_TUNE, + PHY_TX_MAGNITUDE | PHY_TX_RATE, + PHY_TX_AMPLITUDE_LEN); - /* Disconnect threshold adjustment */ - sun4i_usb_phy_write(phy, PHY_DISCON_TH_SEL, data->cfg->disc_thresh, - PHY_DISCON_TH_LEN); + /* Disconnect threshold adjustment */ + sun4i_usb_phy_write(phy, PHY_DISCON_TH_SEL, + data->cfg->disc_thresh, PHY_DISCON_TH_LEN); + } if (usb_phy->id != 0) - sun4i_usb_phy_passby(usb_phy, true); + sun4i_usb_phy_passby(phy, true); sun4i_usb_phy0_reroute(data, true); @@ -274,7 +309,16 @@ static int sun4i_usb_phy_exit(struct phy *phy) struct sun4i_usb_phy_data *data = dev_get_priv(phy->dev); struct sun4i_usb_phy_plat *usb_phy = &data->usb_phy[phy->id]; - sun4i_usb_phy_passby(usb_phy, false); + if (phy->id == 0) { + if (data->cfg->type == sun8i_a83t_phy) { + void __iomem *phyctl = data->base + + data->cfg->phyctl_offset; + + writel(readl(phyctl) | PHY_CTL_SIDDQ, phyctl); + } + } + + sun4i_usb_phy_passby(phy, false); clrbits_le32(&data->ccm->usb_clk_cfg, usb_phy->rst_mask); @@ -416,6 +460,12 @@ static int sun4i_usb_phy_probe(struct udevice *dev) return 0; } +static const struct sun4i_usb_phy_cfg sun8i_a83t_cfg = { + .num_phys = 3, + .type = sun8i_a83t_phy, + .phyctl_offset = REG_PHYCTL_A33, +}; + static const struct sun4i_usb_phy_cfg sun8i_h3_cfg = { .num_phys = 4, .type = sun8i_h3_phy, @@ -444,6 +494,7 @@ static const struct sun4i_usb_phy_cfg sun50i_a64_cfg = { }; static const struct udevice_id sun4i_usb_phy_ids[] = { + { .compatible = "allwinner,sun8i-a83t-usb-phy", .data = (ulong)&sun8i_a83t_cfg }, { .compatible = "allwinner,sun8i-h3-usb-phy", .data = (ulong)&sun8i_h3_cfg }, { .compatible = "allwinner,sun8i-v3s-usb-phy", .data = (ulong)&sun8i_v3s_cfg }, { .compatible = "allwinner,sun50i-a64-usb-phy", .data = (ulong)&sun50i_a64_cfg}, From patchwork Tue Feb 6 14:25:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869813 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Mx7BnMWg"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbS0k402dz9s82 for ; Wed, 7 Feb 2018 01:44:54 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 2B323C21C2F; Tue, 6 Feb 2018 14:39:22 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 61CD1C21E30; Tue, 6 Feb 2018 14:36:01 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id EC18AC21DE5; Tue, 6 Feb 2018 14:32:09 +0000 (UTC) Received: from mail-pg0-f67.google.com (mail-pg0-f67.google.com [74.125.83.67]) by lists.denx.de (Postfix) with ESMTPS id D2829C21E70 for ; Tue, 6 Feb 2018 14:32:05 +0000 (UTC) Received: by mail-pg0-f67.google.com with SMTP id x25so1160810pge.3 for ; Tue, 06 Feb 2018 06:32:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=tZmlVffdG65TXN9SckcTO/g6vw8U5ekZacinHVC6TJA=; b=Mx7BnMWgkvmvlolYSili9WvPSv5a9jQgXJ8yxkSoHvmURcNplbqSWDDoQx7wKw1Is8 e4IKrELYefT/Kv2cuJMPVcaEqP5yh6HSvce081grTinmoXs4QAlwaS7C/06HSxafmaSe Z9lP3K0Sq4GJdP8Edc4EoIirG7K8ffjMbD2pMszO3av3njRsSZMRjqJezsRyTW/w/s/r UJI26+3WcjG93wQoVBiiosMhRzxUmPrvfOzJDE+ODLUrLV+w4GulI2Gy0jExhYEvhwzy Wl/wHDYB0kQgOHkQuuBFpymWqOuJARxyMG7hMQtM+IVJP7GMUkL0+FSA9eKUhrtcrF3V PeBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=tZmlVffdG65TXN9SckcTO/g6vw8U5ekZacinHVC6TJA=; b=VwKKpNIme57VTgmH6lEPeHv4hsTt3rp8xd/4NZaQEkJKK+YnhU80rRAjvrC21vqc7k kuBCOj/Q6yQX/Ii2AezpoGxZ9k9cu/jXQ8wkio7BEx68mIkFMCmxjiKYIvLMIgfbBf/E S1bV4+TxywcXDOOnbxOig+cPEybIGxxk6/fSE77i7sUtkpu7y/pIQ99LsDFxd3Z7abtD 9R4VhimgTzwkWMlwr8aSixWO07OC3OqDjFRTx9ogFHSEhS6PlM//UYWcipt+M/njtHcb X4a7ueKJfpCHFbQqzHR35cXrprXyU2VtyuQ5oC3jn1q74dhhgMXWBMXuzZ0Zlglzqfl9 mB0w== X-Gm-Message-State: APf1xPAqnR1ZPOKEmVo5WPK67vUpK1TD7lqxZbn3Q4dg1YmMbPI5Jj9i //FJZqzafMAne6PWuy2cGG3osA5z X-Google-Smtp-Source: AH8x227grEijoTOcmw7zNtBc7bS2tjv8QYQjt64iXfxips0aHiHIpK5JnhtixOH2vB1hVz/Kq8XzZg== X-Received: by 10.98.64.9 with SMTP id n9mr2672832pfa.194.1517927524151; Tue, 06 Feb 2018 06:32:04 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.32.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:32:03 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:44 +0530 Message-Id: <1517927164-18197-15-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 14/34] phy: sun4i-usb: Add A10/A13/A20 PHY config X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Add PHY configs for Allwinner A10/A13/A20 which are SUN4I. Signed-off-by: Jagan Teki --- drivers/phy/allwinner/phy-sun4i-usb.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c index 01782ac..abb3d0f 100644 --- a/drivers/phy/allwinner/phy-sun4i-usb.c +++ b/drivers/phy/allwinner/phy-sun4i-usb.c @@ -65,6 +65,7 @@ #define MAX_PHYS 4 enum sun4i_usb_phy_type { + sun4i_a10_phy, sun8i_a83t_phy, sun8i_h3_phy, sun8i_v3s_phy, @@ -460,6 +461,30 @@ static int sun4i_usb_phy_probe(struct udevice *dev) return 0; } +static const struct sun4i_usb_phy_cfg sun4i_a10_cfg = { + .num_phys = 3, + .type = sun4i_a10_phy, + .disc_thresh = 3, + .phyctl_offset = REG_PHYCTL_A10, + .enable_pmu_unk1 = false, +}; + +static const struct sun4i_usb_phy_cfg sun5i_a13_cfg = { + .num_phys = 2, + .type = sun4i_a10_phy, + .disc_thresh = 2, + .phyctl_offset = REG_PHYCTL_A10, + .enable_pmu_unk1 = false, +}; + +static const struct sun4i_usb_phy_cfg sun7i_a20_cfg = { + .num_phys = 3, + .type = sun4i_a10_phy, + .disc_thresh = 2, + .phyctl_offset = REG_PHYCTL_A10, + .enable_pmu_unk1 = false, +}; + static const struct sun4i_usb_phy_cfg sun8i_a83t_cfg = { .num_phys = 3, .type = sun8i_a83t_phy, @@ -494,6 +519,9 @@ static const struct sun4i_usb_phy_cfg sun50i_a64_cfg = { }; static const struct udevice_id sun4i_usb_phy_ids[] = { + { .compatible = "allwinner,sun4i-a10-usb-phy", .data = (ulong)&sun4i_a10_cfg }, + { .compatible = "allwinner,sun5i-a13-usb-phy", .data = (ulong)&sun5i_a13_cfg }, + { .compatible = "allwinner,sun7i-a20-usb-phy", .data = (ulong)&sun7i_a20_cfg }, { .compatible = "allwinner,sun8i-a83t-usb-phy", .data = (ulong)&sun8i_a83t_cfg }, { .compatible = "allwinner,sun8i-h3-usb-phy", .data = (ulong)&sun8i_h3_cfg }, { .compatible = "allwinner,sun8i-v3s-usb-phy", .data = (ulong)&sun8i_v3s_cfg }, From patchwork Tue Feb 6 14:25:45 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869812 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="NyAVBlXE"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbS0L09G0z9s82 for ; Wed, 7 Feb 2018 01:44:33 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id B07F4C21DA3; Tue, 6 Feb 2018 14:37:03 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 99D5AC21E37; Tue, 6 Feb 2018 14:34:24 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 7875BC21E37; Tue, 6 Feb 2018 14:32:12 +0000 (UTC) Received: from mail-pg0-f68.google.com (mail-pg0-f68.google.com [74.125.83.68]) by lists.denx.de (Postfix) with ESMTPS id 24195C21E39 for ; Tue, 6 Feb 2018 14:32:09 +0000 (UTC) Received: by mail-pg0-f68.google.com with SMTP id l18so1155471pgc.5 for ; Tue, 06 Feb 2018 06:32:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ev6JLQ6CGeIp7+qtgHmjsKZJ+bpmz4UruRww6085r7k=; b=NyAVBlXEnLNy+QcHVydYTZCBWnsbU720q+01XxosT+VhFmAD5udVRq0w8yK7lzPgY4 +kH0O4f9JYAY/eidiIlX0VVLBJ1MFV8HRLqoPr0XvnBdDqpVlxIewBeMWe2IdzQ3kQfZ 5AZEWiyvOqyFmEB6vtd8FjBV6FZHuxS7qY8t178H6HhKkgz2M6dTZPY5piRdBIsgP+SI q1jFfPuaG7HoA0TdEKL1QEg5UpF/oS+NTWgQUYzWtcwpmkaSZD0pc3lLZSmDgmTOsK7K jRT0p+2Jkhp0VZygeBRbw/Xx9YMahPTPzJ230WSSaV5/OIzZ+LjMS6DPowYIdxD0B7zZ HvAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ev6JLQ6CGeIp7+qtgHmjsKZJ+bpmz4UruRww6085r7k=; b=Jv79yHU25FgoFLVyttFRDSoecvVHzF3fwj5s9CU5iHcgj8dlCaOZGpZ68wBiCXxvgH hrqd5FlEh2gdtDv6n0q+H+ScLJvYPZ/oy/Et2aLQVp9qreWQJ7p/M//gu4CPKwrgORGo 0Yl3eo2J+d2m6QWv3reqR7DtSxgIzgtATA06QJOA9R6M6lemexua3QZoxLHuSg3HsJZf XmpUAtTwvih8jq8UujJwBFYzNz4eT+WDjejQCk82+6nPY6HlaIIJFKdmzCKzovnvBZtQ Wbw5+vl2UN6PMQbSoWrJddNbfb11MsTUzHooU1v8z0noL03Rxw4p+U0oDYV7hSsc7aB5 nHKA== X-Gm-Message-State: APf1xPBfWkA/HsOFKCq0JRr0VNuqg128fbrsCpxHDVqOMxWtKi/F1Ku4 vyQV4GamPTvpRp1Q0bbtDIfkpNMu X-Google-Smtp-Source: AH8x225IJO0bC+adtT99HCxCfq9oiWW0TnEhVV7r4nZjOKMz0+sDq7pTgEgklQndl+8q4Et9G3XExQ== X-Received: by 10.101.72.129 with SMTP id n1mr2082385pgs.181.1517927527399; Tue, 06 Feb 2018 06:32:07 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.32.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:32:06 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:45 +0530 Message-Id: <1517927164-18197-16-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 15/34] phy: sun4i-usb: Add A31 PHY config X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Allwinner A31 has 3 USB PHY's and rest similar to A10. Signed-off-by: Jagan Teki --- drivers/phy/allwinner/phy-sun4i-usb.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c index abb3d0f..16b399e 100644 --- a/drivers/phy/allwinner/phy-sun4i-usb.c +++ b/drivers/phy/allwinner/phy-sun4i-usb.c @@ -66,6 +66,7 @@ enum sun4i_usb_phy_type { sun4i_a10_phy, + sun6i_a31_phy, sun8i_a83t_phy, sun8i_h3_phy, sun8i_v3s_phy, @@ -477,6 +478,14 @@ static const struct sun4i_usb_phy_cfg sun5i_a13_cfg = { .enable_pmu_unk1 = false, }; +static const struct sun4i_usb_phy_cfg sun6i_a31_cfg = { + .num_phys = 3, + .type = sun6i_a31_phy, + .disc_thresh = 3, + .phyctl_offset = REG_PHYCTL_A10, + .enable_pmu_unk1 = false, +}; + static const struct sun4i_usb_phy_cfg sun7i_a20_cfg = { .num_phys = 3, .type = sun4i_a10_phy, @@ -521,6 +530,7 @@ static const struct sun4i_usb_phy_cfg sun50i_a64_cfg = { static const struct udevice_id sun4i_usb_phy_ids[] = { { .compatible = "allwinner,sun4i-a10-usb-phy", .data = (ulong)&sun4i_a10_cfg }, { .compatible = "allwinner,sun5i-a13-usb-phy", .data = (ulong)&sun5i_a13_cfg }, + { .compatible = "allwinner,sun6i-a31-usb-phy", .data = (ulong)&sun6i_a31_cfg }, { .compatible = "allwinner,sun7i-a20-usb-phy", .data = (ulong)&sun7i_a20_cfg }, { .compatible = "allwinner,sun8i-a83t-usb-phy", .data = (ulong)&sun8i_a83t_cfg }, { .compatible = "allwinner,sun8i-h3-usb-phy", .data = (ulong)&sun8i_h3_cfg }, From patchwork Tue Feb 6 14:25:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869825 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="EvhNUJt5"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbSC76NKbz9ryr for ; Wed, 7 Feb 2018 01:53:55 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 86235C21DA3; Tue, 6 Feb 2018 14:41:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 23A3FC21D9F; Tue, 6 Feb 2018 14:39:17 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 76994C21E40; Tue, 6 Feb 2018 14:32:17 +0000 (UTC) Received: from mail-pl0-f68.google.com (mail-pl0-f68.google.com [209.85.160.68]) by lists.denx.de (Postfix) with ESMTPS id 5EAF1C21E3B for ; Tue, 6 Feb 2018 14:32:12 +0000 (UTC) Received: by mail-pl0-f68.google.com with SMTP id j19so1348950pll.2 for ; Tue, 06 Feb 2018 06:32:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=mY5Rve8veByUMr+YUHZWBC557WJ78W/lpH3dYZTjehw=; b=EvhNUJt5ChSQWolWP92p3qusqSwMpLQiTxwS74SmgSKVomdyVsfNwTw28ER4xZqRZN TEplv5+CW2VQAkXGTQc1b/3s7O2DyB6VjzFGtQphS6XJqWBrqm8cqV4rhvOfeW3u5r30 LMwVGBdqrEI3oqg7xrj5MVi5VXdwIY/pRhru2yCnXOXWX90mLD1YP04dYCyd2KCmJ/KU m7jc+AEU3zS036bepw9MnfWVAyJnW2sCCfSoTP0UO9KkO8DDbWzl6NZPAhZqcBLiNDDG xbhC48nWEy2U2mj/sNmL5Huu09jzf+xapTaAJc11TX4nqNSFnExz8sIXH0x/PRp+hIZ9 XlpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=mY5Rve8veByUMr+YUHZWBC557WJ78W/lpH3dYZTjehw=; b=Uk2frV1PF9ub7oqYoYM0g1tM9AgLjHIAqsaPbZ2uyFZay15+oRI7iesw7bcOaOHfLz 1+hQh6Flx73xqR88bcuMgII5iH3eAuCcPCWt+7v1AGlsm77EN1BVds1hd/19Fxypd73e TrfJMeMlUzs2biWYMG5ldvoVqxMB8uCxgCsfAzQBMxgMXeyXVje4tlVVjTrx3Lc6NBgY G5qNjgM/Q2hY/wYKZ7YmUYDNxPFNURA7Tq4rfaamOrRQxDaQx4qrSGvFV3gv+o+4ga0i rq+SKLM+pPpZJpVDFoGSxjarbeeEkXTmru4Bo3g3GG6rzRGJXb6q6Ds7vcPvnG1gJI4Y c5iw== X-Gm-Message-State: APf1xPB+9eznlrWLi7rNa7ZVyQOgQkoTYFL/qrp6T6aaaSiH8nfzw6hB vK2cOuAYXMZjEgI/3rl4NHFBP5+6 X-Google-Smtp-Source: AH8x224ecuOw6y+t/Jirb6tyZv3FBE3loBrMI4fEO/zdHXYxV/l2N/TkLN6v7M/8z0xbGHuyYMwZMw== X-Received: by 2002:a17:902:46a:: with SMTP id 97-v6mr2566247ple.96.1517927530668; Tue, 06 Feb 2018 06:32:10 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.32.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:32:10 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:46 +0530 Message-Id: <1517927164-18197-17-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 16/34] phy: sun4i-usb: Add A33 USB PHY config X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Allwinner A33 has 2 USB PHY's and 0x10 has phy ctrl offset. Signed-off-by: Jagan Teki --- drivers/phy/allwinner/phy-sun4i-usb.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c index 16b399e..75056e2 100644 --- a/drivers/phy/allwinner/phy-sun4i-usb.c +++ b/drivers/phy/allwinner/phy-sun4i-usb.c @@ -67,6 +67,7 @@ enum sun4i_usb_phy_type { sun4i_a10_phy, sun6i_a31_phy, + sun8i_a33_phy, sun8i_a83t_phy, sun8i_h3_phy, sun8i_v3s_phy, @@ -494,6 +495,14 @@ static const struct sun4i_usb_phy_cfg sun7i_a20_cfg = { .enable_pmu_unk1 = false, }; +static const struct sun4i_usb_phy_cfg sun8i_a33_cfg = { + .num_phys = 2, + .type = sun8i_a33_phy, + .disc_thresh = 3, + .phyctl_offset = REG_PHYCTL_A33, + .enable_pmu_unk1 = false, +}; + static const struct sun4i_usb_phy_cfg sun8i_a83t_cfg = { .num_phys = 3, .type = sun8i_a83t_phy, @@ -532,6 +541,7 @@ static const struct udevice_id sun4i_usb_phy_ids[] = { { .compatible = "allwinner,sun5i-a13-usb-phy", .data = (ulong)&sun5i_a13_cfg }, { .compatible = "allwinner,sun6i-a31-usb-phy", .data = (ulong)&sun6i_a31_cfg }, { .compatible = "allwinner,sun7i-a20-usb-phy", .data = (ulong)&sun7i_a20_cfg }, + { .compatible = "allwinner,sun8i-a33-usb-phy", .data = (ulong)&sun8i_a33_cfg }, { .compatible = "allwinner,sun8i-a83t-usb-phy", .data = (ulong)&sun8i_a83t_cfg }, { .compatible = "allwinner,sun8i-h3-usb-phy", .data = (ulong)&sun8i_h3_cfg }, { .compatible = "allwinner,sun8i-v3s-usb-phy", .data = (ulong)&sun8i_v3s_cfg }, From patchwork Tue Feb 6 14:25:47 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869823 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="LmJgbiPx"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbS8L14DPz9s82 for ; Wed, 7 Feb 2018 01:51:30 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id D2242C21DA3; Tue, 6 Feb 2018 14:41:09 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id D167DC21E3A; Tue, 6 Feb 2018 14:39:15 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 3AC59C21D9F; Tue, 6 Feb 2018 14:32:19 +0000 (UTC) Received: from mail-pl0-f67.google.com (mail-pl0-f67.google.com [209.85.160.67]) by lists.denx.de (Postfix) with ESMTPS id AD8E7C21E73 for ; Tue, 6 Feb 2018 14:32:15 +0000 (UTC) Received: by mail-pl0-f67.google.com with SMTP id ay8so1339321plb.4 for ; Tue, 06 Feb 2018 06:32:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=DUrhrMMzdrkIZv430UUBF9WtpBE5KAYrgAku5krWvPI=; b=LmJgbiPxJH6IqFxzwmachGEG76a1V+i06UXhrpObC8HA0RQCFJRV1xKJ6m3ENhJn6w bhXkWiQE+2UJlv9NLE6aXMjszDbgXgURbaweux+K2e9KtEI6OLhOCewhOjli1P+JLkQk WMe9TMBWaW90xzKgZXGaBv6LnGoBE5f5hNnSlf/4HtYpQnHHSJBDz9QUYRHnIaK9P3dJ khouy1eCU9/+ZlrVM0Rb31Ag8fgSunyap1uWhz47F+0nQOB0DDrGAszifyDrtNAy13J4 zHePmkn6MCY9ditLMylsyBhVv563938njcnLsqDRs1cqs6uDfTxHc++wY2dF9hEWypkj BbmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=DUrhrMMzdrkIZv430UUBF9WtpBE5KAYrgAku5krWvPI=; b=F7M+r5kxVw+EJrL17eO9VLhTW2XUiAtWbBT3kyVaYMvQ0jd6Ah9WdY4iTq4TIJuQkA 1n/FQWNOJJkocQPXXMmtMjLh6ZQ7qDl5wbUYKo91EfkC20piWDeI0SmFLQMbROKJZvNl Lu/PJaNHju43KQGDXdbxwlJCBfmzjN5CT4ce+LGfBFwpzaGre2M+BsivfPBzJfosH7rW q0jcI9yh2A3fM/XCsNK/4KSqrRdjYc4cEZqFYyP++zC7RYZDWXv6XaUeMEXZnh27sAIB nflpFD+ahNJbrphjNpWVfulBUvLcw62ARRRVW3GI3DeWdMqyC/b/DTBAAj8O/OetUjur uPKA== X-Gm-Message-State: APf1xPBMT0+3dWbJK3HeExsWlvDPoS00iKza1/LYjT1RXdILenCdOKEN j5j/DeBJ4ih10CdfTXsAZZjaNFUX X-Google-Smtp-Source: AH8x224djVBDyBS+wVeRHBRGgDsOcNbKlsmzWwvoJktLXpVppchS2oQFNn8dN42mTIEoz/JMSDMUdg== X-Received: by 2002:a17:902:7510:: with SMTP id i16-v6mr2677035pll.220.1517927534041; Tue, 06 Feb 2018 06:32:14 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.32.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:32:13 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:47 +0530 Message-Id: <1517927164-18197-18-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 17/34] phy: sun4i-usb: Add A23 USB PHY config X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Allwinner A23 has 2 USB PHY's and 0x04 has phy ctrl offset. Signed-off-by: Jagan Teki --- drivers/phy/allwinner/phy-sun4i-usb.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c index 75056e2..4194a15 100644 --- a/drivers/phy/allwinner/phy-sun4i-usb.c +++ b/drivers/phy/allwinner/phy-sun4i-usb.c @@ -495,6 +495,14 @@ static const struct sun4i_usb_phy_cfg sun7i_a20_cfg = { .enable_pmu_unk1 = false, }; +static const struct sun4i_usb_phy_cfg sun8i_a23_cfg = { + .num_phys = 2, + .type = sun4i_a10_phy, + .disc_thresh = 3, + .phyctl_offset = REG_PHYCTL_A10, + .enable_pmu_unk1 = false, +}; + static const struct sun4i_usb_phy_cfg sun8i_a33_cfg = { .num_phys = 2, .type = sun8i_a33_phy, @@ -541,6 +549,7 @@ static const struct udevice_id sun4i_usb_phy_ids[] = { { .compatible = "allwinner,sun5i-a13-usb-phy", .data = (ulong)&sun5i_a13_cfg }, { .compatible = "allwinner,sun6i-a31-usb-phy", .data = (ulong)&sun6i_a31_cfg }, { .compatible = "allwinner,sun7i-a20-usb-phy", .data = (ulong)&sun7i_a20_cfg }, + { .compatible = "allwinner,sun8i-a23-usb-phy", .data = (ulong)&sun8i_a23_cfg }, { .compatible = "allwinner,sun8i-a33-usb-phy", .data = (ulong)&sun8i_a33_cfg }, { .compatible = "allwinner,sun8i-a83t-usb-phy", .data = (ulong)&sun8i_a83t_cfg }, { .compatible = "allwinner,sun8i-h3-usb-phy", .data = (ulong)&sun8i_h3_cfg }, From patchwork Tue Feb 6 14:25:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869820 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="XucetAoB"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbS6c2FGGz9s82 for ; Wed, 7 Feb 2018 01:50:00 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 07CAEC21E4D; Tue, 6 Feb 2018 14:35:51 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 353A9C21E68; Tue, 6 Feb 2018 14:33:14 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 35308C21E55; Tue, 6 Feb 2018 14:32:28 +0000 (UTC) Received: from mail-pl0-f65.google.com (mail-pl0-f65.google.com [209.85.160.65]) by lists.denx.de (Postfix) with ESMTPS id 095AAC21E8A for ; Tue, 6 Feb 2018 14:32:24 +0000 (UTC) Received: by mail-pl0-f65.google.com with SMTP id q17so1353168pll.1 for ; Tue, 06 Feb 2018 06:32:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=u5QnWgT8U5RZpprkLs5LzRNJx8LjovknXVlgdt1R4Vg=; b=XucetAoB5wrI/ORrRRWOL3lWG18mUhkGCidHPcbG4kBuZDSiOrTtLJl4rUQkgMgmUF 8RGsViQ4D4q6ONGlV7B+mFmhx1Pzau9onCR/X1AEbwgUFSxax4zljjdaG+rQSTYRmiu4 TWBZK3ZGaM9OjMuAhi+pz7e7FDqwK7VkY7nuyfblgW3WWinVFM20eaWmkk/hWU3X9kuj 0pIzRVEJcBpxKNl/imygLD7ViaMwyHtOu3uCVusP9nowDaZi4OX9bw027/Ky98bl+xx7 sVwhNjES4C73EoNzUH/uFJlwu0LkIaJ6StJv0ls2vkW2g/gtY6sph4lCfG7uxuTqCMYP rtOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=u5QnWgT8U5RZpprkLs5LzRNJx8LjovknXVlgdt1R4Vg=; b=kjViHy/w1HCjb3zLFmxqsS23OKw7cofrsZ+u/EP2/uYWetYgZqAlgtgM7p+ot5Ht7e RqcSS00QL+BTD0hhOwPCjkcClXNH8AwUDpV91RI+ZfXDdDnV+7LUTrqcwgwOOBjG1fXo xl8PzDO/8ScDGUpHPTZAc3iO1/G8Awx46V/YmAo+WG+9TZTBe7XkP33vDKZ/4O0NdpSH U4CTwukTWF3Cdasy1BjExvbndz6JYFAuvcIaEwP9ENSMS7uL3Ah5/M5zgBF/Oh6/FfhB ZkQaTD9TkxOmnwIr5nUuZt1SVo6Besqc2xI0bAmpY+zxfKEF4d/JHk6EgUfvCf94hq+L BExg== X-Gm-Message-State: APf1xPA4yEzZy3X1MwAu+xHlggUpp8Ps0EIzFYxYNCcLJYmuZSDRWV6D FOw5+MCKv1chteAS60zTtTd5/30M X-Google-Smtp-Source: AH8x225LESXt1zKAkqPo6DS9pyY4QJrZonJo1lsL8Ii0eyESVCJlUVN8LpD7oEUYkKOsiXWY/lYd6A== X-Received: by 2002:a17:902:51e9:: with SMTP id y96-v6mr2598258plh.344.1517927542316; Tue, 06 Feb 2018 06:32:22 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.32.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:32:21 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:48 +0530 Message-Id: <1517927164-18197-19-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 18/34] device-tree-bindings: phy: Sync sun4i-usb-phy bindings X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Sync sun4i-usb-phy bindings from Linux, since the drivers/phy/allwinner/phy-sun4i-usb.c follw similar. Signed-off-by: Jagan Teki --- doc/device-tree-bindings/phy/sun4i-usb-phy.txt | 65 ++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 doc/device-tree-bindings/phy/sun4i-usb-phy.txt diff --git a/doc/device-tree-bindings/phy/sun4i-usb-phy.txt b/doc/device-tree-bindings/phy/sun4i-usb-phy.txt new file mode 100644 index 0000000..c1ce5a0 --- /dev/null +++ b/doc/device-tree-bindings/phy/sun4i-usb-phy.txt @@ -0,0 +1,65 @@ +Allwinner sun4i USB PHY +----------------------- + +Required properties: +- compatible : should be one of + * allwinner,sun4i-a10-usb-phy + * allwinner,sun5i-a13-usb-phy + * allwinner,sun6i-a31-usb-phy + * allwinner,sun7i-a20-usb-phy + * allwinner,sun8i-a23-usb-phy + * allwinner,sun8i-a33-usb-phy + * allwinner,sun8i-a83t-usb-phy + * allwinner,sun8i-h3-usb-phy + * allwinner,sun8i-v3s-usb-phy + * allwinner,sun50i-a64-usb-phy +- reg : a list of offset + length pairs +- reg-names : + * "phy_ctrl" + * "pmu0" for H3, V3s and A64 + * "pmu1" + * "pmu2" for sun4i, sun6i, sun7i, sun8i-a83t or sun8i-h3 + * "pmu3" for sun8i-h3 +- #phy-cells : from the generic phy bindings, must be 1 +- clocks : phandle + clock specifier for the phy clocks +- clock-names : + * "usb_phy" for sun4i, sun5i or sun7i + * "usb0_phy", "usb1_phy" and "usb2_phy" for sun6i + * "usb0_phy", "usb1_phy" for sun8i + * "usb0_phy", "usb1_phy", "usb2_phy" and "usb2_hsic_12M" for sun8i-a83t + * "usb0_phy", "usb1_phy", "usb2_phy" and "usb3_phy" for sun8i-h3 +- resets : a list of phandle + reset specifier pairs +- reset-names : + * "usb0_reset" + * "usb1_reset" + * "usb2_reset" for sun4i, sun6i, sun7i, sun8i-a83t or sun8i-h3 + * "usb3_reset" for sun8i-h3 + +Optional properties: +- usb0_id_det-gpios : gpio phandle for reading the otg id pin value +- usb0_vbus_det-gpios : gpio phandle for detecting the presence of usb0 vbus +- usb0_vbus_power-supply: power-supply phandle for usb0 vbus presence detect +- usb0_vbus-supply : regulator phandle for controller usb0 vbus +- usb1_vbus-supply : regulator phandle for controller usb1 vbus +- usb2_vbus-supply : regulator phandle for controller usb2 vbus +- usb3_vbus-supply : regulator phandle for controller usb3 vbus + +Example: + usbphy: phy@01c13400 { + #phy-cells = <1>; + compatible = "allwinner,sun4i-a10-usb-phy"; + /* phy base regs, phy1 pmu reg, phy2 pmu reg */ + reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>; + reg-names = "phy_ctrl", "pmu1", "pmu2"; + clocks = <&usb_clk 8>; + clock-names = "usb_phy"; + resets = <&usb_clk 0>, <&usb_clk 1>, <&usb_clk 2>; + reset-names = "usb0_reset", "usb1_reset", "usb2_reset"; + pinctrl-names = "default"; + pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; + usb0_id_det-gpios = <&pio 7 19 GPIO_ACTIVE_HIGH>; /* PH19 */ + usb0_vbus_det-gpios = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */ + usb0_vbus-supply = <®_usb0_vbus>; + usb1_vbus-supply = <®_usb1_vbus>; + usb2_vbus-supply = <®_usb2_vbus>; + }; From patchwork Tue Feb 6 14:25:49 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869808 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="A0xpXV3D"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbRz52mvPz9s82 for ; Wed, 7 Feb 2018 01:43:29 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id DEAEFC21E3A; Tue, 6 Feb 2018 14:40:52 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 81651C21DA1; Tue, 6 Feb 2018 14:39:11 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 1AD7EC21DDF; Tue, 6 Feb 2018 14:32:32 +0000 (UTC) Received: from mail-pl0-f67.google.com (mail-pl0-f67.google.com [209.85.160.67]) by lists.denx.de (Postfix) with ESMTPS id 5757BC21EA6 for ; Tue, 6 Feb 2018 14:32:28 +0000 (UTC) Received: by mail-pl0-f67.google.com with SMTP id k8so1339155pli.8 for ; Tue, 06 Feb 2018 06:32:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Iuhv8sHYmbjdMJAFzB2Tr/bGF8rOm2mf+bS1/G6y69Q=; b=A0xpXV3Dlu4PHidyYIfyobjTQU2ggUl3yhm/VzJuMhH5C0WN6BkmTzU3bctAUq3F4F Sg9eFBbNRzpXS7vN2bkleLmtwQclc11+z7yC+kMOy3D1exdan1fro/sYOIFfu/IWkMoa 3Kj1zPuYQDigRxz05026if8eVTY4l5Nv8JNYQFnbg5g3QjB138TD/Bjn62ePGmvbwr07 Lmed3rAaM7tsimsoeLZuXHCcx0Ax95b3cK33lt4lzLLVcVwQ2QeGpseXYONsgbtdzV7b dyKlzJ8KnemCjRnxm4IiutMRLCI2wqzjYlKSm3hQ0QRKJrVXQeaSEXddr03Zk0Wy7Sj1 YdRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Iuhv8sHYmbjdMJAFzB2Tr/bGF8rOm2mf+bS1/G6y69Q=; b=qri26xGVHk4+jOONjgM5sHoX7x6SZ/XeP8ViSKNonbkcXhsHVYI6jdaFoPa6u9DQ4K Hpu0rpPuICSaX/uOIHy4OqTyz0JQ+3bdYHvSxd38ooGqQbCpgjDRH76LNL4UrgEs09Po Eu8jeNsPlmg1yWD34Ffy0tnOXCBY3fmVyQlr51jTaYgm2mM4qsIHUEYnKgNQejtPzSfu xj7ibSabaP5Abyse0tDdhYDQEjEThzDnotmIMUa6+B6rRVk0ZGohFsWh5k9zydhp/Zbp bcZpLBAClLb8rM7Z1ufe78JFTVsjIntJ076tGORMmrTIbKKdePpWqyz2zNkWMMkWSdUd cMwg== X-Gm-Message-State: APf1xPBisl0jTiAtkdU8EEv+mjdnryfNlmdKk069LXM+5ohLLlNSV5A/ BKePh4nXm40JUUmuSrgEDS80OVcH X-Google-Smtp-Source: AH8x226t8uL7XDa8j/ag4gy8AJ27twAwkeTrkbuXu+INqdMBbCICglk80SlJlUB4IAP4tAMUn8NHww== X-Received: by 2002:a17:902:5a05:: with SMTP id q5-v6mr2610517pli.152.1517927546624; Tue, 06 Feb 2018 06:32:26 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.32.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:32:26 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:49 +0530 Message-Id: <1517927164-18197-20-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 19/34] board: sunxi: Use generic-phy for board_usb_cable_connected X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Allwinner PHY USB code is now part of generic-phy framework, so use it in board_usb_cable_connected. Signed-off-by: Jagan Teki --- board/sunxi/board.c | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/board/sunxi/board.c b/board/sunxi/board.c index 8891961..885d301 100644 --- a/board/sunxi/board.c +++ b/board/sunxi/board.c @@ -12,8 +12,11 @@ */ #include +#include #include #include +#include +#include #include #include #include @@ -597,7 +600,35 @@ void sunxi_board_init(void) #ifdef CONFIG_USB_GADGET int g_dnl_board_usb_cable_connected(void) { - return sunxi_usb_phy_vbus_detect(0); + struct udevice *dev; + struct phy phy; + int ret; + + ret = uclass_get_device(UCLASS_USB_DEV_GENERIC, 0, &dev); + if (ret) { + pr_err("%s: Cannot find USB device\n", __func__); + return ret; + } + + ret = generic_phy_get_by_name(dev, "usb", &phy); + if (ret) { + pr_err("failed to get %s USB PHY\n", dev->name); + return ret; + } + + ret = generic_phy_init(&phy); + if (ret) { + pr_err("failed to init %s USB PHY\n", dev->name); + return ret; + } + + ret = sun4i_usb_phy_vbus_detect(&phy); + if (ret == 1) { + pr_err("A charger is plugged into the OTG\n"); + return -ENODEV; + } + + return ret; } #endif From patchwork Tue Feb 6 14:25:50 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869799 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Ln2IE9yC"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbRvc4FdVz9s82 for ; Wed, 7 Feb 2018 01:40:28 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 2D25FC21E35; Tue, 6 Feb 2018 14:36:43 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 3EFCFC21E40; Tue, 6 Feb 2018 14:34:12 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 0C30EC21E4A; Tue, 6 Feb 2018 14:32:36 +0000 (UTC) Received: from mail-pf0-f193.google.com (mail-pf0-f193.google.com [209.85.192.193]) by lists.denx.de (Postfix) with ESMTPS id 0B10EC21E93 for ; Tue, 6 Feb 2018 14:32:32 +0000 (UTC) Received: by mail-pf0-f193.google.com with SMTP id y9so668441pfl.2 for ; Tue, 06 Feb 2018 06:32:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=bzmicGA+VaKvvhYWyaZ2FftASBlOvougY2Rs8UyLVnw=; b=Ln2IE9yCmarntboq4VXM8DgQhtTYZMI2c83P0MrQRTJyxM/ogL7q88/qxzZSExKHEh sfvQOXM+LiV64hojTFd47fgOCT4VsnMjsmCjB5okMgrJy84dnyucabsYUnRrxpBieIGB z4taTEdL7vhavi72CU8ofno1preAFoUgNlM+e65U8Yko+zCX0+076VRl29mPbS52vxGA RVdDBAZuvDutdf9ervopO87XYT6JZEmTvWNr+tVMk8JiB8AAFXao1I+fmrnocpUtHHBq soFhBdKVEL/cHVw6boLh2ew8xPFOtl62s1y54TWb/KsNIwt5yu+4NvL38yU+twz7GHpV +TzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=bzmicGA+VaKvvhYWyaZ2FftASBlOvougY2Rs8UyLVnw=; b=bKiKpMGVYBW7hWuM9B4rjUU2aErxwidIBqo7Hj6QAkk5qZiocJonJqdeFSx57enSBn 7EE0pnqks+MkbkPBG9gnp52vp0ja0lNNSQyzBY4bM6eTsCo5S+T2D3Hh9NNeD848D4os W9EA/XXU0EO1Dw00ufH7pUL3Eg7dA90Ue2jLDid1uUB4k+zi8scLRo7oeHU4GcJisZqo R6oBpxQH1HANFWuHi0d9ew2b8L1m12E9yu379hHTajUNa52I9XyQSj2gWMeddQlc7Gv0 xxzLVkyUrPEHyAWUexTMzpO+llWS/E5Mt08l+hNy/Xz3IdLyfy4en5To/FFkKxgNWZFY +ltg== X-Gm-Message-State: APf1xPAmYW7Fjw3j7IhdKowdnjRSEzBODWV8kzHnUEMNekGGTdrbWlNi rOqQpApwoHBKmDNh6Ox6PGgfJHNk X-Google-Smtp-Source: AH8x227jtYDir+zoTNFzaAtdXvwAvLfO8Gd5RyVn6a4HHlJIJc4z8R/X4CSPHusgjzg3ttvmXwXBKw== X-Received: by 10.98.153.197 with SMTP id t66mr2686569pfk.142.1517927550247; Tue, 06 Feb 2018 06:32:30 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.32.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:32:29 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:50 +0530 Message-Id: <1517927164-18197-21-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 20/34] phy: sun4i-usb: Add a sunxi specific function for setting squelch-detect X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" The sunxi otg phy has a bug where it wrongly detects a high speed squelch when reset on the root port gets de-asserted with a lo-speed device. The workaround for this is to disable squelch detect before de-asserting reset, and re-enabling it after the reset de-assert is done. Add a sunxi specific phy function to allow the sunxi-musb glue to do this. Signed-off-by: Jagan Teki --- drivers/phy/allwinner/phy-sun4i-usb.c | 6 ++++++ drivers/usb/musb-new/musb_core.h | 4 ++++ drivers/usb/musb-new/musb_uboot.c | 19 ++++++++----------- drivers/usb/musb-new/sunxi.c | 16 ++++++++++++++++ include/phy-sun4i-usb.h | 8 ++++++++ 5 files changed, 42 insertions(+), 11 deletions(-) diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c index 4194a15..2b3cf48 100644 --- a/drivers/phy/allwinner/phy-sun4i-usb.c +++ b/drivers/phy/allwinner/phy-sun4i-usb.c @@ -36,6 +36,7 @@ #define PHY_TX_AMPLITUDE_TUNE 0x20 #define PHY_TX_SLEWRATE_TUNE 0x22 #define PHY_DISCON_TH_SEL 0x2a +#define PHY_SQUELCH_DETECT 0x3c #define PHYCTL_DATA BIT(7) #define OTGCTL_ROUTE_MUSB BIT(0) @@ -383,6 +384,11 @@ int sun4i_usb_phy_id_detect(struct phy *phy) return gpio_get_value(usb_phy->gpio_id_det); } +void sun4i_usb_phy_set_squelch_detect(struct phy *phy, bool enabled) +{ + sun4i_usb_phy_write(phy, PHY_SQUELCH_DETECT, enabled ? 0 : 2, 2); +} + static struct phy_ops sun4i_usb_phy_ops = { .of_xlate = sun4i_usb_phy_xlate, .init = sun4i_usb_phy_init, diff --git a/drivers/usb/musb-new/musb_core.h b/drivers/usb/musb-new/musb_core.h index 6394bb0..713a3cf 100644 --- a/drivers/usb/musb-new/musb_core.h +++ b/drivers/usb/musb-new/musb_core.h @@ -201,6 +201,8 @@ enum musb_g_ep0_state { * @vbus_status: returns vbus status if possible * @set_vbus: forces vbus status * @adjust_channel_params: pre check for standard dma channel_program func + * @pre_root_reset_end: called before the root usb port reset flag gets cleared + * @post_root_reset_end: called after the root usb port reset flag gets cleared */ struct musb_platform_ops { int (*init)(struct musb *musb); @@ -222,6 +224,8 @@ struct musb_platform_ops { int (*adjust_channel_params)(struct dma_channel *channel, u16 packet_sz, u8 *mode, dma_addr_t *dma_addr, u32 *len); + void (*pre_root_reset_end)(struct musb *musb); + void (*post_root_reset_end)(struct musb *musb); }; /* diff --git a/drivers/usb/musb-new/musb_uboot.c b/drivers/usb/musb-new/musb_uboot.c index 8662c0f..48242c0 100644 --- a/drivers/usb/musb-new/musb_uboot.c +++ b/drivers/usb/musb-new/musb_uboot.c @@ -193,19 +193,16 @@ static int _musb_reset_root_port(struct musb_host_data *host, power &= 0xf0; musb_writeb(mbase, MUSB_POWER, MUSB_POWER_RESET | power); mdelay(50); -#ifdef CONFIG_ARCH_SUNXI - /* - * sunxi phy has a bug and it will wrongly detect high speed squelch - * when clearing reset on low-speed devices, temporary disable - * squelch detection to work around this. - */ - sunxi_usb_phy_enable_squelch_detect(0, 0); -#endif + + if (host->host->ops->pre_root_reset_end) + host->host->ops->pre_root_reset_end(host->host); + power = musb_readb(mbase, MUSB_POWER); musb_writeb(mbase, MUSB_POWER, ~MUSB_POWER_RESET & power); -#ifdef CONFIG_ARCH_SUNXI - sunxi_usb_phy_enable_squelch_detect(0, 1); -#endif + + if (host->host->ops->post_root_reset_end) + host->host->ops->post_root_reset_end(host->host); + host->host->isr(0, host->host); host->host_speed = (musb_readb(mbase, MUSB_POWER) & MUSB_POWER_HSMODE) ? USB_SPEED_HIGH : diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c index 7d94936..c0afd2c 100644 --- a/drivers/usb/musb-new/sunxi.c +++ b/drivers/usb/musb-new/sunxi.c @@ -296,10 +296,26 @@ static int sunxi_musb_init(struct musb *musb) return 0; } +static void sunxi_musb_pre_root_reset_end(struct musb *musb) +{ + struct sunxi_glue *glue = to_sunxi_glue(musb->controller); + + sun4i_usb_phy_set_squelch_detect(glue->phy, false); +} + +static void sunxi_musb_post_root_reset_end(struct musb *musb) +{ + struct sunxi_glue *glue = to_sunxi_glue(musb->controller); + + sun4i_usb_phy_set_squelch_detect(glue->phy, true); +} + static const struct musb_platform_ops sunxi_musb_ops = { .init = sunxi_musb_init, .enable = sunxi_musb_enable, .disable = sunxi_musb_disable, + .pre_root_reset_end = sunxi_musb_pre_root_reset_end, + .post_root_reset_end = sunxi_musb_post_root_reset_end, }; /* Allwinner OTG supports up to 5 endpoints */ diff --git a/include/phy-sun4i-usb.h b/include/phy-sun4i-usb.h index 040e9d3..b0a45b2 100644 --- a/include/phy-sun4i-usb.h +++ b/include/phy-sun4i-usb.h @@ -23,4 +23,12 @@ int sun4i_usb_phy_id_detect(struct phy *phy); */ int sun4i_usb_phy_vbus_detect(struct phy *phy); +/** + * sun4i_usb_phy_set_squelch_detect() - Enable/disable squelch detect + * + * @phy: reference to a sun4i usb phy + * @enabled: wether to enable or disable squelch detect + */ +void sun4i_usb_phy_set_squelch_detect(struct phy *phy, bool enabled); + #endif /*__GENERIC_PHY_SUN4I_USB_H */ From patchwork Tue Feb 6 14:25:51 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869817 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="p2fogYmC"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbS365bSgz9s82 for ; Wed, 7 Feb 2018 01:46:58 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 79E2CC21E3C; Tue, 6 Feb 2018 14:39:42 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id C5B05C21E55; Tue, 6 Feb 2018 14:37:23 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id E30AFC21DD9; Tue, 6 Feb 2018 14:32:39 +0000 (UTC) Received: from mail-pf0-f194.google.com (mail-pf0-f194.google.com [209.85.192.194]) by lists.denx.de (Postfix) with ESMTPS id 8D127C21E35 for ; Tue, 6 Feb 2018 14:32:35 +0000 (UTC) Received: by mail-pf0-f194.google.com with SMTP id u15so671700pfa.0 for ; Tue, 06 Feb 2018 06:32:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=imoPAkNFrBT+0zQhqZQCpDxpzbJjmN4bkEnrWepGlHM=; b=p2fogYmC3cVASQAz9rkTZiBvv4t267TGlI2T+MRWg0IQnPdstmA51Rhf6GxHiGemOO 8kef/B2v4Jag82vl+MNCTM01L4e/yYpke3qgFwkbIz7pVW+vqMh5Pq0RBotU2oZ1QBx+ 8ZGQ1kFpd7qZKKbv2upK/hemL4irv5w94HRF7oSsIe1u7dKTHZ2g03H2hOUkXB4Ts7iV Q3B5931K3WXzv1sQmTMr3Lpy5dUqEtWh7Ms51cFoUxM75r+gd1Fi7uqCunp3nVncUsdD drQUyKCMkBEPPuNpC29DQIa4O2SrQIaclaSE8KN4HaUFLbDnih9vwGhB26IKBqBbeG3H pvvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=imoPAkNFrBT+0zQhqZQCpDxpzbJjmN4bkEnrWepGlHM=; b=Nng5sQpyomhRoAhY2qHYG8GquDLCL7SqyUaNrkznCHAYAq0CpDPXF9UBfJ2hxdL3jj KOvJQFRyAidCbuXNL4F2MUalehNh8oBCgWpe/6Zfzvs54a60qOJY4LM8kg7U+PPmDrN/ dR+bi/hPBlI4EBBg4yKwIZyuuvD/VsiE93AyiI7ENug0cYRsj2KG0MBtTiTVebGF6U6x JqILByFt2OhKVJD+8YkzzuDblo/d9JXE3q13k5K/N4TUOHMSuwRRo2Xqw2I6rpW+1J8c nkpPi2NfyjD+RESmesU99/RroXOUEeGkGzsAe/1CIVQ9nCciel0lTLCaVzHg6OqJPRMC sd9w== X-Gm-Message-State: APf1xPCBrK8RxxPzwGFpsDekhVFHUuGTxTjsx/h1jpFOZai/dbHbIok9 uNdi6ueAgcx0zcGeEr8+ZlspQxcv X-Google-Smtp-Source: AH8x2246JnNl5ljM4zsbTDe8WwXHt/URu4SSoeQD+oTdoDHzRXpdOod4vEh4hTitAbS/3sNodLxOLg== X-Received: by 10.98.139.196 with SMTP id e65mr2680096pfl.128.1517927553679; Tue, 06 Feb 2018 06:32:33 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.32.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:32:33 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:51 +0530 Message-Id: <1517927164-18197-22-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 21/34] usb: sunxi: Switch to use generic-phy X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Allwinner USB PHY handling can be done through driver-model generic-phy so add the generic-phy ops to relevant places on host and musb sunxi driver and enable them in respective SOC's. Signed-off-by: Jagan Teki --- arch/arm/mach-sunxi/Kconfig | 9 +++++++ c | 0 drivers/usb/host/ehci-sunxi.c | 52 +++++++++++++++++++++++++++--------- drivers/usb/host/ohci-sunxi.c | 54 +++++++++++++++++++++++++++---------- drivers/usb/musb-new/musb_uboot.c | 3 --- drivers/usb/musb-new/sunxi.c | 56 ++++++++++++++++++++++++++++++++------- 6 files changed, 135 insertions(+), 39 deletions(-) create mode 100644 c diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig index 1fededd..cc3faa7 100644 --- a/arch/arm/mach-sunxi/Kconfig +++ b/arch/arm/mach-sunxi/Kconfig @@ -57,6 +57,7 @@ endif config MACH_SUNXI_H3_H5 bool select DM_I2C + select PHY_SUN4I_USB select SUNXI_DE2 select SUNXI_DRAM_DW select SUNXI_DRAM_DW_32BIT @@ -71,6 +72,7 @@ config MACH_SUN4I bool "sun4i (Allwinner A10)" select CPU_V7 select ARM_CORTEX_CPU_IS_UP + select PHY_SUN4I_USB select SUNXI_GEN_SUN4I select SUPPORT_SPL @@ -78,6 +80,7 @@ config MACH_SUN5I bool "sun5i (Allwinner A13)" select CPU_V7 select ARM_CORTEX_CPU_IS_UP + select PHY_SUN4I_USB select SUNXI_GEN_SUN4I select SUPPORT_SPL @@ -87,6 +90,7 @@ config MACH_SUN6I select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT select ARCH_SUPPORT_PSCI + select PHY_SUN4I_USB select SUNXI_GEN_SUN6I select SUPPORT_SPL select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT @@ -97,6 +101,7 @@ config MACH_SUN7I select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT select ARCH_SUPPORT_PSCI + select PHY_SUN4I_USB select SUNXI_GEN_SUN4I select SUPPORT_SPL select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT @@ -107,6 +112,7 @@ config MACH_SUN8I_A23 select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT select ARCH_SUPPORT_PSCI + select PHY_SUN4I_USB select SUNXI_GEN_SUN6I select SUPPORT_SPL select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT @@ -117,6 +123,7 @@ config MACH_SUN8I_A33 select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT select ARCH_SUPPORT_PSCI + select PHY_SUN4I_USB select SUNXI_GEN_SUN6I select SUPPORT_SPL select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT @@ -126,6 +133,7 @@ config MACH_SUN8I_A83T select CPU_V7 select SUNXI_GEN_SUN6I select MMC_SUNXI_HAS_NEW_MODE + select PHY_SUN4I_USB select SUPPORT_SPL config MACH_SUN8I_H3 @@ -171,6 +179,7 @@ config MACH_SUN50I bool "sun50i (Allwinner A64)" select ARM64 select DM_I2C + select PHY_SUN4I_USB select SUNXI_DE2 select SUNXI_GEN_SUN6I select SUNXI_HIGH_SRAM diff --git a/c b/c new file mode 100644 index 0000000..e69de29 diff --git a/drivers/usb/host/ehci-sunxi.c b/drivers/usb/host/ehci-sunxi.c index ed9763c..57ede93 100644 --- a/drivers/usb/host/ehci-sunxi.c +++ b/drivers/usb/host/ehci-sunxi.c @@ -12,16 +12,14 @@ #include #include -#include #include #include #include "ehci.h" +#include #ifdef CONFIG_SUNXI_GEN_SUN4I -#define BASE_DIST 0x8000 #define AHB_CLK_DIST 2 #else -#define BASE_DIST 0x1000 #define AHB_CLK_DIST 1 #endif @@ -29,7 +27,7 @@ struct ehci_sunxi_priv { struct ehci_ctrl ehci; struct sunxi_ccm_reg *ccm; int ahb_gate_mask; /* Mask of ahb_gate0 clk gate bits for this hcd */ - int phy_index; /* Index of the usb-phy attached to this hcd */ + struct phy phy; }; static int ehci_usb_probe(struct udevice *dev) @@ -39,11 +37,38 @@ static int ehci_usb_probe(struct udevice *dev) struct ehci_hccr *hccr = (struct ehci_hccr *)devfdt_get_addr(dev); struct ehci_hcor *hcor; int extra_ahb_gate_mask = 0; + int phys, ret; priv->ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; if (IS_ERR(priv->ccm)) return PTR_ERR(priv->ccm); + phys = dev_count_phandle_with_args(dev, "phys", "#phy-cells"); + if (phys < 0) { + phys = 0; + goto no_phy; + } + + debug("num_phys = %d\n", phys); + ret = generic_phy_get_by_name(dev, "usb", &priv->phy); + if (ret) { + pr_err("failed to get %s usb PHY\n", dev->name); + return ret; + } + + ret = generic_phy_init(&priv->phy); + if (ret) { + pr_err("failed to init %s USB PHY\n", dev->name); + return ret; + } + + ret = generic_phy_power_on(&priv->phy); + if (ret) { + pr_err("failed to power on %s USB PHY\n", dev->name); + return ret; + } + +no_phy: /* * This should go away once we've moved to the driver model for * clocks resp. phys. @@ -52,10 +77,8 @@ static int ehci_usb_probe(struct udevice *dev) #if defined(CONFIG_MACH_SUNXI_H3_H5) || defined(CONFIG_MACH_SUN50I) extra_ahb_gate_mask = 1 << AHB_GATE_OFFSET_USB_OHCI0; #endif - priv->phy_index = ((uintptr_t)hccr - SUNXI_USB1_BASE) / BASE_DIST; - priv->ahb_gate_mask <<= priv->phy_index * AHB_CLK_DIST; - extra_ahb_gate_mask <<= priv->phy_index * AHB_CLK_DIST; - priv->phy_index++; /* Non otg phys start at 1 */ + priv->ahb_gate_mask <<= phys * AHB_CLK_DIST; + extra_ahb_gate_mask <<= phys * AHB_CLK_DIST; setbits_le32(&priv->ccm->ahb_gate0, priv->ahb_gate_mask | extra_ahb_gate_mask); @@ -64,9 +87,6 @@ static int ehci_usb_probe(struct udevice *dev) priv->ahb_gate_mask | extra_ahb_gate_mask); #endif - sunxi_usb_phy_init(priv->phy_index); - sunxi_usb_phy_power_on(priv->phy_index); - hcor = (struct ehci_hcor *)((uintptr_t)hccr + HC_LENGTH(ehci_readl(&hccr->cr_capbase))); @@ -78,12 +98,18 @@ static int ehci_usb_remove(struct udevice *dev) struct ehci_sunxi_priv *priv = dev_get_priv(dev); int ret; + if (generic_phy_valid(&priv->phy)) { + ret = generic_phy_exit(&priv->phy); + if (ret) { + pr_err("failed to exit %s USB PHY\n", dev->name); + return ret; + } + } + ret = ehci_deregister(dev); if (ret) return ret; - sunxi_usb_phy_exit(priv->phy_index); - #ifdef CONFIG_SUNXI_GEN_SUN6I clrbits_le32(&priv->ccm->ahb_reset0_cfg, priv->ahb_gate_mask); #endif diff --git a/drivers/usb/host/ohci-sunxi.c b/drivers/usb/host/ohci-sunxi.c index 35efa88..5520ff0 100644 --- a/drivers/usb/host/ohci-sunxi.c +++ b/drivers/usb/host/ohci-sunxi.c @@ -11,17 +11,15 @@ #include #include -#include #include #include #include #include "ohci.h" +#include #ifdef CONFIG_SUNXI_GEN_SUN4I -#define BASE_DIST 0x8000 #define AHB_CLK_DIST 2 #else -#define BASE_DIST 0x1000 #define AHB_CLK_DIST 1 #endif @@ -30,7 +28,7 @@ struct ohci_sunxi_priv { ohci_t ohci; int ahb_gate_mask; /* Mask of ahb_gate0 clk gate bits for this hcd */ int usb_gate_mask; /* Mask of usb_clk_cfg clk gate bits for this hcd */ - int phy_index; /* Index of the usb-phy attached to this hcd */ + struct phy phy; }; static int ohci_usb_probe(struct udevice *dev) @@ -39,11 +37,38 @@ static int ohci_usb_probe(struct udevice *dev) struct ohci_sunxi_priv *priv = dev_get_priv(dev); struct ohci_regs *regs = (struct ohci_regs *)devfdt_get_addr(dev); int extra_ahb_gate_mask = 0; + int phys, ret; priv->ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; if (IS_ERR(priv->ccm)) return PTR_ERR(priv->ccm); + phys = dev_count_phandle_with_args(dev, "phys", "#phy-cells"); + if (phys < 0) { + phys = 0; + goto no_phy; + } + + debug("num_phys = %d\n", phys); + ret = generic_phy_get_by_name(dev, "usb", &priv->phy); + if (ret) { + pr_err("failed to get %s usb PHY\n", dev->name); + return ret; + } + + ret = generic_phy_init(&priv->phy); + if (ret) { + pr_err("failed to init %s USB PHY\n", dev->name); + return ret; + } + + ret = generic_phy_power_on(&priv->phy); + if (ret) { + pr_err("failed to power on %s USB PHY\n", dev->name); + return ret; + } + +no_phy: bus_priv->companion = true; /* @@ -55,11 +80,9 @@ static int ohci_usb_probe(struct udevice *dev) extra_ahb_gate_mask = 1 << AHB_GATE_OFFSET_USB_EHCI0; #endif priv->usb_gate_mask = CCM_USB_CTRL_OHCI0_CLK; - priv->phy_index = ((uintptr_t)regs - (SUNXI_USB1_BASE + 0x400)) / BASE_DIST; - priv->ahb_gate_mask <<= priv->phy_index * AHB_CLK_DIST; - extra_ahb_gate_mask <<= priv->phy_index * AHB_CLK_DIST; - priv->usb_gate_mask <<= priv->phy_index; - priv->phy_index++; /* Non otg phys start at 1 */ + priv->ahb_gate_mask <<= phys * AHB_CLK_DIST; + extra_ahb_gate_mask <<= phys * AHB_CLK_DIST; + priv->usb_gate_mask <<= phys; setbits_le32(&priv->ccm->ahb_gate0, priv->ahb_gate_mask | extra_ahb_gate_mask); @@ -69,9 +92,6 @@ static int ohci_usb_probe(struct udevice *dev) priv->ahb_gate_mask | extra_ahb_gate_mask); #endif - sunxi_usb_phy_init(priv->phy_index); - sunxi_usb_phy_power_on(priv->phy_index); - return ohci_register(dev, regs); } @@ -80,12 +100,18 @@ static int ohci_usb_remove(struct udevice *dev) struct ohci_sunxi_priv *priv = dev_get_priv(dev); int ret; + if (generic_phy_valid(&priv->phy)) { + ret = generic_phy_exit(&priv->phy); + if (ret) { + pr_err("failed to exit %s USB PHY\n", dev->name); + return ret; + } + } + ret = ohci_deregister(dev); if (ret) return ret; - sunxi_usb_phy_exit(priv->phy_index); - #ifdef CONFIG_SUNXI_GEN_SUN6I clrbits_le32(&priv->ccm->ahb_reset0_cfg, priv->ahb_gate_mask); #endif diff --git a/drivers/usb/musb-new/musb_uboot.c b/drivers/usb/musb-new/musb_uboot.c index 48242c0..2b04fbd 100644 --- a/drivers/usb/musb-new/musb_uboot.c +++ b/drivers/usb/musb-new/musb_uboot.c @@ -1,9 +1,6 @@ #include #include #include -#ifdef CONFIG_ARCH_SUNXI -#include -#endif #include #include #include diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c index c0afd2c..a0e6d22 100644 --- a/drivers/usb/musb-new/sunxi.c +++ b/drivers/usb/musb-new/sunxi.c @@ -18,10 +18,11 @@ */ #include #include +#include +#include #include #include #include -#include #include #include #include @@ -82,6 +83,7 @@ struct sunxi_glue { struct device dev; u32 rst_bit; u32 clkgate_bit; + struct phy *phy; }; #define to_sunxi_glue(d) container_of(d, struct sunxi_glue, dev) @@ -214,6 +216,7 @@ static bool enabled = false; static int sunxi_musb_enable(struct musb *musb) { + struct sunxi_glue *glue = to_sunxi_glue(musb->controller); int ret; pr_debug("%s():\n", __func__); @@ -228,17 +231,23 @@ static int sunxi_musb_enable(struct musb *musb) musb_writeb(musb->mregs, USBC_REG_o_VEND0, 0); if (is_host_enabled(musb)) { - ret = sunxi_usb_phy_vbus_detect(0); + ret = sun4i_usb_phy_vbus_detect(glue->phy); if (ret == 1) { printf("A charger is plugged into the OTG: "); return -ENODEV; } - ret = sunxi_usb_phy_id_detect(0); + + ret = sun4i_usb_phy_id_detect(glue->phy); if (ret == 1) { printf("No host cable detected: "); return -ENODEV; } - sunxi_usb_phy_power_on(0); /* port power on */ + + ret = generic_phy_power_on(glue->phy); + if (ret) { + pr_err("failed to power on USB PHY\n"); + return ret; + } } USBC_ForceVbusValidToHigh(musb->mregs); @@ -249,13 +258,21 @@ static int sunxi_musb_enable(struct musb *musb) static void sunxi_musb_disable(struct musb *musb) { + struct sunxi_glue *glue = to_sunxi_glue(musb->controller); + int ret; + pr_debug("%s():\n", __func__); if (!enabled) return; - if (is_host_enabled(musb)) - sunxi_usb_phy_power_off(0); /* port power off */ + if (is_host_enabled(musb)) { + ret = generic_phy_power_off(glue->phy); + if (ret) { + pr_err("failed to power off USB PHY\n"); + return; + } + } USBC_ForceVbusValidToLow(musb->mregs); mdelay(200); /* Wait for the current session to timeout */ @@ -266,9 +283,16 @@ static void sunxi_musb_disable(struct musb *musb) static int sunxi_musb_init(struct musb *musb) { struct sunxi_glue *glue = to_sunxi_glue(musb->controller); + int ret; pr_debug("%s():\n", __func__); + ret = generic_phy_init(glue->phy); + if (ret) { + pr_err("failed to init USB PHY\n"); + return ret; + } + musb->isr = sunxi_musb_interrupt; setbits_le32(&glue->ccm->ahb_gate0, @@ -278,8 +302,6 @@ static int sunxi_musb_init(struct musb *musb) BIT(AHB_GATE_OFFSET_USB0) | glue->rst_bit); #endif - sunxi_usb_phy_init(0); - USBC_ConfigFIFO_Base(); USBC_EnableDpDmPullUp(musb->mregs); USBC_EnableIdPullUp(musb->mregs); @@ -375,6 +397,7 @@ static int musb_usb_probe(struct udevice *dev) struct usb_bus_priv *priv = dev_get_uclass_priv(dev); struct musb_hdrc_platform_data pdata; void *base = dev_read_addr_ptr(dev); + struct phy phy; int ret; if (!base) @@ -384,6 +407,13 @@ static int musb_usb_probe(struct udevice *dev) if (IS_ERR(glue->ccm)) return PTR_ERR(glue->ccm); + ret = generic_phy_get_by_name(dev, "usb", &phy); + if (ret) { + pr_err("failed to get usb PHY\n"); + return ret; + } + + glue->phy = &phy; priv->desc_before_addr = true; pdata.power = 250; @@ -421,10 +451,18 @@ static int musb_usb_remove(struct udevice *dev) { struct sunxi_glue *glue = dev_get_priv(dev); struct musb_host_data *host = &glue->mdata; + int ret; + + if (generic_phy_valid(glue->phy)) { + ret = generic_phy_exit(glue->phy); + if (ret) { + pr_err("failed to exit %s USB PHY\n", dev->name); + return ret; + } + } musb_stop(host->host); - sunxi_usb_phy_exit(0); #ifdef CONFIG_SUNXI_GEN_SUN6I clrbits_le32(&glue->ccm->ahb_reset0_cfg, BIT(AHB_GATE_OFFSET_USB0) | glue->rst_bit); From patchwork Tue Feb 6 14:25:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869797 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="LvdiPmqX"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbRtZ6pXPz9s8J for ; Wed, 7 Feb 2018 01:39:34 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 71BF6C21DD7; Tue, 6 Feb 2018 14:37:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 0D23DC21E42; Tue, 6 Feb 2018 14:35:06 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 51855C21E48; Tue, 6 Feb 2018 14:32:43 +0000 (UTC) Received: from mail-pl0-f66.google.com (mail-pl0-f66.google.com [209.85.160.66]) by lists.denx.de (Postfix) with ESMTPS id 2496FC21E3C for ; Tue, 6 Feb 2018 14:32:39 +0000 (UTC) Received: by mail-pl0-f66.google.com with SMTP id f4so1331662plr.10 for ; Tue, 06 Feb 2018 06:32:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=KIOaeUj3Nhk/GxLp2DjcVLG4oxVgQJDhtupX2d1xy9w=; b=LvdiPmqXAboj+FOHMVe6hdO48+mSfp8opbbnYpYbZLcuEVB8qcYFIQ1PB0d2cEKoJc yLm8qWmrQZAY3w/9IiENCnlxMHIGZ441MbnXk7mk8UyDRBLJYltkAn+n1AyC2mc6r9wT OEWIfJ7xXGx4cbUb3Yi8ak5PLxlq46Jbgh1zkpOZ5pkIoQE9f0IGZ/lnQzkq8dbff1JC 5JfuypZwpe4/Qsi9FV21rIO/tphWnGmv9t6GXYFahTEsmcE5XVlvw9Rs/wFcfRGrAoLJ Mx8L8MC/t7Wu7Ge2zB/3BYUCCQUqMA0qErs7IrpTwf0MgYrbJAmwMq3PMMoS0B8G5P92 5u5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=KIOaeUj3Nhk/GxLp2DjcVLG4oxVgQJDhtupX2d1xy9w=; b=H8RAeF/ONPx1zQK9z8a/I5T6DfGf0RiONmE9sc0YqIB9F4ABU6f47F75KzWNs+l8KO GSRC0qga2VQmfi53lNIGDU5AREZSC8QMYBkpMsP+NVyzztiBFr8ouNxc/pTwQ5RzGBHm ObLhmnf3baRYxXUmTgvlt6F2ApUBbsIIP4MneFMdJ78e/V5izg+A2G16xKvMkCHa3A3e /ZSECS0YKIfZHr/WeO0evUYmhX1wTwXmhlm1WjTohmlnD+HxWaka5JoyVEdXVRDNd0eM xSpn8fw8OcK36EZxbDaBpadGW5VWbn9eCOvewgHTIoDA04yPiYAkcW4RcIjJFYJaba14 Zg1g== X-Gm-Message-State: APf1xPDzhz2N8+h3TwqGltwIbq37KDyJuHjPpd9t51+jlRVW6/wMlS+e Y1ZwskwCZmSPCq4vo6RcO2Zff31i X-Google-Smtp-Source: AH8x224PqpyjbX1SyrBZcflugRRkAHEXI3ikpAAKLyGToOZHLCgZyIYZu7NJtv5pl8h2HcOCoLgEvA== X-Received: by 2002:a17:902:b608:: with SMTP id b8-v6mr2624631pls.404.1517927557241; Tue, 06 Feb 2018 06:32:37 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.32.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:32:36 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:52 +0530 Message-Id: <1517927164-18197-23-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 22/34] sunxi: Drop legacy usb_phy.c X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Allwinner PHY USB code is now part of generic-phy framework, so drop existing legacy handling like arch/arm/mach-sunxi.c and related code areas. Signed-off-by: Jagan Teki --- arch/arm/include/asm/arch-sunxi/usb_phy.h | 21 -- arch/arm/mach-sunxi/Makefile | 3 - arch/arm/mach-sunxi/usb_phy.c | 407 ------------------------------ board/sunxi/board.c | 7 - 4 files changed, 438 deletions(-) delete mode 100644 arch/arm/include/asm/arch-sunxi/usb_phy.h delete mode 100644 arch/arm/mach-sunxi/usb_phy.c diff --git a/arch/arm/include/asm/arch-sunxi/usb_phy.h b/arch/arm/include/asm/arch-sunxi/usb_phy.h deleted file mode 100644 index 5a9cacb..0000000 --- a/arch/arm/include/asm/arch-sunxi/usb_phy.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Sunxi usb-phy code - * - * Copyright (C) 2015 Hans de Goede - * Copyright (C) 2014 Roman Byshko - * - * Based on code from - * Allwinner Technology Co., Ltd. - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -int sunxi_usb_phy_probe(void); -int sunxi_usb_phy_remove(void); -void sunxi_usb_phy_init(int index); -void sunxi_usb_phy_exit(int index); -void sunxi_usb_phy_power_on(int index); -void sunxi_usb_phy_power_off(int index); -int sunxi_usb_phy_vbus_detect(int index); -int sunxi_usb_phy_id_detect(int index); -void sunxi_usb_phy_enable_squelch_detect(int index, int enable); diff --git a/arch/arm/mach-sunxi/Makefile b/arch/arm/mach-sunxi/Makefile index 2a3c379..4e44a62 100644 --- a/arch/arm/mach-sunxi/Makefile +++ b/arch/arm/mach-sunxi/Makefile @@ -13,9 +13,6 @@ obj-y += clock.o obj-y += cpu_info.o obj-y += dram_helpers.o obj-y += pinmux.o -ifndef CONFIG_MACH_SUN9I -obj-y += usb_phy.o -endif obj-$(CONFIG_MACH_SUN6I) += prcm.o obj-$(CONFIG_MACH_SUN8I) += prcm.o obj-$(CONFIG_MACH_SUN9I) += prcm.o diff --git a/arch/arm/mach-sunxi/usb_phy.c b/arch/arm/mach-sunxi/usb_phy.c deleted file mode 100644 index 2f1cad1..0000000 --- a/arch/arm/mach-sunxi/usb_phy.c +++ /dev/null @@ -1,407 +0,0 @@ -/* - * Sunxi usb-phy code - * - * Copyright (C) 2015 Hans de Goede - * Copyright (C) 2014 Roman Byshko - * - * Based on code from - * Allwinner Technology Co., Ltd. - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include -#include -#include -#include -#include -#include -#include - -#if defined(CONFIG_MACH_SUN4I) || \ - defined(CONFIG_MACH_SUN5I) || \ - defined(CONFIG_MACH_SUN6I) || \ - defined(CONFIG_MACH_SUN7I) || \ - defined(CONFIG_MACH_SUN8I_A23) || \ - defined(CONFIG_MACH_SUN9I) -#define SUNXI_USB_CSR 0x404 -#else -#define SUNXI_USB_CSR 0x410 -#endif - -#define SUNXI_USB_PMU_IRQ_ENABLE 0x800 -#define SUNXI_USB_PASSBY_EN 1 - -#define SUNXI_EHCI_AHB_ICHR8_EN (1 << 10) -#define SUNXI_EHCI_AHB_INCR4_BURST_EN (1 << 9) -#define SUNXI_EHCI_AHB_INCRX_ALIGN_EN (1 << 8) -#define SUNXI_EHCI_ULPI_BYPASS_EN (1 << 0) - -#define REG_PHY_UNK_H3 0x420 -#define REG_PMU_UNK_H3 0x810 - -/* A83T specific control bits for PHY0 */ -#define SUNXI_PHY_CTL_VBUSVLDEXT BIT(5) -#define SUNXI_PHY_CTL_SIDDQ BIT(3) - -/* A83T HSIC specific bits */ -#define SUNXI_EHCI_HS_FORCE BIT(20) -#define SUNXI_EHCI_CONNECT_DET BIT(17) -#define SUNXI_EHCI_CONNECT_INT BIT(16) -#define SUNXI_EHCI_HSIC BIT(1) - -static struct sunxi_usb_phy { - int usb_rst_mask; - int gpio_vbus; - int gpio_vbus_det; - int gpio_id_det; - int id; - int init_count; - int power_on_count; - ulong base; -} sunxi_usb_phy[] = { - { - .usb_rst_mask = CCM_USB_CTRL_PHY0_RST | CCM_USB_CTRL_PHY0_CLK, - .id = 0, - .base = SUNXI_USB0_BASE, - }, - { - .usb_rst_mask = CCM_USB_CTRL_PHY1_RST | CCM_USB_CTRL_PHY1_CLK, - .id = 1, - .base = SUNXI_USB1_BASE, - }, -#if CONFIG_SUNXI_USB_PHYS >= 3 - { -#ifdef CONFIG_MACH_SUN8I_A83T - .usb_rst_mask = CCM_USB_CTRL_HSIC_RST | CCM_USB_CTRL_HSIC_CLK | - CCM_USB_CTRL_12M_CLK, -#else - .usb_rst_mask = CCM_USB_CTRL_PHY2_RST | CCM_USB_CTRL_PHY2_CLK, -#endif - .id = 2, - .base = SUNXI_USB2_BASE, - }, -#endif -#if CONFIG_SUNXI_USB_PHYS >= 4 - { - .usb_rst_mask = CCM_USB_CTRL_PHY3_RST | CCM_USB_CTRL_PHY3_CLK, - .id = 3, - .base = SUNXI_USB3_BASE, - } -#endif -}; - -static int initial_usb_scan_delay = CONFIG_INITIAL_USB_SCAN_DELAY; - -static int get_vbus_gpio(int index) -{ - switch (index) { - case 0: return sunxi_name_to_gpio(CONFIG_USB0_VBUS_PIN); - case 1: return sunxi_name_to_gpio(CONFIG_USB1_VBUS_PIN); - case 2: return sunxi_name_to_gpio(CONFIG_USB2_VBUS_PIN); - case 3: return sunxi_name_to_gpio(CONFIG_USB3_VBUS_PIN); - } - return -EINVAL; -} - -static int get_vbus_detect_gpio(int index) -{ - switch (index) { - case 0: return sunxi_name_to_gpio(CONFIG_USB0_VBUS_DET); - } - return -EINVAL; -} - -static int get_id_detect_gpio(int index) -{ - switch (index) { - case 0: return sunxi_name_to_gpio(CONFIG_USB0_ID_DET); - } - return -EINVAL; -} - -__maybe_unused static void usb_phy_write(struct sunxi_usb_phy *phy, int addr, - int data, int len) -{ - int j = 0, usbc_bit = 0; - void *dest = (void *)SUNXI_USB0_BASE + SUNXI_USB_CSR; - -#ifdef CONFIG_MACH_SUN8I_A33 - /* CSR needs to be explicitly initialized to 0 on A33 */ - writel(0, dest); -#endif - - usbc_bit = 1 << (phy->id * 2); - for (j = 0; j < len; j++) { - /* set the bit address to be written */ - clrbits_le32(dest, 0xff << 8); - setbits_le32(dest, (addr + j) << 8); - - clrbits_le32(dest, usbc_bit); - /* set data bit */ - if (data & 0x1) - setbits_le32(dest, 1 << 7); - else - clrbits_le32(dest, 1 << 7); - - setbits_le32(dest, usbc_bit); - - clrbits_le32(dest, usbc_bit); - - data >>= 1; - } -} - -#if defined(CONFIG_MACH_SUNXI_H3_H5) || defined(CONFIG_MACH_SUN50I) -static void sunxi_usb_phy_config(struct sunxi_usb_phy *phy) -{ -#if defined CONFIG_MACH_SUNXI_H3_H5 - if (phy->id == 0) - clrbits_le32(SUNXI_USBPHY_BASE + REG_PHY_UNK_H3, 0x01); -#endif - clrbits_le32(phy->base + REG_PMU_UNK_H3, 0x02); -} -#elif defined CONFIG_MACH_SUN8I_A83T -static void sunxi_usb_phy_config(struct sunxi_usb_phy *phy) -{ -} -#else -static void sunxi_usb_phy_config(struct sunxi_usb_phy *phy) -{ - /* The following comments are machine - * translated from Chinese, you have been warned! - */ - - /* Regulation 45 ohms */ - if (phy->id == 0) - usb_phy_write(phy, 0x0c, 0x01, 1); - - /* adjust PHY's magnitude and rate */ - usb_phy_write(phy, 0x20, 0x14, 5); - - /* threshold adjustment disconnect */ -#if defined CONFIG_MACH_SUN5I || defined CONFIG_MACH_SUN7I - usb_phy_write(phy, 0x2a, 2, 2); -#else - usb_phy_write(phy, 0x2a, 3, 2); -#endif - - return; -} -#endif - -static void sunxi_usb_phy_passby(struct sunxi_usb_phy *phy, int enable) -{ - unsigned long bits = 0; - void *addr; - - addr = (void *)phy->base + SUNXI_USB_PMU_IRQ_ENABLE; - - bits = SUNXI_EHCI_AHB_ICHR8_EN | - SUNXI_EHCI_AHB_INCR4_BURST_EN | - SUNXI_EHCI_AHB_INCRX_ALIGN_EN | - SUNXI_EHCI_ULPI_BYPASS_EN; - -#ifdef CONFIG_MACH_SUN8I_A83T - if (phy->id == 2) - bits |= SUNXI_EHCI_HS_FORCE | - SUNXI_EHCI_CONNECT_INT | - SUNXI_EHCI_HSIC; -#endif - - if (enable) - setbits_le32(addr, bits); - else - clrbits_le32(addr, bits); - - return; -} - -void sunxi_usb_phy_enable_squelch_detect(int index, int enable) -{ -#ifndef CONFIG_MACH_SUN8I_A83T - struct sunxi_usb_phy *phy = &sunxi_usb_phy[index]; - - usb_phy_write(phy, 0x3c, enable ? 0 : 2, 2); -#endif -} - -void sunxi_usb_phy_init(int index) -{ - struct sunxi_usb_phy *phy = &sunxi_usb_phy[index]; - struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; - - phy->init_count++; - if (phy->init_count != 1) - return; - - setbits_le32(&ccm->usb_clk_cfg, phy->usb_rst_mask); - - sunxi_usb_phy_config(phy); - - if (phy->id != 0) - sunxi_usb_phy_passby(phy, SUNXI_USB_PASSBY_EN); - -#ifdef CONFIG_MACH_SUN8I_A83T - if (phy->id == 0) { - setbits_le32(SUNXI_USB0_BASE + SUNXI_USB_CSR, - SUNXI_PHY_CTL_VBUSVLDEXT); - clrbits_le32(SUNXI_USB0_BASE + SUNXI_USB_CSR, - SUNXI_PHY_CTL_SIDDQ); - } -#endif -} - -void sunxi_usb_phy_exit(int index) -{ - struct sunxi_usb_phy *phy = &sunxi_usb_phy[index]; - struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; - - phy->init_count--; - if (phy->init_count != 0) - return; - - if (phy->id != 0) - sunxi_usb_phy_passby(phy, !SUNXI_USB_PASSBY_EN); - -#ifdef CONFIG_MACH_SUN8I_A83T - if (phy->id == 0) { - setbits_le32(SUNXI_USB0_BASE + SUNXI_USB_CSR, - SUNXI_PHY_CTL_SIDDQ); - } -#endif - - clrbits_le32(&ccm->usb_clk_cfg, phy->usb_rst_mask); -} - -void sunxi_usb_phy_power_on(int index) -{ - struct sunxi_usb_phy *phy = &sunxi_usb_phy[index]; - - if (initial_usb_scan_delay) { - mdelay(initial_usb_scan_delay); - initial_usb_scan_delay = 0; - } - - phy->power_on_count++; - if (phy->power_on_count != 1) - return; - - if (phy->gpio_vbus >= 0) - gpio_set_value(phy->gpio_vbus, 1); -} - -void sunxi_usb_phy_power_off(int index) -{ - struct sunxi_usb_phy *phy = &sunxi_usb_phy[index]; - - phy->power_on_count--; - if (phy->power_on_count != 0) - return; - - if (phy->gpio_vbus >= 0) - gpio_set_value(phy->gpio_vbus, 0); -} - -int sunxi_usb_phy_vbus_detect(int index) -{ - struct sunxi_usb_phy *phy = &sunxi_usb_phy[index]; - int err, retries = 3; - - if (phy->gpio_vbus_det < 0) - return phy->gpio_vbus_det; - - err = gpio_get_value(phy->gpio_vbus_det); - /* - * Vbus may have been provided by the board and just been turned of - * some milliseconds ago on reset, what we're measuring then is a - * residual charge on Vbus, sleep a bit and try again. - */ - while (err > 0 && retries--) { - mdelay(100); - err = gpio_get_value(phy->gpio_vbus_det); - } - - return err; -} - -int sunxi_usb_phy_id_detect(int index) -{ - struct sunxi_usb_phy *phy = &sunxi_usb_phy[index]; - - if (phy->gpio_id_det < 0) - return phy->gpio_id_det; - - return gpio_get_value(phy->gpio_id_det); -} - -int sunxi_usb_phy_probe(void) -{ - struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; - struct sunxi_usb_phy *phy; - int i, ret = 0; - - for (i = 0; i < CONFIG_SUNXI_USB_PHYS; i++) { - phy = &sunxi_usb_phy[i]; - - phy->gpio_vbus = get_vbus_gpio(i); - if (phy->gpio_vbus >= 0) { - ret = gpio_request(phy->gpio_vbus, "usb_vbus"); - if (ret) - return ret; - ret = gpio_direction_output(phy->gpio_vbus, 0); - if (ret) - return ret; - } - - phy->gpio_vbus_det = get_vbus_detect_gpio(i); - if (phy->gpio_vbus_det >= 0) { - ret = gpio_request(phy->gpio_vbus_det, "usb_vbus_det"); - if (ret) - return ret; - ret = gpio_direction_input(phy->gpio_vbus_det); - if (ret) - return ret; - } - - phy->gpio_id_det = get_id_detect_gpio(i); - if (phy->gpio_id_det >= 0) { - ret = gpio_request(phy->gpio_id_det, "usb_id_det"); - if (ret) - return ret; - ret = gpio_direction_input(phy->gpio_id_det); - if (ret) - return ret; - sunxi_gpio_set_pull(phy->gpio_id_det, - SUNXI_GPIO_PULL_UP); - } - } - - setbits_le32(&ccm->usb_clk_cfg, CCM_USB_CTRL_PHYGATE); - - return 0; -} - -int sunxi_usb_phy_remove(void) -{ - struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; - struct sunxi_usb_phy *phy; - int i; - - clrbits_le32(&ccm->usb_clk_cfg, CCM_USB_CTRL_PHYGATE); - - for (i = 0; i < CONFIG_SUNXI_USB_PHYS; i++) { - phy = &sunxi_usb_phy[i]; - - if (phy->gpio_vbus >= 0) - gpio_free(phy->gpio_vbus); - - if (phy->gpio_vbus_det >= 0) - gpio_free(phy->gpio_vbus_det); - - if (phy->gpio_id_det >= 0) - gpio_free(phy->gpio_id_det); - } - - return 0; -} diff --git a/board/sunxi/board.c b/board/sunxi/board.c index 885d301..56a1ab0 100644 --- a/board/sunxi/board.c +++ b/board/sunxi/board.c @@ -24,7 +24,6 @@ #include #include #include -#include #ifndef CONFIG_ARM64 #include #endif @@ -776,12 +775,6 @@ int misc_init_r(void) setup_environment(gd->fdt_blob); -#ifndef CONFIG_MACH_SUN9I - ret = sunxi_usb_phy_probe(); - if (ret) - return ret; -#endif - #ifdef CONFIG_USB_ETHER usb_ether_init(); #endif From patchwork Tue Feb 6 14:25:53 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869836 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="bOxseIzV"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbSDq2jYRz9ryr for ; Wed, 7 Feb 2018 01:55:23 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 165A1C21E50; Tue, 6 Feb 2018 14:40:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 26823C21E4C; Tue, 6 Feb 2018 14:38:01 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id D45AFC21DD7; Tue, 6 Feb 2018 14:32:46 +0000 (UTC) Received: from mail-pl0-f67.google.com (mail-pl0-f67.google.com [209.85.160.67]) by lists.denx.de (Postfix) with ESMTPS id 4F164C21C3F for ; Tue, 6 Feb 2018 14:32:42 +0000 (UTC) Received: by mail-pl0-f67.google.com with SMTP id f8so1337668plk.11 for ; Tue, 06 Feb 2018 06:32:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Rml55VfSxyY7AgGZx7TRi2jiiStu5vh57WNCrYnohXw=; b=bOxseIzVy9EjfnswdYdmlL8QOdDwWVU+pNB8jc/F/jtkpgh5wtuaESgvSpTbV5WtJm P4Y9zoa02YB+kRO6KHRnFZYiU8OQvQaIGBNquHfswL1OAx8bOl1drjLaHXIm/qWMTCKj Zehzq28Faq1usT7neuK0Pk6wijK306elVzCeLA66BpHIEk8WqMjFnqcU7IDxrtba0IFm v6wZ1zzPPJ9csUX9oPUI0Uj5ejwzRHwnMu8bkg0jPAJ29uwG/hqpNIce7pazXp0KfoJ/ 7Q1aSMlizJRbFN7Z/dd70CPEGL7bpP4G58/NtzahsijuZzgoMdRUcSidlTdVH2vfql9A gkyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Rml55VfSxyY7AgGZx7TRi2jiiStu5vh57WNCrYnohXw=; b=AgxkjR5XzgMNQ1g7jPn082kDFkkaMi4rDSS6BoOyGQBVWuoDgqb8pb+l5OyG24mYca Zlg32HK4ASkyDy18vi84Ba1CM8dWc9Y9umPSSfm3fjd62mgakxGrwwHZeF8uhzAIMtyy +zJfRKhKVbo6yHMYuyfMHnXyGbfbuNPg+yvUbr6jHN1B7LDzQiD+ztoq4tZbd7KweIBF N6YK37UvqBIPwh9iNkKUw7u8kAsAhKvb0Fgk72wSNc039jPd41gy3f31gnC73YR2pX3O 1Yw6QBWDJxcll1DYdz3TSPPoMyrpOntEfUBNkq7r9ZH4Q2Fk/7hrJHlupK/UmQ89e5Gt 4+pg== X-Gm-Message-State: APf1xPA6IwSv4r1x0E5CmvEOyJaSDrGS6DHJRYUW61iB7nGB/RSE1MdD r6Ylto/DgTaQ7yLsnA9j865qmAip X-Google-Smtp-Source: AH8x2244D4VC0GBPQS+s9kvmDa5rsmPs13OK5NxAyO7ihDIgTWp2vfVTPpCOahFVawxx4jvyOh8hNA== X-Received: by 2002:a17:902:4464:: with SMTP id k91-v6mr2538606pld.267.1517927560574; Tue, 06 Feb 2018 06:32:40 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.32.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:32:39 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:53 +0530 Message-Id: <1517927164-18197-24-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 23/34] sunxi: h3: Sync OTG and HCI nodes from Linux DT X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" From: Jun Nie Allwinner H3 have a dual-routed USB PHY0 -- routed to either OHCI/EHCI or MUSB controller. Signed-off-by: Jun Nie Reviewed-by: Jagan Teki --- arch/arm/dts/sun8i-h3.dtsi | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/arch/arm/dts/sun8i-h3.dtsi b/arch/arm/dts/sun8i-h3.dtsi index afa6079..d9728a7 100644 --- a/arch/arm/dts/sun8i-h3.dtsi +++ b/arch/arm/dts/sun8i-h3.dtsi @@ -218,6 +218,19 @@ #size-cells = <0>; }; + usb_otg: usb@1c19000 { + compatible = "allwinner,sun8i-h3-musb"; + reg = <0x01c19000 0x400>; + clocks = <&ccu CLK_BUS_OTG>; + resets = <&ccu RST_BUS_OTG>; + interrupts = ; + interrupt-names = "mc"; + phys = <&usbphy 0>; + phy-names = "usb"; + extcon = <&usbphy 0>; + status = "disabled"; + }; + usbphy: phy@01c19400 { compatible = "allwinner,sun8i-h3-usb-phy"; reg = <0x01c19400 0x2c>, @@ -250,6 +263,25 @@ #phy-cells = <1>; }; + ehci0: usb@1c1a000 { + compatible = "allwinner,sun8i-h3-ehci", "generic-ehci"; + reg = <0x01c1a000 0x100>; + interrupts = ; + clocks = <&ccu CLK_BUS_EHCI0>, <&ccu CLK_BUS_OHCI0>; + resets = <&ccu RST_BUS_EHCI0>, <&ccu RST_BUS_OHCI0>; + status = "disabled"; + }; + + ohci0: usb@1c1a400 { + compatible = "allwinner,sun8i-h3-ohci", "generic-ohci"; + reg = <0x01c1a400 0x100>; + interrupts = ; + clocks = <&ccu CLK_BUS_EHCI0>, <&ccu CLK_BUS_OHCI0>, + <&ccu CLK_USB_OHCI0>; + resets = <&ccu RST_BUS_EHCI0>, <&ccu RST_BUS_OHCI0>; + status = "disabled"; + }; + ehci1: usb@01c1b000 { compatible = "allwinner,sun8i-h3-ehci", "generic-ehci"; reg = <0x01c1b000 0x100>; From patchwork Tue Feb 6 14:25:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869811 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="RyWjXJam"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbS0B6wGJz9s82 for ; Wed, 7 Feb 2018 01:44:26 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id A0661C21E48; Tue, 6 Feb 2018 14:36:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 030BAC21E63; Tue, 6 Feb 2018 14:33:26 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 575FBC21CEC; Tue, 6 Feb 2018 14:32:49 +0000 (UTC) Received: from mail-pl0-f66.google.com (mail-pl0-f66.google.com [209.85.160.66]) by lists.denx.de (Postfix) with ESMTPS id 97B2EC21E4D for ; Tue, 6 Feb 2018 14:32:45 +0000 (UTC) Received: by mail-pl0-f66.google.com with SMTP id v3so1348661plg.3 for ; Tue, 06 Feb 2018 06:32:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=SCEWlNZt2jZUoRH9MtYztFk4l0N5Y+ZItch+kUOnjas=; b=RyWjXJam63MQD2rxyattxWyQdOa506FKAgYJYIFrsAcQ/7//Cydk05hKbn0T3lHAMK ZKUxGrfQp7xC8TxlHITefppjlcvg9BEoInnGhpnJbwj+TokM7tCLaIAk2XC5QmRHBJML RxCL15JTl2M1yq9pbD7imfuM0AkDWIChPdRYk02TiQNi01G2aPxPHZjnvzqhroVj9JxW PRhOquokLFeWCJ+HT70WbPPm8FJKm6VEJjIPPrzBXpBk7icvQXVLm30qosVxknY9ao3C fb+AftAw6du3VoWQcFZRtMYTG4b6WQ2dJxIy8p37iy0E4id1OeMO9p9Lv/DhDWa5szWn PoYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=SCEWlNZt2jZUoRH9MtYztFk4l0N5Y+ZItch+kUOnjas=; b=Efb+QK9wBXXkUnWrQAoFVkyU+MmB8XY9fglt/8XglZJtO815GkmrLhgRoJvOGNax7z OF2iPmSmoOpUfVVjU0aOCWcgV3lvaMJOLp2tO+87s3/NnL+bAEsyfVaKHR+PO2q9I4Mr MHDecqlSDI1Sz5/gR05Z8o/fYM2I8bPBHx32mdzUOb+vrByamkANy2mZ+z6aMDX6mJjt IUJAAd2PoKRyJHMSN3+xJkb+7w1X9K7l5PUjgkVGyYtZdPs9wfpFO8fU0+55UWGHJvea wjNKCAsrRHO4Vf/aBsR0j6bOqfueIWqKL4ApX+O9WbLwSPPpN6txed0ELbNJSHvEES+W UdBQ== X-Gm-Message-State: APf1xPBguVLaFP8TEhhk2l1dDr3G7RVC9Gk0kHZgw/gqZE97zhZHQLCa Gu8AANSGYqxTkyPL2ucBlebAQ+Wp X-Google-Smtp-Source: AH8x225mf0EPja6B2Sw2dbnFVtWO36eh75Xqskkj3v87sONo1Yr9NFZJy9PZ1iGkm2ENUKqnApyBgQ== X-Received: by 2002:a17:902:6544:: with SMTP id d4-v6mr2538078pln.117.1517927563887; Tue, 06 Feb 2018 06:32:43 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.32.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:32:43 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:54 +0530 Message-Id: <1517927164-18197-25-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 24/34] arm64: allwinner: a64: bananapi-m64: Sync usb_otg node from Linux X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Sync bananapi-m64 usb_otg node from Linux. Signed-off-by: Jagan Teki --- arch/arm/dts/sun50i-a64-bananapi-m64.dts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/arm/dts/sun50i-a64-bananapi-m64.dts b/arch/arm/dts/sun50i-a64-bananapi-m64.dts index 02db114..80405e5 100644 --- a/arch/arm/dts/sun50i-a64-bananapi-m64.dts +++ b/arch/arm/dts/sun50i-a64-bananapi-m64.dts @@ -119,3 +119,13 @@ pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; status = "okay"; }; + +&usb_otg { + dr_mode = "otg"; + status = "okay"; +}; + +&usbphy { + usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */ + status = "okay"; +}; From patchwork Tue Feb 6 14:25:55 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869810 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="pdcpqRNF"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbRzs0P1Fz9s8J for ; Wed, 7 Feb 2018 01:44:09 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id C0B4DC21D9F; Tue, 6 Feb 2018 14:39:05 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 3939FC21E67; Tue, 6 Feb 2018 14:35:40 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 7B802C21E3A; Tue, 6 Feb 2018 14:32:53 +0000 (UTC) Received: from mail-pf0-f195.google.com (mail-pf0-f195.google.com [209.85.192.195]) by lists.denx.de (Postfix) with ESMTPS id EE65FC21E28 for ; Tue, 6 Feb 2018 14:32:48 +0000 (UTC) Received: by mail-pf0-f195.google.com with SMTP id z79so670461pff.13 for ; Tue, 06 Feb 2018 06:32:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ZfTkRnxm7N65qKiV0WryZVr5zICMOrfEf9ySEp6ChXE=; b=pdcpqRNFTFk4jkfRpDJRgTdCmCLfBy0D0FG+0G0r30PLPXSSZ6tHrso4lHN+morIgw PH++KKmrihHMZGKDWWvZ5JCrwq9Yr2lnNsD+OlbCS4vjmznk4L2CF9sDTk5+PDuBlDB0 wlV4nMj/CvqdYpy07kFmjR0MjYOlouLdWv5s0XKEKJwbpiL8gqp5oTY7pfdRvCvv4cBo Khav+Bb0psgxUBn+JtU/PwhxSHBCHNM2RbHG3pIbyFDw5zVcfjCsVTd0He1bbQUSOZJb qimIvUi2Z2PhIj6CaLl6nBCsBYW6lrGDsXZuEiqJgRdOltOluUiZBjP5MLsGzjormQ2i owXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ZfTkRnxm7N65qKiV0WryZVr5zICMOrfEf9ySEp6ChXE=; b=e4J6mrOWXrIQxTNKBbz0vSYPalt2y1ErW0jSXJCNpJ437GH3Qrxywb8Y0GlO0WspF1 W43rwisNnp121P6DZo0Z4py6ecZkk/Bt5Sa68KsUnbSPaDb/VzEFtlfYUds1659Z08UH +XxoZF5a6AbVQjApEyPk9sIwA2o+alOfE5PpBoBHSPDRtfK5oYJumuA4OzixWyeZmuJR XzfY0WgTtm7bnGU41pg9W/y5l4P0Y0lZTyccELfURvv8MWrvdsHrCCOwhY+0isw2tSXB y80Fc8L2liItLyAgEbwt6KwA1D0tjYMzlKdYFSvEY22WzWlEj2nybWB7k3bz/A2EsSV/ l3ew== X-Gm-Message-State: APf1xPC+T6ZUMtMlsIK21ShWwtWakydaSOuarAyoaGnCPvs0fzIMcJ1J uVhVndy7VSbzm21MiZkffwAQIoBK X-Google-Smtp-Source: AH8x2278+a0PFXwBLrlU4bsQcY0B29zZwIXbYtP13bRf42fqlq1SbnNchQWbtxA1pARoqX8qaZqCIQ== X-Received: by 10.101.91.3 with SMTP id y3mr2143061pgq.260.1517927567314; Tue, 06 Feb 2018 06:32:47 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.32.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:32:46 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:55 +0530 Message-Id: <1517927164-18197-26-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 25/34] configs: bananapi-m64: Enable USB OTG peripheral mode X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Enable USB_MUSB_GADGET which operate OTG in peripheral mode Signed-off-by: Jagan Teki --- configs/bananapi_m64_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/bananapi_m64_defconfig b/configs/bananapi_m64_defconfig index 461567f..11397ae 100644 --- a/configs/bananapi_m64_defconfig +++ b/configs/bananapi_m64_defconfig @@ -14,4 +14,5 @@ CONFIG_SPL=y # CONFIG_SPL_EFI_PARTITION is not set CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y +CONFIG_USB_MUSB_GADGET=y CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y From patchwork Tue Feb 6 14:25:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869809 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="r/3SzgLf"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbRzG5hG1z9s82 for ; Wed, 7 Feb 2018 01:43:38 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 64057C21D9F; Tue, 6 Feb 2018 14:37:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 0E2CAC21E4A; Tue, 6 Feb 2018 14:34:59 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 6CA6CC21DA1; Tue, 6 Feb 2018 14:32:56 +0000 (UTC) Received: from mail-pl0-f66.google.com (mail-pl0-f66.google.com [209.85.160.66]) by lists.denx.de (Postfix) with ESMTPS id 4D3CAC21E5B for ; Tue, 6 Feb 2018 14:32:52 +0000 (UTC) Received: by mail-pl0-f66.google.com with SMTP id 11so1341876plc.9 for ; Tue, 06 Feb 2018 06:32:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Dp5ePFXXuY8kuE/t/oHs+iNfQ1NXbWzy2yYVlKo/Jgk=; b=r/3SzgLfhNvAWPMZ+xKBnPdLRiNZAPKwVhivpAEEuyc/n9dtXs3AwYXBwhjlyczVsi pHIjJkDCf2FiSONo0vsEGnus9wTB92Ilh2uDDaXlXAssTJR+HhLi51aprRJPEJFWMFXc mW9hrCCoFPJBggsFxg32V6BebvBpETG3HG0O2PoKbQR3zp8VYrKgAQwAKptP5XI2+GIp TWTH55rK6C2OMQZeCh74YDis5PrqEJJeYzGirYvRh92lQosXvfEQw2rlETuJx8ICjowQ u0ZkIIY9Ze6grLKLg9G8Y0Tga6n+iIcrrloWFuMXCMaKl6kYZdXuSV51iCG2EOHCe6T5 lsiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Dp5ePFXXuY8kuE/t/oHs+iNfQ1NXbWzy2yYVlKo/Jgk=; b=qsCK3nNWyMUwC/nHNumwyXNZCKZw8FeO+IGMp3i8h3riI05nfGWq910SFA1KRUaPv4 Ml/je1iV9sy5PZtQHPpqimZ2ERRUK0IYAcRxvmsp/gl7UNPfas1e9AaZBneIpSa4gCmr 9jO13OC8WqYvvEQ+poflPGaa/ozaSY94eHZVVFWqzugl3NlUkqPa2ix5QWDk47IqdQkI NZIGvwMP77NKtsWRM5fJkLjsru5Cc1wmGN6G36pEQf7Vc+JpCHiQHHNdUUgz+s9OIlSY ERfc53jW+SOXOcE1ldJMYRIPJCZoxtDd+1X1jelKcXib6pOmjG4oaMnJtL7xlFd7VdBP 9S+g== X-Gm-Message-State: APf1xPCcN318q7kyWGSFsovTruVI/kChXrpT2+Ua8KWfeGhhefojiZsG GBQIJiy358hVdMfMzscML0+A1XZ4 X-Google-Smtp-Source: AH8x227E3k1OXuRxvh3OCK6pM5MjiTcJPGG2egS21Q2qLiTcFlVp+xn8SCm3JHmnLN0aT/nj7zhXJw== X-Received: by 2002:a17:902:9895:: with SMTP id s21-v6mr2569794plp.297.1517927570570; Tue, 06 Feb 2018 06:32:50 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.32.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:32:50 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:56 +0530 Message-Id: <1517927164-18197-27-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 26/34] ARM: dts: sun8i: a83t: Sync usbphy node from Linux X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Sync sun8i-a83t usbphy node details from Linux. Signed-off-by: Jagan Teki --- arch/arm/dts/sun8i-a83t.dtsi | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/arch/arm/dts/sun8i-a83t.dtsi b/arch/arm/dts/sun8i-a83t.dtsi index bab6c18..2953e0f 100644 --- a/arch/arm/dts/sun8i-a83t.dtsi +++ b/arch/arm/dts/sun8i-a83t.dtsi @@ -230,13 +230,29 @@ reg = <0x01c19000 0x400>; interrupts = ; interrupt-names = "mc"; + phys = <&usbphy 0>; + phy-names = "usb"; status = "disabled"; }; + usbphy: phy@1c19400 { + compatible = "allwinner,sun8i-a83t-usb-phy"; + reg = <0x01c19400 0x10>, + <0x01c1a800 0x14>, + <0x01c1b800 0x14>; + reg-names = "phy_ctrl", + "pmu1", + "pmu2"; + status = "disabled"; + #phy-cells = <1>; + }; + ehci0: usb@01c1a000 { compatible = "allwinner,sun8i-a83t-ehci", "generic-ehci"; reg = <0x01c1a000 0x100>; interrupts = ; + phys = <&usbphy 1>; + phy-names = "usb"; status = "disabled"; }; @@ -244,6 +260,8 @@ compatible = "allwinner,sun8i-a83t-ohci", "generic-ohci"; reg = <0x01c1a400 0x100>; interrupts = ; + phys = <&usbphy 1>; + phy-names = "usb"; status = "disabled"; }; @@ -251,6 +269,8 @@ compatible = "allwinner,sun8i-a83t-ehci", "generic-ehci"; reg = <0x01c1b000 0x100>; interrupts = ; + phys = <&usbphy 2>; + phy-names = "usb"; status = "disabled"; }; From patchwork Tue Feb 6 14:25:57 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869795 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="sNGxVZTs"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbRrw06S9z9s82 for ; Wed, 7 Feb 2018 01:38:07 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 68F6DC21E3C; Tue, 6 Feb 2018 14:36:09 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 6BDA5C21E65; Tue, 6 Feb 2018 14:33:16 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 91FA9C21E5D; Tue, 6 Feb 2018 14:33:00 +0000 (UTC) Received: from mail-pl0-f65.google.com (mail-pl0-f65.google.com [209.85.160.65]) by lists.denx.de (Postfix) with ESMTPS id 6CD39C21E4D for ; Tue, 6 Feb 2018 14:32:55 +0000 (UTC) Received: by mail-pl0-f65.google.com with SMTP id o13so1342854pli.6 for ; Tue, 06 Feb 2018 06:32:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Hz/Pq4ZS0y/INK4QPFbYbSm1vwdiRQvPeDNv3rPQlV4=; b=sNGxVZTs08LGwsdY8NK9gCBNvUzV5hjJ1j3qxnIJmjDG0ftE2kQDspbuVbka1LJMk9 F47nOiDspFwcb46tq+C0W/ewo6FZMh6VyVUbpobYDbAmNZW+GscsHwvwXapmeUy56h6y H7WZKGo8fjRumdyUmW5eST6Pfj86ZjqrZ40MLtW7M3FYJnZNb+s5v0mf7VAr1w7c7knO lgesB9CURSHcGIGphooCheZv+1KtIvLcmWTAGE5DoTggn0lda1kCLeXLWL6e4q1+2N73 NTvyzIxTEZ11oL6tIBy/JOShZhPaUV/qTtZ1yYBMtepxXISWukpsEprxB6Fz9+uMp43w 2LeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Hz/Pq4ZS0y/INK4QPFbYbSm1vwdiRQvPeDNv3rPQlV4=; b=Bb0ENjMqOyI/y1vmmmJJq9BdB4QgcxFltdPQe5bR7KZaieyXRTZ4Xm0u9OnJO9b1os F9NXbgGBBHuWaa6MFu5QucO0xpZWa/Zwcif9uRVbqFr+Emfm13dFgOzxlrKhDDHVy6hQ +zRLV5yTAYwbI2mnkUaShyZ7VnmmZek2xNaxDcThmhfL/Imk0rwrrjU/k4v3fGOPDgan HsZuIN16LZfxpwXOr1f3nnbrHAIGiYSMaMsMJ1o4BudLjRNefSngLHYHnDseTn1BLfso ubdMC1+/TmGhbuJvwCXZakskEnSV6jcyPqME7cQNpkpsUABR5qU0w2ReQtUeBZ/7tHBq lMHw== X-Gm-Message-State: APf1xPDMjpgNwS8CCMygef9PDbmKk9LWuHlb5iweV29MbuS4zdtUqFQh F9qUXeX+gi2yIhs4vkEh34NmuRVo X-Google-Smtp-Source: AH8x225tLmLQYxQZWnsO4w6LkvPOvdYl/micTK/WeAb9NSQbN/vR/TnVgBJcjvC2TGXkeHA/kxMdEA== X-Received: by 2002:a17:902:1c3:: with SMTP id b61-v6mr2623642plb.190.1517927573723; Tue, 06 Feb 2018 06:32:53 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.32.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:32:53 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:57 +0530 Message-Id: <1517927164-18197-28-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 27/34] arm64: allwinner: a64: bananapi-m64: Sync usb host nodes from Linux X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Sync bananapi-m64 usb host nodes from Linux. Signed-off-by: Jagan Teki --- arch/arm/dts/sun50i-a64-bananapi-m64.dts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/arch/arm/dts/sun50i-a64-bananapi-m64.dts b/arch/arm/dts/sun50i-a64-bananapi-m64.dts index 80405e5..dcde4a4 100644 --- a/arch/arm/dts/sun50i-a64-bananapi-m64.dts +++ b/arch/arm/dts/sun50i-a64-bananapi-m64.dts @@ -68,6 +68,14 @@ }; }; +&ehci0 { + status = "okay"; +}; + +&ehci1 { + status = "okay"; +}; + &i2c1 { pinctrl-names = "default"; pinctrl-0 = <&i2c1_pins>; @@ -108,6 +116,14 @@ status = "okay"; }; +&ohci0 { + status = "okay"; +}; + +&ohci1 { + status = "okay"; +}; + &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pins_a>; From patchwork Tue Feb 6 14:25:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869815 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="IAUAJSAA"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbS2f5XBdz9s82 for ; Wed, 7 Feb 2018 01:46:34 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 6DE65C21C2F; Tue, 6 Feb 2018 14:38:10 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 7B868C21E2F; Tue, 6 Feb 2018 14:35:07 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 93FA6C21E2F; Tue, 6 Feb 2018 14:33:03 +0000 (UTC) Received: from mail-pg0-f65.google.com (mail-pg0-f65.google.com [74.125.83.65]) by lists.denx.de (Postfix) with ESMTPS id CCEF9C21E92 for ; Tue, 6 Feb 2018 14:32:58 +0000 (UTC) Received: by mail-pg0-f65.google.com with SMTP id m28so1148129pgc.9 for ; Tue, 06 Feb 2018 06:32:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=1t6puwXsNoj4TZluAmOxM85/n2Ch/a/9ROMvIH2/ZKY=; b=IAUAJSAA35UaY1pCuZWl3P9jvrvExt7qzJaoCJRjWtH37rTp+VFgzXV551ZfkKEj/7 qCODUHN3IdMjExYFO3azBJci0AK74ckveG9BLzfQWEDNs+sPMLFr8RuMV+5MystUzv4x 3MGpACdaZ8/axd5skCWM8OI1ob+VK9dpPQv4Qcr4WaVNFtB/VvFV4BNoU/PuwxIo/AAL PfhSgEbI+jFxa6fm39ubXrVa6j8I4WPoxFjDdaF3GQevm+lFiFQf9D1/255P7hPo2LK7 iX0Q72DMdSWH5pevZkknTAIBufCk7znBWj/qYWWXRbQYpNPDdQGVWslB20I7yWUk8Jbs WvKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=1t6puwXsNoj4TZluAmOxM85/n2Ch/a/9ROMvIH2/ZKY=; b=A5tb1tBii4DyPA0b9vxGR/Kx8a95DmYI2/F+1az46a42nvtRfW2xDc+cmqvWzLGmaE reDiiMOrlZdeK4wZYYoOYAjXRB1DaxSeL1uNH1lsDT87/30p29eIqEjfV4K+qQ8QeOzi UElI3qRRRL3gFjavl1B4vQeqBIxQ5GnAw5JYQw7PDQenGiKLTB5cvWgOTrVCU7A2VQfm 4KB3+89sEtlY7Gse/yOf88650waQlyQC4IH5YPa8y+JwuuTIE0qLxfnZ3kNS6vtgDcMd rmZ0Q33OjA054HC7YLAUdRg48FjfYMoR75uE75TYrgqM3MuNW74wu6HO/ktlqm+p37mH YiSA== X-Gm-Message-State: APf1xPA7aQFXwW3BhKjL0K4tjGShmnc38RtC1/v2ymA1quK8ftbhDXjT 3uG7RiBPEwUDtDe0u//J+hh4U4Vp X-Google-Smtp-Source: AH8x227Tq0vA0FeS9JSmNIlFsN+BxgWk8D+9LJaIoybOtCpJQJySgd9kdbMcyR4M4va+zi2lGQ9Ogw== X-Received: by 10.101.80.202 with SMTP id s10mr2118818pgp.226.1517927577076; Tue, 06 Feb 2018 06:32:57 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.32.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:32:56 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:58 +0530 Message-Id: <1517927164-18197-29-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 28/34] ARM: dts: sun8i-h3: bananapi-m2-plus: Sync usb otg nodes from Linux X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Bananapi-m2-plus has usb otg routed host with either EHCI0/OHCI0 sync the same from Linux. Signed-off-by: Jagan Teki --- arch/arm/dts/sun8i-h3-bananapi-m2-plus.dts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arch/arm/dts/sun8i-h3-bananapi-m2-plus.dts b/arch/arm/dts/sun8i-h3-bananapi-m2-plus.dts index f3b1d5f..e766aa3 100644 --- a/arch/arm/dts/sun8i-h3-bananapi-m2-plus.dts +++ b/arch/arm/dts/sun8i-h3-bananapi-m2-plus.dts @@ -93,6 +93,10 @@ }; }; +&ehci0 { + status = "okay"; +}; + &ehci1 { status = "okay"; }; @@ -146,6 +150,10 @@ status = "okay"; }; +&ohci0 { + status = "okay"; +}; + &ohci1 { status = "okay"; }; @@ -189,6 +197,11 @@ status = "okay"; }; +&usb_otg { + dr_mode = "otg"; + status = "okay"; +}; + &usbphy { /* USB VBUS is on as long as VCC-IO is on */ status = "okay"; From patchwork Tue Feb 6 14:25:59 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869816 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="JYztFwZj"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbS2t6xZyz9s82 for ; Wed, 7 Feb 2018 01:46:46 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id A131AC21E37; Tue, 6 Feb 2018 14:38:48 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 37AE6C21E28; Tue, 6 Feb 2018 14:35:16 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 9A904C21D9F; Tue, 6 Feb 2018 14:33:06 +0000 (UTC) Received: from mail-pf0-f195.google.com (mail-pf0-f195.google.com [209.85.192.195]) by lists.denx.de (Postfix) with ESMTPS id EDBD9C21E90 for ; Tue, 6 Feb 2018 14:33:01 +0000 (UTC) Received: by mail-pf0-f195.google.com with SMTP id b62so669527pfk.10 for ; Tue, 06 Feb 2018 06:33:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=U4VmF03Y7IFt6vu7xn1vepUG7XC8jvfBk617cN03s+w=; b=JYztFwZjxNNPUbw5uWcEQbSoGC850uIkGMGRfF6aulOdFgO6gGEy+NFjVHDOUGTm3I NKCq/uHAv/+4+9yg25OlT92c1j7VmGHFo++JxZWRdcy6J2qt1FSc6M4CUZcaQBQfW85p L/FriJw7ovDiQ/pEQ5oOGzQrjYYjdb/nl3KQMJIaZ158hMu0M5rrgSOMrbJa5RcQ6UVS EZB7RqgSpmea+p1WpxCgrQmiOAEhdusgn5zdKLRNsOlu2C55oxTgjpPo1n9TW8cLO8l4 O37kllDsQg1MshvbWmqBCmWHwiWXhXC9nNuCBqyythSvNfUEqrMPOwSAQMP6wAkcBDGu vvJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=U4VmF03Y7IFt6vu7xn1vepUG7XC8jvfBk617cN03s+w=; b=LJczBl2pLqLnv8Zc918vny7knMmVukUW3w5qVfcFfwBHWclowQFfkjVmsd8WcDUjnC OFFgawDgLV5o7VDJ0nwrDVN0qi30UK7yIilk30+UPtzto1NeVIVzwTf04zc2yPNy71Qf s0EHCOEbgFzah1FdkYbtfAnZ0ywE6c0kSR5uH2h7ldXVAZe6J6wyhKLf7t470ysyq+88 4Xz9eKrT8OeOybX2g1Cn9nsfyiQGURNjS2kl+F53hzAxVSqjfz3Bh8jAKsTa/nnMbHc2 y4nLSSV8Pm+GXtR2ILgSE6p87GBkYlOvSvT3mc0YNZNoB4t9wT2VogNQyfIRSdLxV4da 6nzw== X-Gm-Message-State: APf1xPBknXF1PrRSXFtiYh8AKE/D9yfbZcn6DCt4WyWk3caK+5sU67n7 RJQjSl80tI6HeseLS2vOF491LUdD X-Google-Smtp-Source: AH8x225hPZDsgK35jgRb1HCs4Lr3ll4yMHy/fqNdnMaKl7BvPEq4+uiTmKiqaxYEp/2zWb0b3h9tsQ== X-Received: by 10.101.101.149 with SMTP id u21mr2183579pgv.251.1517927580272; Tue, 06 Feb 2018 06:33:00 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.32.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:32:59 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:55:59 +0530 Message-Id: <1517927164-18197-30-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 29/34] configs: bananapi-m2-plus: Enable USB OTG peripheral mode X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Enable USB_MUSB_GADGET which operate OTG in peripheral mode Signed-off-by: Jagan Teki --- configs/Sinovoip_BPI_M2_Plus_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/Sinovoip_BPI_M2_Plus_defconfig b/configs/Sinovoip_BPI_M2_Plus_defconfig index 3338b64..36f8094 100644 --- a/configs/Sinovoip_BPI_M2_Plus_defconfig +++ b/configs/Sinovoip_BPI_M2_Plus_defconfig @@ -16,4 +16,5 @@ CONFIG_SPL=y # CONFIG_SPL_EFI_PARTITION is not set CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y +CONFIG_USB_MUSB_GADGET=y CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y From patchwork Tue Feb 6 14:26:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869833 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="lVwsMjh7"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbSDM0yg5z9ryr for ; Wed, 7 Feb 2018 01:54:58 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id A18E7C21E4A; Tue, 6 Feb 2018 14:41:44 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 6CDB7C21DE5; Tue, 6 Feb 2018 14:40:39 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 3180FC21CEC; Tue, 6 Feb 2018 14:33:09 +0000 (UTC) Received: from mail-pg0-f66.google.com (mail-pg0-f66.google.com [74.125.83.66]) by lists.denx.de (Postfix) with ESMTPS id 14366C21E43 for ; Tue, 6 Feb 2018 14:33:05 +0000 (UTC) Received: by mail-pg0-f66.google.com with SMTP id 141so1150145pgd.8 for ; Tue, 06 Feb 2018 06:33:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=4ghDmTEOcb4nTms5rzCS+lO+VrQVQVGOYQEyTo4bqyE=; b=lVwsMjh7iv0V/lyEJ+T3Wm2LLHLg6/PbH8oiXFiCenOW8noznvFb03q+2HjGdFkkkj G36jmZ477TdFItwytTClWel2P1ypDWXlrfez3kXIQ0HRx9Zop3buTLAfmUtY7B7JfBKa TDDWK6phhr5xL2q+xuQHABrQ1aDLAII4MF5w8MttDHPN3gGdviE9u6HPHXCSXyMosbRm s17gEfF1kgFHJ5rqh+kGVStyTzccG3cJHpY3kJ4IpT3QE9i9nvH5qsQfeRlsnMsiyh9G VmBpBy32MdgKEIjImtLO60A+VMAhnEgYy1OHafQQZabI1erLmMyb7TFmps8Q7a8qMCSU rMbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=4ghDmTEOcb4nTms5rzCS+lO+VrQVQVGOYQEyTo4bqyE=; b=lQ5qYfSzN248UTBL6ZmI+Cl3cuhxOGpYitIt018oeZ1nAwLu9p/sRL8WrwKJifzsgy HeaFcmTCE96Ryx04cf0sXGiIvmaF50Q16rdfZk4RJGkj2OjNI+04Y0phjdonk5Td+y2C qlNVF5OMrrE7SdLd/Zw0YQ4SUU9nQsTzX2h+kDY7QhLC2HKqr9NwHXIGxupdXt9UKzEb 4gnZMrg9bMAqU+uF0IwXSsE2xrOXivmpSzmVVq4JXSbfv4QAZAZzFp+B4JgG8CSOkSrN EdVsU8elNfEsZl/nsP9nzfMsr55tdX8LzMeIwl+UYo6V+OhvEgQENWZjGjealrlSmtd+ OLKg== X-Gm-Message-State: APf1xPDxn+ntqOZmnM4+0c0mLGaJEIcgETHGJtpaP5ztXTybUpKRD8LX ZFM9sElbcevR+OgFqtrBoBRK3NjN X-Google-Smtp-Source: AH8x225dglR2/kbKnkOcwKWD7/A399pVB/vEBnD9ZcfK08JR+0ud4LDqTxkdN2r9yeyMQB9V+un8pg== X-Received: by 10.99.115.67 with SMTP id d3mr2182528pgn.223.1517927583361; Tue, 06 Feb 2018 06:33:03 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.33.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:33:02 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:56:00 +0530 Message-Id: <1517927164-18197-31-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 30/34] arm64: allwinner: h5: orangepi-pc2: Order nodes in alphabetic X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Order sun50i-h5-orangepi-pc2.dts nodes in alphabetic Signed-off-by: Jagan Teki --- arch/arm/dts/sun50i-h5-orangepi-pc2.dts | 49 +++++++++++++++++---------------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/arch/arm/dts/sun50i-h5-orangepi-pc2.dts b/arch/arm/dts/sun50i-h5-orangepi-pc2.dts index 780d59a..4f05340 100644 --- a/arch/arm/dts/sun50i-h5-orangepi-pc2.dts +++ b/arch/arm/dts/sun50i-h5-orangepi-pc2.dts @@ -50,6 +50,11 @@ model = "OrangePi PC 2"; compatible = "xunlong,orangepi-pc-2", "allwinner,sun50i-h5"; + aliases { + serial0 = &uart0; + ethernet0 = &emac; + }; + chosen { stdout-path = "serial0:115200n8"; }; @@ -58,11 +63,6 @@ reg = <0x40000000 0x40000000>; }; - aliases { - serial0 = &uart0; - ethernet0 = &emac; - }; - soc { reg_vcc3v3: vcc3v3 { compatible = "regulator-fixed"; @@ -73,6 +73,22 @@ }; }; +&emac { + pinctrl-names = "default"; + pinctrl-0 = <&emac_rgmii_pins>; + phy-mode = "rgmii"; + phy = <&phy1>; + status = "okay"; + + phy1: ethernet-phy@1 { + reg = <1>; + }; +}; + +&ehci1 { + status = "okay"; +}; + &mmc0 { compatible = "allwinner,sun50i-h5-mmc", "allwinner,sun50i-a64-mmc", @@ -86,6 +102,10 @@ status = "okay"; }; +&ohci1 { + status = "okay"; +}; + &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pins_a>; @@ -96,22 +116,3 @@ status = "okay"; }; -&ohci1 { - status = "okay"; -}; - -&ehci1 { - status = "okay"; -}; - -&emac { - pinctrl-names = "default"; - pinctrl-0 = <&emac_rgmii_pins>; - phy-mode = "rgmii"; - phy = <&phy1>; - status = "okay"; - - phy1: ethernet-phy@1 { - reg = <1>; - }; -}; From patchwork Tue Feb 6 14:26:01 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869822 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="b0V9eYEu"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbS6f1Zm6z9s82 for ; Wed, 7 Feb 2018 01:50:02 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id D6BAAC21E26; Tue, 6 Feb 2018 14:42:35 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id DE669C21E26; Tue, 6 Feb 2018 14:42:32 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 64948C21DA3; Tue, 6 Feb 2018 14:33:12 +0000 (UTC) Received: from mail-pl0-f67.google.com (mail-pl0-f67.google.com [209.85.160.67]) by lists.denx.de (Postfix) with ESMTPS id 46BD4C21E5A for ; Tue, 6 Feb 2018 14:33:08 +0000 (UTC) Received: by mail-pl0-f67.google.com with SMTP id f8so1338475plk.11 for ; Tue, 06 Feb 2018 06:33:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=NCmz7OGEJWc5SrQUADMDWHUgA6rGYUmiONTL+aVNQWQ=; b=b0V9eYEuZlJgcYmW1GmxWCSegy3VugjC136wcRGTtqxlRZE7H917FryDkQGo3XmpgA J8DQsDus2oX0ejzDVWcHqd0+vWKQLtYUuGKxEgOyXTPpatNHOfqdiT5DLZuzZhhE6PhU JIaLqYt8uy6k7ji1d4HlwaEEWVvwfKUkUi0w2Hbxb7q+YCKU/yGOxsGbe3Zs6bQO0liB 0IKtYv1fE/JInoBQsuOGlJrwdpz78PIm59rhavxVC7gfeg4M9GZsTHJz+Gtjp9RRFlnh fRGP/5JlFuD4C5aAnBuI1OwaTmifhdHsD2ijIBdeF4RpYKPk/NrEbxz20epAhFq/PQVy fu2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=NCmz7OGEJWc5SrQUADMDWHUgA6rGYUmiONTL+aVNQWQ=; b=YnNdhK1GOq8Kb371yyu2hwj9Re9r2MyUIcChh99a0f3RnKa1EiCB03Sai2foWYH8Mq L0vVU4BXpWEx7Ixv/DkGENJ9FbrczOc22YyJfgjqcCNKqrWkV2ks3UWZeQOATxGOKn3z FLrhUtvrNqPbVQ0fpWTsxZ5QsNZW4CI7DXkX/MM8FeRn106p2yPN5+BAZibVDDLzdyaB +1BtV5vxPba1zVgkVZ92AbLCTAu0KbAJSI45TAgVd24EgzejAW1brGTGlZo+VRjyES+L /XIcUwRXU+G8zbWA0T7zG8xGwkfud2tlHnSAxFLR7vnDi3i8iW2CsZfJ52rFd0HjB1zi DKxw== X-Gm-Message-State: APf1xPBIXsip3VhLnwcFNxjTzs8uIyg3tVA7/0YM+pzhkwTnAApT3YT2 RZN5GpTgPadHebScT968bkItey6Y X-Google-Smtp-Source: AH8x225EQb9Vegitqe+XfD7oI8Aq+Ble3vtiolbBjNBcujQkPgSeRG3inY9YxD/CSzwTVGBOvir0mg== X-Received: by 2002:a17:902:8a8a:: with SMTP id p10-v6mr2533767plo.261.1517927586586; Tue, 06 Feb 2018 06:33:06 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.33.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:33:06 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:56:01 +0530 Message-Id: <1517927164-18197-32-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 31/34] arm64: allwinner: h5: orangepi-pc2: Sync usb otg nodes from Linux X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" orangepi-pc2 has usb otg routed host with either EHCI0/OHCI0 sync the same from Linux. Signed-off-by: Jagan Teki --- arch/arm/dts/sun50i-h5-orangepi-pc2.dts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arch/arm/dts/sun50i-h5-orangepi-pc2.dts b/arch/arm/dts/sun50i-h5-orangepi-pc2.dts index 4f05340..8d2f73a 100644 --- a/arch/arm/dts/sun50i-h5-orangepi-pc2.dts +++ b/arch/arm/dts/sun50i-h5-orangepi-pc2.dts @@ -85,6 +85,10 @@ }; }; +&ehci0 { + status = "okay"; +}; + &ehci1 { status = "okay"; }; @@ -102,6 +106,10 @@ status = "okay"; }; +&ohci0 { + status = "okay"; +}; + &ohci1 { status = "okay"; }; @@ -112,6 +120,11 @@ status = "okay"; }; +&usb_otg { + dr_mode = "otg"; + status = "okay"; +}; + &usbphy { status = "okay"; }; From patchwork Tue Feb 6 14:26:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869824 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Mr92DfOZ"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbSBs4ShKz9ryr for ; Wed, 7 Feb 2018 01:53:41 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 57E59C21C8F; Tue, 6 Feb 2018 14:48:43 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id DDBDEC21E41; Tue, 6 Feb 2018 14:48:40 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id D3467C21E2F; Tue, 6 Feb 2018 14:33:15 +0000 (UTC) Received: from mail-pl0-f68.google.com (mail-pl0-f68.google.com [209.85.160.68]) by lists.denx.de (Postfix) with ESMTPS id 7E447C21E5B for ; Tue, 6 Feb 2018 14:33:11 +0000 (UTC) Received: by mail-pl0-f68.google.com with SMTP id t4so1353330plo.0 for ; Tue, 06 Feb 2018 06:33:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=h/8f/ZTxn5qv+jvaM8gWLJP/xUq8CoMkOvKHo1U4dX4=; b=Mr92DfOZRUDsST1DaGTogeFdmccDHP1PDKUnr4xxFch8F6BTUFGIIAA8LLn6BlTiej 8/oYE+izqIQPUfeJ2fiWf0rhsik12Jrj1umv0d0QBQz5SESJdLvzUvraG7qtNMflucyi YQo2mDruZRTz437NjlGZN24+A10/qSe0ve1rWQ1BlYtWWC9TCWn3/ShxmJAfH9Uot6Ks AIMMpd8aLQMHEAJCUe7R7CERr5iAxXNMhANT6BPZujHKsLjZimqjpSO5guDgssKbN7FQ q+/3HYmhiXcWDruwlozKmrP0dVPZCU4I80Qefb+6obCptcUUshT5Ka+TucMc2sn+v/nf Lr/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=h/8f/ZTxn5qv+jvaM8gWLJP/xUq8CoMkOvKHo1U4dX4=; b=nw8PfiWnNyYNdQ3LAsE5P3/Te33JGJEsRlPEfaaI9sznoOIAeiXybsdXFVIp3CnRTs E9A6YaemZtzE9q58w4dCL6rX9cxE43PekWdAmvQvQvLloKYuabzoxo5yZb/lteKjMDtP ka8Ub3vGK598DrrAPdt4axWWBRNaLsoPz83Tb2AM6mW+3tIVil6ajRDtnicy3Bw8SDeS GS4ApX0PF0wrr3VRPq4RJ0UNE0xMcApw80Q79PLVTmTbOszvsWqz6ugrFsuXFY3IobAM 1djbEKrZ9N/MR7nAGne5tbauRvhdQaw6FfsT2ygxzV8UOBfueoTfYvEL7xtt3cTQ/G/R pvNg== X-Gm-Message-State: APf1xPCh34LuUkIqopN1XFj0smhJLuqsT0XeigxWTz+jJvmDl2pNvTmX d/UgMujD/DlrYyGQ6Mm/SGmduo6x X-Google-Smtp-Source: AH8x227MnzxXhxY8taLGOd+7vUKv5BsjnBFqs4br4QbUO7fHQcMQCd0MHysxJuMGCC52cWcxqmrVbA== X-Received: by 2002:a17:902:b608:: with SMTP id b8-v6mr2626236pls.404.1517927589804; Tue, 06 Feb 2018 06:33:09 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.33.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:33:09 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:56:02 +0530 Message-Id: <1517927164-18197-33-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 32/34] configs: orangepi-pc2: Enable USB OTG peripheral mode X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Enable USB_MUSB_GADGET which operate OTG in peripheral mode Signed-off-by: Jagan Teki --- configs/orangepi_pc2_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/orangepi_pc2_defconfig b/configs/orangepi_pc2_defconfig index e5fea42..9db7655 100644 --- a/configs/orangepi_pc2_defconfig +++ b/configs/orangepi_pc2_defconfig @@ -15,4 +15,5 @@ CONFIG_SPL=y CONFIG_SPL_SPI_SUNXI=y CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y +CONFIG_USB_MUSB_GADGET=y CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y From patchwork Tue Feb 6 14:26:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869818 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="C9XReFT8"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbS403gP9z9s82 for ; Wed, 7 Feb 2018 01:47:44 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 2D8C5C21DA1; Tue, 6 Feb 2018 14:44:42 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 0556EC21E28; Tue, 6 Feb 2018 14:44:40 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 00CCFC21C8F; Tue, 6 Feb 2018 14:33:18 +0000 (UTC) Received: from mail-pg0-f65.google.com (mail-pg0-f65.google.com [74.125.83.65]) by lists.denx.de (Postfix) with ESMTPS id ACD3CC21DC5 for ; Tue, 6 Feb 2018 14:33:14 +0000 (UTC) Received: by mail-pg0-f65.google.com with SMTP id o13so1163609pgs.2 for ; Tue, 06 Feb 2018 06:33:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=55W7C1ta+1OyaLeRnZShiQf94TSexHPVYVnrseopOhI=; b=C9XReFT8fufwrzrHHsojuev6hS7kBmVjhzWKkxFC5+i83PlRGaj5HyzkFYuKZAdibw u0F8wLPQtxbw2L1HLVxpkGkEZd/v/wG6ak/pJYsAANPB6gHIIZworstOcSDGDUINMA+n lBYnwa6qhT+NGfll01yzBDGIDEzHxYuknLI57Khsct0+5X9brd48ZxZvG+3S10jIDllh ZrcHKaIFeVDKrzQuDReU84erS/Nh46YJMIceqghrR6f33hsuOaoGOsYVlbgvg83NnbqM WUwjvpg7vgi/0ruMj5DiY8sLCo4lXE9dvi4r1eM2KDP0ExYAlW5X3D16zHjyGIfN5qZY TqQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=55W7C1ta+1OyaLeRnZShiQf94TSexHPVYVnrseopOhI=; b=c8p57fKBOyVb3TnNGkhNWE/ILX+W2YbiZ3OMPCEBFzd6RgnwlHf52Snx64ZjV/JYxs tGUcoHO7IKVOnK5MqxczFNjve+sXjwkNQsCNWSdehiNIvFEmTPrmplfgXOjU3ARtd5i2 KKKxIENgccqOt/aNrVSKitsfofEkki+aK2jbNaceky2T4ZbLf4pfwtxA4QU009siIeAM rtfyANR541etfxNevg1aZEAYW0gyvMjoqNBH3HUZU2unt8PW6IatOPtzna2nkP1DgTxm zE+AhopE02mIHL0NjtBn9z+xz+GcocxJ/QGh9dcnJT+PheKtVVkgxiZm63J2mi9JYCnQ AyKQ== X-Gm-Message-State: APf1xPC2CbVJE1mvvWyjdtVytD+l4FuYnCadidvzN90RtHBRsQXqmRGf +P/w0N05JNj9ISLCYTTvM/nfLk/j X-Google-Smtp-Source: AH8x224JO6+Z9jAyRn7m7ii3pJda91iCnMbTpGWxSe0F71MTZZLSkKCPfoOjgySLATqsUFtKzhR9rg== X-Received: by 10.98.36.198 with SMTP id k67mr2663533pfk.35.1517927592951; Tue, 06 Feb 2018 06:33:12 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.33.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:33:12 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:56:03 +0530 Message-Id: <1517927164-18197-34-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 33/34] arm64: allwinner: h5: orangepi-prime: Sync usb otg nodes from Linux X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" orangepi-prime has usb otg routed host with either EHCI0/OHCI0 sync the same from Linux. Signed-off-by: Jagan Teki --- arch/arm/dts/sun50i-h5-orangepi-prime.dts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arch/arm/dts/sun50i-h5-orangepi-prime.dts b/arch/arm/dts/sun50i-h5-orangepi-prime.dts index d4577df..131d805 100644 --- a/arch/arm/dts/sun50i-h5-orangepi-prime.dts +++ b/arch/arm/dts/sun50i-h5-orangepi-prime.dts @@ -72,6 +72,10 @@ }; }; +&ehci0 { + status = "okay"; +}; + &ehci1 { status = "okay"; }; @@ -89,6 +93,10 @@ status = "okay"; }; +&ohci0 { + status = "okay"; +}; + &ohci1 { status = "okay"; }; @@ -99,6 +107,11 @@ status = "okay"; }; +&usb_otg { + dr_mode = "otg"; + status = "okay"; +}; + &usbphy { status = "okay"; }; From patchwork Tue Feb 6 14:26:04 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 869838 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="VsztmCBw"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zbSFR409qz9s8J for ; Wed, 7 Feb 2018 01:55:54 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id B5738C21DB0; Tue, 6 Feb 2018 14:40:34 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 9B52EC21E5D; Tue, 6 Feb 2018 14:38:24 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 71AD1C21E40; Tue, 6 Feb 2018 14:33:21 +0000 (UTC) Received: from mail-pg0-f67.google.com (mail-pg0-f67.google.com [74.125.83.67]) by lists.denx.de (Postfix) with ESMTPS id 1F7BBC21E3C for ; Tue, 6 Feb 2018 14:33:18 +0000 (UTC) Received: by mail-pg0-f67.google.com with SMTP id m136so1139297pga.12 for ; Tue, 06 Feb 2018 06:33:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=JHtT8KMMoGTb31UJSlKJ4YqkQcs95X/Bmr2h1ti7IDU=; b=VsztmCBwmVq2BfhcOd4rP7S/5tDbWMCC9h88DHLj+f+wgT5jXaO0wfqzBIRPFwQCTV XVl17IS+VuPAO3pfYKWRbn/5+r4U1SATLASfywh96K4HvdB3srkEgXgQ+JzYI10tkTB+ FJQ1h+vKVyWUVgznJKeWNMP8XjobAJXBASmZnpolkNPdp5g8QHmVH8/wQxgXFn5Fycmz EZ1BNTqyg2sX6oJ25oC/PGrJRM4qIDaMxO0lnoOLxrREIiSnhsxWUtg/T/g8z7qtO9UF HkPYuXM0PuqtXnNQN3qcUlVUBDtJ7bAiXtMvnjfLKTJkQ1/XQROs5dH52uhHKC/FV6hS eX8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=JHtT8KMMoGTb31UJSlKJ4YqkQcs95X/Bmr2h1ti7IDU=; b=VeK9VlsWIL7zRxPOezdXiV365K6jlnsSCqTIhZess3+niiDqtCWXDjkegiwXE5mEot VKLgUnIyQpHRQ2VQgAlgsVSwB5+gfK+Hk2iF+5EfKeYaUt1d2zfoTKMjq8rKMq+H/slD ynfZNhTVJ8l5/0dSd9FN/rFffwXjBQxJdvswrzwRfBtHCOEG4nV4IyDw8r+Y5eDyti8A JodfGldG2S+p2elrtSdChlfK8ypDUob4kePxqFDi8KzJl6I5SpsCFWzkhxeZHXu5YUoo BN8A1JY0fY+FHUJ2jefhQDoMxzZHxiy2Ti0w6O/hKKfrSapLHbIIuYLajNPUqE+LLqsm oe2g== X-Gm-Message-State: APf1xPCA0zNdsbBJzl+S5mZ8S/WeMP29db/0rU0GaeWzNPE5PmngAunR wmDG+wbgPYLqUqbUHsMb60htLino X-Google-Smtp-Source: AH8x226tOW+89LzoP6HVx1Mb9XAjboEBsnQflEja/xaeeckYiM5ENymAajuXO12l7OcuVUpq2nPCIg== X-Received: by 10.99.111.70 with SMTP id k67mr168729pgc.358.1517927596435; Tue, 06 Feb 2018 06:33:16 -0800 (PST) Received: from localhost.localdomain ([115.97.187.51]) by smtp.gmail.com with ESMTPSA id h2sm17457613pgp.65.2018.02.06.06.33.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 06 Feb 2018 06:33:15 -0800 (PST) From: Jagan Teki X-Google-Original-From: Jagan Teki To: u-boot@lists.denx.de Date: Tue, 6 Feb 2018 19:56:04 +0530 Message-Id: <1517927164-18197-35-git-send-email-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> References: <1517927164-18197-1-git-send-email-jagan@amarulasolutions.com> Cc: Marek Vasut , Maxime Ripard Subject: [U-Boot] [PATCH v4 34/34] configs: orangepi-prime: Enable USB OTG peripheral mode X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Enable USB_MUSB_GADGET which operate OTG in peripheral mode Signed-off-by: Jagan Teki --- configs/orangepi_prime_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/orangepi_prime_defconfig b/configs/orangepi_prime_defconfig index 3d87374..a2e8f2e 100644 --- a/configs/orangepi_prime_defconfig +++ b/configs/orangepi_prime_defconfig @@ -13,4 +13,5 @@ CONFIG_SPL=y # CONFIG_SPL_EFI_PARTITION is not set CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y +CONFIG_USB_MUSB_GADGET=y CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y