From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BDEAFC48BE5 for ; Wed, 16 Jun 2021 03:16:27 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E518A61246 for ; Wed, 16 Jun 2021 03:16:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E518A61246 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=163.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 967D182948; Wed, 16 Jun 2021 05:16:11 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=163.com header.i=@163.com header.b="GilJEp8z"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6FD2782024; Wed, 16 Jun 2021 04:34:17 +0200 (CEST) Received: from m12-14.163.com (m12-14.163.com [220.181.12.14]) by phobos.denx.de (Postfix) with ESMTP id EE0BD808A2 for ; Wed, 16 Jun 2021 04:34:13 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=qianfanguijin@163.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id; bh=Xm9wn6TdwaBP/bj27u y/IqhYOWyAr4NDw6oxd4fRe40=; b=GilJEp8zIlTuVxhOMxK3M6A38kzaPzW/ph RqJEwORIyHKMUfDgOyfwiHuq7icc6Yhs9cZ35Dpqm5QJzU5xy/JHrK+jww0mXH2g NnunV8vpdiwA3wqagQo0baD5ujSLHnNRaLCmcU5vBFuPrIsPn0Qi77UUItv55EmL bFActvlks= Received: from localhost.localdomain (unknown [218.201.129.20]) by smtp10 (Coremail) with SMTP id DsCowAAHTGv8YslgG32ePA--.36067S5; Wed, 16 Jun 2021 10:33:35 +0800 (CST) From: qianfanguijin@163.com To: u-boot@lists.denx.de Cc: wens@csie.org, jagan@amarulasolutions.com, andre.przywara@arm.com, marex@denx.de, qianfan Zhao Subject: [PATCH 2/4] sunxi_musb: Add musb configurations of sun8i-r40 Date: Wed, 16 Jun 2021 10:33:24 +0800 Message-Id: <20210616023326.18135-2-qianfanguijin@163.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210616023326.18135-1-qianfanguijin@163.com> References: <20210616023326.18135-1-qianfanguijin@163.com> X-CM-TRANSID: DsCowAAHTGv8YslgG32ePA--.36067S5 X-Coremail-Antispam: 1Uf129KBjvJXoW7Zr4rXw48Zr13AF18Kr4fAFb_yoW8Kr1xpF 45Xry5Cr4rGF1akFs3JaykCF1fG3Z3Wa4UKrnrG343XF9xGa45Za1UKa4akFn5G3s8WrW5 KF4xJ3W7Wan7AwUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07UQ18QUUUUU= X-Originating-IP: [218.201.129.20] X-CM-SenderInfo: htld0w5dqj3xxmlqqiywtou0bp/xtbBdh+z7VUMRRxMhwAAs8 X-Mailman-Approved-At: Wed, 16 Jun 2021 05:16:06 +0200 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean From: qianfan Zhao R40 has 8 user-configurable endpoints and 8KB FIFO for EPs. Signed-off-by: qianfan Zhao --- drivers/usb/musb-new/sunxi.c | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c index fea4105f3d..e03299ea5b 100644 --- a/drivers/usb/musb-new/sunxi.c +++ b/drivers/usb/musb-new/sunxi.c @@ -263,7 +263,6 @@ static int sunxi_musb_enable(struct musb *musb) } USBC_ForceVbusValidToHigh(musb->mregs); - enabled = true; return 0; } @@ -438,6 +437,30 @@ static struct musb_hdrc_config musb_config_h3 = { .ram_bits = SUNXI_MUSB_RAM_BITS, }; +/* R40/A40 OTG supports only 4 endpoints */ +#define SUNXI_MUSB_MAX_EP_NUM_R40 5 + +static struct musb_fifo_cfg sunxi_musb_mode_cfg_r40[] = { + 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_r40 = { + .fifo_cfg = sunxi_musb_mode_cfg_r40, + .fifo_cfg_size = ARRAY_SIZE(sunxi_musb_mode_cfg_r40), + .multipoint = true, + .dyn_fifo = true, + .soft_con = true, + .num_eps = SUNXI_MUSB_MAX_EP_NUM_R40, + .ram_bits = SUNXI_MUSB_RAM_BITS, +}; + static int musb_usb_probe(struct udevice *dev) { struct sunxi_glue *glue = dev_get_priv(dev); @@ -527,6 +550,10 @@ static const struct sunxi_musb_config sun8i_h3_cfg = { .config = &musb_config_h3, }; +static const struct sunxi_musb_config sun8i_r40_cfg = { + .config = &musb_config_r40, +}; + static const struct udevice_id sunxi_musb_ids[] = { { .compatible = "allwinner,sun4i-a10-musb", .data = (ulong)&sun4i_a10_cfg }, @@ -536,6 +563,8 @@ static const struct udevice_id sunxi_musb_ids[] = { .data = (ulong)&sun6i_a31_cfg }, { .compatible = "allwinner,sun8i-h3-musb", .data = (ulong)&sun8i_h3_cfg }, + { .compatible = "allwinner,sun8i-r40-musb", + .data = (ulong)&sun8i_r40_cfg }, { } }; -- 2.17.1