From patchwork Wed Apr 20 09:17:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Bedel, Alban" X-Patchwork-Id: 1619418 X-Patchwork-Delegate: bmeng.cn@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=l2task.onmicrosoft.com header.i=@l2task.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-l2task-onmicrosoft-com header.b=a/Jhgjx1; dkim=fail reason="signature verification failed" (1024-bit key) header.d=l2task.onmicrosoft.com header.i=@l2task.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-l2task-onmicrosoft-com header.b=JREWSK4a; dkim=fail reason="key not found in DNS" header.d=aerq.com header.i=@aerq.com header.a=rsa-sha256 header.s=hse1 header.b=JY08Bs4T; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kjw8572Jkz9sG0 for ; Wed, 20 Apr 2022 19:18:28 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4DF8983D7A; Wed, 20 Apr 2022 11:18:13 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=aerq.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=l2task.onmicrosoft.com header.i=@l2task.onmicrosoft.com header.b="a/Jhgjx1"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=l2task.onmicrosoft.com header.i=@l2task.onmicrosoft.com header.b="JREWSK4a"; dkim=pass (2048-bit key; unprotected) header.d=aerq.com header.i=@aerq.com header.b="JY08Bs4T"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B8C5683D62; Wed, 20 Apr 2022 11:18:10 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from mx-relay08-hz2.antispameurope.com (mx-relay08-hz2.antispameurope.com [83.246.65.94]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 3587383C5A for ; Wed, 20 Apr 2022 11:18:06 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=aerq.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=alban.bedel@aerq.com Received: from mail-db5eur03lp2052.outbound.protection.outlook.com ([104.47.10.52]) by mx-relay08-hz2.antispameurope.com; Wed, 20 Apr 2022 11:18:05 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=l2task.onmicrosoft.com; s=selector1-l2task-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Cr6VnOXmxOLOsFkv3WBuQmox43XznxmN1Grx1Kkk/0Q=; b=a/Jhgjx1VIcFmtOxe6lk9zUEEL85qhBTx/0vb41MiB1a59KHYus1uaXaVD3c2+zK1KiXEV9asFRPtFfwik33+S4QZZlHgxRN2rI8zdm274kfFcLlwvTKxDSXGRBbMTXZSnGJdjluQueSE9ViFn5ZTOCL+WrOJAvySFS3CdlTBtI= Received: from AM5PR1001CA0029.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:2::42) by DU2PR10MB5094.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:2d7::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.13; Wed, 20 Apr 2022 09:17:56 +0000 Received: from VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com (2603:10a6:206:2:cafe::bd) by AM5PR1001CA0029.outlook.office365.com (2603:10a6:206:2::42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.13 via Frontend Transport; Wed, 20 Apr 2022 09:17:56 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 104.40.229.156) smtp.mailfrom=aerq.com; dkim=fail (body hash did not verify) header.d=l2task.onmicrosoft.com;dmarc=fail action=quarantine header.from=aerq.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning aerq.com discourages use of 104.40.229.156 as permitted sender) Received: from eu1.smtp.exclaimer.net (104.40.229.156) by VE1EUR03FT054.mail.protection.outlook.com (10.152.19.64) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.5186.14 via Frontend Transport; Wed, 20 Apr 2022 09:17:55 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (104.47.13.57) by eu1.smtp.exclaimer.net (104.40.229.156) with Exclaimer Signature Manager ESMTP Proxy eu1.smtp.exclaimer.net (tlsversion=TLS12, tlscipher=TLS_ECDHE_WITH_AES256_SHA384); Wed, 20 Apr 2022 09:17:56 +0000 X-ExclaimerHostedSignatures-MessageProcessed: true X-ExclaimerProxyLatency: 8933315 X-ExclaimerImprintLatency: 495376 X-ExclaimerImprintAction: 8710a8b0b62748068b156b5e6abf847c ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NvwQtY0BIVd7R+GAXSLZV6bGG1krtNKyeGZ2dOGjDHRlCs4VUF8lVImIcWSSJ2VP5RvqwCzVj+F4S8HihSH6fKQaiDcn7fug22fp+vRPVTI5zIr+XS4dwGvbH8OH2migevFINiaas472hR99zuXFscBDwFcfbetDcAQLcQdOBFm3IJ9SUvC5s0arff1TmrctXWG+yklJuBZuhIbLQPxXcx4J2IE4P2+BW1ok+Kuu6H7lWkiXyL/2QWaPDNaMPpx72RuH8Zaw4+hReDog+bMYUYVwYk/Fj9YR0SvsfnOg5cAIhPmVB/MlBaE8bqZYJSrHfeYlddw0vjNkWRTJOEllng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Vx9mPNVzBBbeuJSh/WBgXaGcojmj/6QU15dCqXtmV/8=; b=TRrS3HnZjvh/Od7upmOpZlHTLfO1v4nbLZfaZrPNjHyAoo5uOT5pKOQHby81BpdEojx39R2CG+kqcPw9ESb/ROWyh4d7RfczcBSxfT57vtQL77wo+7JZDTM5HJ31z+FN77YcRcyg0LXmTI7AvIHiGaMh8DEG/zieXOUnBwCBl9niE9Pl+yF6PNyYuleBpp6s9OS2tDXekYOBHTZ6jiscc+LD+Sm1caLIQoFWfRLKoy0bbjbB38lxHyW+zhC5LJVu8khPdxB1DOCIYeSNBn7kdl7ErRgWVcro4aZc22BGSfjCgaoWcUBLWSUtcplRDIs/LJt1H9TVyen5XmPqtmjRlA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aerq.com; dmarc=pass action=none header.from=aerq.com; dkim=pass header.d=aerq.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=l2task.onmicrosoft.com; s=selector1-l2task-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Vx9mPNVzBBbeuJSh/WBgXaGcojmj/6QU15dCqXtmV/8=; b=JREWSK4amWmT/qi9TbPJQvTT2w4iMnRDQFJc+rO90cgiqKiSTrSh9JY4lxIDKPF1kiuvhhE6nLkkJD6HTwCRZlRXTWEUrcfwlXL+dll8rsC7ICIr7NYMK6KG1tVjnQOjt9GAteNGbaVIWHTV8Aus/HplZsdkWmzX9nI7uwHIDSY= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=aerq.com; Received: from AS8PR10MB5000.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:405::24) by HE1PR1001MB1049.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:3:71::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5164.20; Wed, 20 Apr 2022 09:17:51 +0000 Received: from AS8PR10MB5000.EURPRD10.PROD.OUTLOOK.COM ([fe80::cc70:6b36:244:dd5c]) by AS8PR10MB5000.EURPRD10.PROD.OUTLOOK.COM ([fe80::cc70:6b36:244:dd5c%5]) with mapi id 15.20.5186.014; Wed, 20 Apr 2022 09:17:51 +0000 From: Alban Bedel To: u-boot@lists.denx.de CC: Marek Vasut , Kunihiko Hayashi , Angus Ainslie , Simon Glass , Alban Bedel Subject: [PATCH 1/2] Revert "usb: dwc3: dwc3-generic: check the parent nodes" Date: Wed, 20 Apr 2022 11:17:40 +0200 Message-ID: <20220420091741.146101-2-alban.bedel@aerq.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220420091741.146101-1-alban.bedel@aerq.com> References: <20220420091741.146101-1-alban.bedel@aerq.com> X-ClientProxiedBy: AM7PR03CA0014.eurprd03.prod.outlook.com (2603:10a6:20b:130::24) To AS8PR10MB5000.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:405::24) X-MS-Office365-Filtering-Correlation-Id: 77af8627-3de8-4335-8fd1-08da22aea7ea X-MS-TrafficTypeDiagnostic: HE1PR1001MB1049:EE_|VE1EUR03FT054:EE_|DU2PR10MB5094:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: xyj08AqrN6L2zCYQFToAf/XWJ+I85WdmzMGVKyPPLQO1jaRvLn3dMWpxjw+Ox1TDMh5JTTpr8TkV0Ogb99rYEVnu5Z9sLXcw5wv5zCyySj4j05pm2T7qSz6QfPNpqQlNywxtr/dGLlzHkRnmK3F8WgBlnuPaZsCdA/4ChrijPGO9W79bPGRKv0SmHai+/KznMLJWYKRjZZad71OsNYHpqTTR53dH8MYsyfcsx6e0t9KK/s9yEBxGKMCBT8zlKuyI7y98VvMeco1CK9odSkyQDmYXaxYyfsKzwnXW6OUOuANRp7bxBePNludBqSFvzhm5bxSFvRl+h5xbs2WW2apIuM8qXecUYyv6P0L6l1p5G+wOkuxUPahEaikPGeKaVdiRfg/blxiNs4BY/jSMowWVXhrKdBha47TGpI0VKfktjldTW+FDJMC3+VGpZKHpoXOQZWvyP6anCIQdj7QGlEpFNzcmM9E7alAPcDVdXG9+jSVQShxVAlFO9a5u9hvwET8ZA9/vlCudKBGOG6G79zFqyKlTZT+e+QtGl5G283ScnbqYea9hGsJmIHRNQNjlLW0w75X2qIuRSduphj0PkdJGsgOSXi6WqM7AoR9eZXU0qHzvIhUvw9d3jf9tQBusLLzfHHdAgwbnnZU2y3xAF5nigP2owIoMTPWAXdP+d0iIw3ym4qFAR2vi7hqCi7gZVyQ23A2uYa590zZWySTSumpNbg== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR10MB5000.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(6666004)(316002)(83380400001)(66556008)(66946007)(8936002)(2616005)(86362001)(508600001)(6486002)(6512007)(82960400001)(6506007)(107886003)(4326008)(1076003)(6916009)(52116002)(38100700002)(66476007)(186003)(44832011)(36756003)(8676002)(2906002)(54906003)(5660300002)(41533002); DIR:OUT; SFP:1102; X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR1001MB1049 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 5b10c78d-195a-4ac8-dc0f-08da22aea51a X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wzmLWnfT5lRwyx5fv4PY6N34fK05wNmnmQkToiJPZr/pYlEODACGJXYkllORHTOhWATkuJRDRvUtHAE8OJf3rGBzY2FUmIDpi+SxtzogZQeyQcoDB/f6M3xVuZ5XrN0A9QMmRwHy59ImaCcH/GjAG1J8AgPYQP24Cgvcd2E4vChph48HVhfbXifRr9h6/dmGsu/dPF+AYvN9RTAzfWKYtFYu9BBvSgH/0S51YvldInqNpWR7lNIrmScdmY9HRuO3wxTLLJ8dP9JCPzDLXcL607cfKDiiDeCp17/vXvUg+MFV/INdqkRy8ZH2SD6UbML3QdpTYi9zM1OIdW4HoTS8aCHJrxcPTxvSGBM1ICjRxt/sVlghCC4gO+x52QrjJ3uBg1opbisjlbhIgV0MxFq+o9m+s1lU6W6KXGJALt41rCechgsig3iedymDJJAKOKrhLMr3v2nw/iUVT+DEp17fE+wZT9a0b1FNODU2eyM1/J2jTlHLqepeWS4leNMHrovky7uD60a8jQotypzwRdxCuvKsmoHs9tmmcZFjn35QSI0K2KD7iTb6kKp7TG6Wx/pb9Y4L9zC0SFDL++8MOl1zIZMLaN+FqaqBMbsuWdcaH7FEZBznBSg9vKOBp7uvp8PZBSKIoyb79xn1T3GotbT7404om8/MX6LDO30ps8MvlFA= X-Forefront-Antispam-Report: CIP:104.40.229.156; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:eu1.smtp.exclaimer.net; PTR:eu1.smtp.exclaimer.net; CAT:NONE; SFS:(13230001)(4636009)(46966006)(36840700001)(1076003)(83380400001)(36860700001)(336012)(47076005)(186003)(26005)(6512007)(44832011)(107886003)(2616005)(2906002)(82310400005)(36756003)(8936002)(356005)(82960400001)(6486002)(86362001)(5660300002)(70206006)(70586007)(4326008)(8676002)(7636003)(6666004)(7596003)(6916009)(508600001)(6506007)(316002)(54906003)(41533002); DIR:OUT; SFP:1102; X-OriginatorOrg: aerq.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2022 09:17:55.8480 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 77af8627-3de8-4335-8fd1-08da22aea7ea X-MS-Exchange-CrossTenant-Id: bf24ff3e-ad0a-4c79-a44a-df7092489e22 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bf24ff3e-ad0a-4c79-a44a-df7092489e22; Ip=[104.40.229.156]; Helo=[eu1.smtp.exclaimer.net] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT054.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR10MB5094 MIME-Version: 1.0 X-cloud-security-sender: alban.bedel@aerq.com X-cloud-security-recipient: u-boot@lists.denx.de X-cloud-security-crypt: load encryption module X-cloud-security-crypt-policy: TRYSMIME X-cloud-security-Mailarchiv: E-Mail archived for: alban.bedel@aerq.com X-cloud-security-Mailarchivtype: outbound X-cloud-security-Virusscan: CLEAN X-cloud-security-disclaimer: This E-Mail was scanned by E-Mailservice on mx-relay08-hz2.antispameurope.com with B7422701D77 X-cloud-security-connect: mail-db5eur03lp2052.outbound.protection.outlook.com[104.47.10.52], TLS=1, IP=104.47.10.52 X-cloud-security-Digest: 670bc1ec8f36defdac7cddf2985d3553 X-cloud-security-crypt: smime sign status=06 sign_complete X-cloud-security: scantime:1.878 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=aerq.com; h=from:to:cc :subject:date:message-id:in-reply-to:references :content-transfer-encoding:mime-version:content-type; s=hse1; bh=yDKa2/xvp9d06JgJhLfrxS8wJMp5QzzsiDwLD6Cx9gE=; b=JY08Bs4Tp5Jg /i1a2lpg76RHR0ghadxNfqyH0IPXA3hE+winYZK0Knab6wSsBdpPVPIpyoPlsKe9 TPqbhGGugGkGqWrrBBUO9Bg3VboRp82NZUiggtL7cC3CUkkJljLr/f3PEsfVgN6i 6mZgPwoD1kK8jktJRovId6nUCu2U46nANxM2T20kFLOJbuLaijdvoJs0tHjdR4Rf 30Dgqqoazap4Aa5WQ4VsuOoeEPaDpIMBKAbqMWQ9/unyCLTnWONhVlGrWPad+E5b 30JehEMyNlBjaVO/vmDWmPyvQfbEbYine6Cqcl+K2+7T+gv+lepsjVnvRxiwcema toWxw0haoQ== X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.5 at phobos.denx.de X-Virus-Status: Clean This reverts commit c08db05455bcb2259849a096acf2e90cce258849. All the devices supported by this driver use a top glue node with DWC3 devices a subnodes. The imx8mq has no glue device, the DWC3 is directly on the parent bus. But the DWC3 node might have `port` subnode to define the connection to type C connectors. The code added by commit c08db05455bc ("usb: dwc3: dwc3-generic: check the parent nodes") would let the driver interpret the `port` subnode as DWC3 nodes, which lead to the need to add code to lookup properties in the parent node. As this code is base on a missunderstanding of the binding let's just revert it, a following commit will add support for standalone DWC3 devices. Signed-off-by: Alban Bedel --- drivers/usb/dwc3/dwc3-generic.c | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/drivers/usb/dwc3/dwc3-generic.c b/drivers/usb/dwc3/dwc3-generic.c index 01bd0ca190e3..8d53ba779024 100644 --- a/drivers/usb/dwc3/dwc3-generic.c +++ b/drivers/usb/dwc3/dwc3-generic.c @@ -110,12 +110,7 @@ static int dwc3_generic_of_to_plat(struct udevice *dev) struct dwc3_generic_plat *plat = dev_get_plat(dev); ofnode node = dev_ofnode(dev); - if (!strncmp(dev->name, "port", 4) || !strncmp(dev->name, "hub", 3)) { - /* This is a leaf so check the parent */ - plat->base = dev_read_addr(dev->parent); - } else { - plat->base = dev_read_addr(dev); - } + plat->base = dev_read_addr(dev); plat->maximum_speed = usb_get_maximum_speed(node); if (plat->maximum_speed == USB_SPEED_UNKNOWN) { @@ -125,13 +120,8 @@ static int dwc3_generic_of_to_plat(struct udevice *dev) plat->dr_mode = usb_get_dr_mode(node); if (plat->dr_mode == USB_DR_MODE_UNKNOWN) { - /* might be a leaf so check the parent for mode */ - node = dev_ofnode(dev->parent); - plat->dr_mode = usb_get_dr_mode(node); - if (plat->dr_mode == USB_DR_MODE_UNKNOWN) { - pr_err("Invalid usb mode setup\n"); - return -ENODEV; - } + pr_err("Invalid usb mode setup\n"); + return -ENODEV; } return 0; @@ -311,20 +301,16 @@ static int dwc3_glue_bind(struct udevice *parent) { ofnode node; int ret; - enum usb_dr_mode dr_mode; - - dr_mode = usb_get_dr_mode(dev_ofnode(parent)); ofnode_for_each_subnode(node, dev_ofnode(parent)) { const char *name = ofnode_get_name(node); + enum usb_dr_mode dr_mode; struct udevice *dev; const char *driver = NULL; debug("%s: subnode name: %s\n", __func__, name); - /* if the parent node doesn't have a mode check the leaf */ - if (!dr_mode) - dr_mode = usb_get_dr_mode(node); + dr_mode = usb_get_dr_mode(node); switch (dr_mode) { case USB_DR_MODE_PERIPHERAL: @@ -464,7 +450,6 @@ static const struct udevice_id dwc3_glue_ids[] = { { .compatible = "rockchip,rk3328-dwc3" }, { .compatible = "rockchip,rk3399-dwc3" }, { .compatible = "qcom,dwc3" }, - { .compatible = "fsl,imx8mq-dwc3" }, { .compatible = "intel,tangier-dwc3" }, { } }; From patchwork Wed Apr 20 09:17:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Bedel, Alban" X-Patchwork-Id: 1619419 X-Patchwork-Delegate: bmeng.cn@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=l2task.onmicrosoft.com header.i=@l2task.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-l2task-onmicrosoft-com header.b=vN7/TTMQ; dkim=fail reason="signature verification failed" (1024-bit key) header.d=l2task.onmicrosoft.com header.i=@l2task.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-l2task-onmicrosoft-com header.b=NAcNsIBk; dkim=pass (2048-bit key; unprotected) header.d=aerq.com header.i=@aerq.com header.a=rsa-sha256 header.s=hse1 header.b=E1Le6Zir; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Kjw8F1mz9z9sG0 for ; Wed, 20 Apr 2022 19:18:37 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9E7BF83DB0; Wed, 20 Apr 2022 11:18:24 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=aerq.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=l2task.onmicrosoft.com header.i=@l2task.onmicrosoft.com header.b="vN7/TTMQ"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=l2task.onmicrosoft.com header.i=@l2task.onmicrosoft.com header.b="NAcNsIBk"; dkim=pass (2048-bit key; unprotected) header.d=aerq.com header.i=@aerq.com header.b="E1Le6Zir"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 9715983C58; Wed, 20 Apr 2022 11:18:15 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.2 Received: from mx-relay79-hz2.antispameurope.com (mx-relay79-hz2.antispameurope.com [94.100.136.179]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id A95D283D87 for ; Wed, 20 Apr 2022 11:18:10 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=aerq.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=alban.bedel@aerq.com Received: from mail-vi1eur04lp2051.outbound.protection.outlook.com ([104.47.14.51]) by mx-relay79-hz2.antispameurope.com; Wed, 20 Apr 2022 11:18:09 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=l2task.onmicrosoft.com; s=selector1-l2task-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QMQIEve/t0lvZwIpqH51P8FbU07TsOJwJ7B6AJlEuys=; b=vN7/TTMQQdLG2N3Gm/u6gb5YFKAp5wYU/9Rky/DopjOHVCcjsTKyVjNkS5IglniATOPYyKsAU2kdv3ruZ2KQCG2VYO6GajkTdHMLaWa5LcDxTFaWOEFbZWneby8D2KcDr/4zvwp4LuDDPQoj/ouC1ucxaJM81VY0LgXNjbzBVUI= Received: from DU2PR04CA0266.eurprd04.prod.outlook.com (2603:10a6:10:28e::31) by AS8PR10MB6102.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:570::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.13; Wed, 20 Apr 2022 09:17:55 +0000 Received: from DB5EUR03FT060.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:28e:cafe::9) by DU2PR04CA0266.outlook.office365.com (2603:10a6:10:28e::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.13 via Frontend Transport; Wed, 20 Apr 2022 09:17:55 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 104.40.229.156) smtp.mailfrom=aerq.com; dkim=fail (body hash did not verify) header.d=l2task.onmicrosoft.com;dmarc=fail action=quarantine header.from=aerq.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning aerq.com discourages use of 104.40.229.156 as permitted sender) Received: from eu1.smtp.exclaimer.net (104.40.229.156) by DB5EUR03FT060.mail.protection.outlook.com (10.152.21.231) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.5186.14 via Frontend Transport; Wed, 20 Apr 2022 09:17:55 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (104.47.17.169) by eu1.smtp.exclaimer.net (104.40.229.156) with Exclaimer Signature Manager ESMTP Proxy eu1.smtp.exclaimer.net (tlsversion=TLS12, tlscipher=TLS_ECDHE_WITH_AES256_SHA384); Wed, 20 Apr 2022 09:17:55 +0000 X-ExclaimerHostedSignatures-MessageProcessed: true X-ExclaimerProxyLatency: 7791540 X-ExclaimerImprintLatency: 457859 X-ExclaimerImprintAction: ce731600197a4031ad5c266971531d37 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QGMsBL2+YikcQHCzUUI/XqqIWVIS3iZ+gRgNXUgWkzLd5JXGo60rFF/jIjgxA+0c15jxFzaH/b6msldfUDtzn1saL+kVd5aJYvtnt8wxSNXL4VkkbYyBlPxjvmGMrDjcJMMNC0cpnZla5oJuNg/FBZF9Ua1I6PjYGDw7PuEVSloFKkVOm2u6grZuoanCeOMU0QJGI5Ya3no03bPWV5uYAhAuGN6jj67fP9MQ6MQlX1JMvlXYOi37iia766rg68b/2CG3qQWEO//0ykPok3Y3tG/l0ar1Af+v7ROuAbR3/7Bu7dDToWedJ5+LcKHXuwxb/mLt+cQfIVPQirzDqrOMaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=yDrQmpVW/uMjsDa7otQFpWtCX1Vc5heKWMKq+VzGmio=; b=jDZKDPFT1WwSJ9nlPmaQgj+pYNe6h8pxypGa3XmyKLWUh44//2nTpKJw/93nJbKBUfEyz/nTy9oze0ze/MD3tkYOgRFr/2wSfcxNqCaOO8LTM04NXjGHz14kOeD6TbTWJxuoL5ineYacOMpR5A1UsncO5wB3tfGbg3IXFwDIdSH1wW+qXC79IiJCuOM9nE40lBN0h6d2vlx5pqAiBeHKUZuUjpKHMA6vib/YFHprOqr4uhQ+3HdTzwsxpCVwjqjZdC57r/CBN1usnGoC/31ROuQNUT+km1YAJdykQ4YFd+myGhO4J4CKA1t0T5cCBZWZPT8wR4qeP3wLmht6HcZHuQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aerq.com; dmarc=pass action=none header.from=aerq.com; dkim=pass header.d=aerq.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=l2task.onmicrosoft.com; s=selector1-l2task-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yDrQmpVW/uMjsDa7otQFpWtCX1Vc5heKWMKq+VzGmio=; b=NAcNsIBkCBSM3JLcsP7Ono4dtqyWZdhWb7nvgWBT/U5zRuJSnC7BvogfpFhHXQnSxGkdY/kvI26jVTFYoUPXB2Z4WJN5HDzy1XJYXJOwb7MTm3YkoafkgroELXIVdNcVYdwwPDVhRt9K73+N8PmYqNros4kpfXe/k/pJhOvhFhk= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=aerq.com; Received: from AS8PR10MB5000.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:405::24) by VI1PR1001MB1069.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:800:6c::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.14; Wed, 20 Apr 2022 09:17:52 +0000 Received: from AS8PR10MB5000.EURPRD10.PROD.OUTLOOK.COM ([fe80::cc70:6b36:244:dd5c]) by AS8PR10MB5000.EURPRD10.PROD.OUTLOOK.COM ([fe80::cc70:6b36:244:dd5c%5]) with mapi id 15.20.5186.014; Wed, 20 Apr 2022 09:17:52 +0000 From: Alban Bedel To: u-boot@lists.denx.de CC: Marek Vasut , Kunihiko Hayashi , Angus Ainslie , Simon Glass , Alban Bedel Subject: [PATCH 2/2] usb: dwc3: Add support for standalone DWC3 nodes Date: Wed, 20 Apr 2022 11:17:41 +0200 Message-ID: <20220420091741.146101-3-alban.bedel@aerq.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220420091741.146101-1-alban.bedel@aerq.com> References: <20220420091741.146101-1-alban.bedel@aerq.com> X-ClientProxiedBy: AM7PR03CA0014.eurprd03.prod.outlook.com (2603:10a6:20b:130::24) To AS8PR10MB5000.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:405::24) X-MS-Office365-Filtering-Correlation-Id: 26ee197e-75ee-4cb7-482b-08da22aea75f X-MS-TrafficTypeDiagnostic: VI1PR1001MB1069:EE_|DB5EUR03FT060:EE_|AS8PR10MB6102:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: tZ5QY1JXf6TAAeMISu8grolRdEcBcp3jF4tDsOnAtE1ombqop8S7psxU3RzWZRrxWuKpQeBoMH7VWPcK2nMp7xSPLbG+zczSyTDgZpf4YGyrjopwl2GBzaplWFLXPXVSL2F42NY9fxHs07WesYQ7WAMwlpAXxZIC49AXVJbaKehej4csM5/AOaOAkMGsDBryq3L74buT8cgdH9i0oo3A0prdOEAJP1MeflsUoTvogse38al0Cqr2rYgZe/aPGcBug958tE6QVlW1FECShWyei2MFpCfHHn6+/zXgCT2xt1LcPiBZacUHy20lcQAT07LxPxjHURXBAq+CmOtwGPT1eRaKFvufx9pM8xXXWSAKCZFJlWe345QFPMrR5ERjhN5441kPRRQxIi2mmPYc3IxZncM3scPGyVKPAzLjOzRjpc4ubbMC8f5DSIu02gJHB0wjGMI2hpWY5bO1SDCFDyJPU1E6ZtWMOeKVQyl6qFdIXUNoprMXFbk/5OQAQ1jJ2gpAS7mGBkRH6M6dtEo844M+/pgqdqzlJlFFHtDZpHuCJCHl5O4I5+MGjY0bwJq9/VcStV2YS16giUWBkn/GquiS5+6f62AIskB7IZMv3BcQsO17fdbC728uYZXLBFM7KRupYVu8wXxt8uZDX6aLf41LcA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR10MB5000.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(6512007)(8936002)(38100700002)(508600001)(6486002)(52116002)(6506007)(2906002)(5660300002)(82960400001)(44832011)(6666004)(186003)(86362001)(1076003)(107886003)(2616005)(83380400001)(6916009)(66476007)(66556008)(66946007)(8676002)(316002)(4326008)(36756003)(54906003); DIR:OUT; SFP:1102; X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR1001MB1069 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT060.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: d2f64235-f880-4131-6322-08da22aea57a X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rp/nIXrc5CbokuJFPeVOg+Fv7VyG1E6OGz1ZwHLxE6bkxl1Ok0cvmz8nvmttz+dwzzFYG47Buh/s2AC5eGWf6ds5MzLucTYd6HZkDns9S1ePipwpeIzG7ynNbllcBVozL6iDE4H4gHPJ8239TxGlRhIJ+u83lY7F3mCWHz102t1FP2x5edGicwRO33g86auMVkW6Bbp9mZbXGh8h7AmnRTl0OCx+ZrCOdV7dxUTU45OmNOpepEnECh8k3cIOgDqz1B9vf93IcNWsykBL4pF67LaBHiYUX/MCp2hXZUTZEBvIg1nRtf0eInxbIaLL7zewhly8CIMlnKUXvdIKiu0ynai7FPOoAjC+ZTKSdgjqTFfB0o18Bz4L6i/UaHNvgjLJaAcg7BWuSvqyYUidWlYVKEpRsqy4bQdHOWtdCWN0ObaWWD3YDDtwmP0kBM87CsIogF496MM4RZjctNv5a3d8mHzVTZTETEjXrnayd3q/xBk8M8GCgMdO5QloD+z3BYm2YeZk7UT3eEmiSiNjBZAU/756r5xMtKZrb096rICc3vWuTq5sXQDzPe0QKwr+5TcY6/jsnUjvT78GZWniUeVM3JtqWYDC5FKyCD23qjqg6jMHDDsJd9qDGt0v+W80D5CdxDBdAES54EXo+4yr1R81fA== X-Forefront-Antispam-Report: CIP:104.40.229.156; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:eu1.smtp.exclaimer.net; PTR:eu1.smtp.exclaimer.net; CAT:NONE; SFS:(13230001)(4636009)(36840700001)(46966006)(2906002)(7636003)(4326008)(82310400005)(6666004)(83380400001)(70206006)(5660300002)(336012)(6512007)(6506007)(316002)(7596003)(8676002)(8936002)(44832011)(26005)(508600001)(107886003)(70586007)(54906003)(6916009)(36860700001)(82960400001)(356005)(47076005)(1076003)(86362001)(2616005)(36756003)(6486002)(186003); DIR:OUT; SFP:1102; X-OriginatorOrg: aerq.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2022 09:17:55.0290 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 26ee197e-75ee-4cb7-482b-08da22aea75f X-MS-Exchange-CrossTenant-Id: bf24ff3e-ad0a-4c79-a44a-df7092489e22 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bf24ff3e-ad0a-4c79-a44a-df7092489e22; Ip=[104.40.229.156]; Helo=[eu1.smtp.exclaimer.net] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT060.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR10MB6102 MIME-Version: 1.0 X-cloud-security-sender: alban.bedel@aerq.com X-cloud-security-recipient: u-boot@lists.denx.de X-cloud-security-crypt: load encryption module X-cloud-security-crypt-policy: TRYSMIME X-cloud-security-Mailarchiv: E-Mail archived for: alban.bedel@aerq.com X-cloud-security-Mailarchivtype: outbound X-cloud-security-Virusscan: CLEAN X-cloud-security-disclaimer: This E-Mail was scanned by E-Mailservice on mx-relay79-hz2.antispameurope.com with D4AB8DE9BFE X-cloud-security-connect: mail-vi1eur04lp2051.outbound.protection.outlook.com[104.47.14.51], TLS=1, IP=104.47.14.51 X-cloud-security-Digest: 9a9c29caec9ba2b1722dcd88819c30f7 X-cloud-security-crypt: smime sign status=06 sign_complete X-cloud-security: scantime:3.289 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=aerq.com; h=from:to:cc :subject:date:message-id:in-reply-to:references :content-transfer-encoding:mime-version:content-type; s=hse1; bh=I0q3fJb0jitM+iXlWLMs8J2a860adVXUsupjbUBF36A=; b=E1Le6ZirRI1X 8xEJtYqx0NYxMl1IgJOVvs4cVldTZlRaQomIkoCENJlN2IVv/J/AlLlWbEySBuBN T55NEKymG0nWn3mFhxZOgQy+z0W+Dein8ZZMDRcFQir4anppbZ3OTSTaFZOe6Wbm 5nzQxnuuFlLdnJmCRIEVg4G5WTvKkQ04/+l6WV2MvSDJifV9mERbvgnjZihygRGd 4CiqRa/OsGXy1qiNfHyQa6NOTfV+5W3sHFXFGzM/MaVVBtfUNMM+86FEurzRRrOk PNl/8AFaPr7SxlVEdQAiGRR9brZfKyHhGyyGA80a7UlnFb/cs5ZDH1HfiTnymoRh J76U2EQFeA== X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.5 at phobos.denx.de X-Virus-Status: Clean Most DWC3 implementations use a top glue node with DWC3 subnodes, which is what the dwc3-generic-wrapper driver support. But there is also implementations where the DWC3 node is directly on the main bus, like on the imx8mq. To support this case split the handling of each DWC3 node out of dwc3_glue_bind() to make it reusable and add a new driver to handle standalone DWC3 nodes. While at it also rename the dwc3-generic-wrapper to dwc3-glue-wrapper to better reflect what it support and the general naming in the driver. Signed-off-by: Alban Bedel --- drivers/usb/dwc3/dwc3-generic.c | 103 ++++++++++++++++++++------------ 1 file changed, 65 insertions(+), 38 deletions(-) diff --git a/drivers/usb/dwc3/dwc3-generic.c b/drivers/usb/dwc3/dwc3-generic.c index 8d53ba779024..e554a3d60360 100644 --- a/drivers/usb/dwc3/dwc3-generic.c +++ b/drivers/usb/dwc3/dwc3-generic.c @@ -297,50 +297,64 @@ struct dwc3_glue_ops ti_ops = { .select_dr_mode = dwc3_ti_select_dr_mode, }; +static int dwc3_bind_to_node(struct udevice *parent, ofnode node) +{ + const char *name = ofnode_get_name(node); + enum usb_dr_mode dr_mode; + struct udevice *dev; + const char *driver = NULL; + int ret; + + debug("%s: subnode name: %s\n", __func__, name); + + dr_mode = usb_get_dr_mode(node); + + switch (dr_mode) { + case USB_DR_MODE_PERIPHERAL: + case USB_DR_MODE_OTG: +#if CONFIG_IS_ENABLED(DM_USB_GADGET) + debug("%s: dr_mode: OTG or Peripheral\n", __func__); + driver = "dwc3-generic-peripheral"; +#endif + break; +#if defined(CONFIG_SPL_USB_HOST) || !defined(CONFIG_SPL_BUILD) + case USB_DR_MODE_HOST: + debug("%s: dr_mode: HOST\n", __func__); + driver = "dwc3-generic-host"; + break; +#endif + default: + debug("%s: unsupported dr_mode\n", __func__); + return -ENODEV; + }; + + if (!driver) + return -ENOTSUPP; + + ret = device_bind_driver_to_node(parent, driver, name, + node, &dev); + if (ret) + debug("%s: not able to bind usb device mode\n", + __func__); + return ret; +} + +static int dwc3_bind(struct udevice *parent) +{ + return dwc3_bind_to_node(parent, dev_ofnode(parent)); +} + static int dwc3_glue_bind(struct udevice *parent) { ofnode node; int ret; ofnode_for_each_subnode(node, dev_ofnode(parent)) { - const char *name = ofnode_get_name(node); - enum usb_dr_mode dr_mode; - struct udevice *dev; - const char *driver = NULL; - - debug("%s: subnode name: %s\n", __func__, name); - - dr_mode = usb_get_dr_mode(node); - - switch (dr_mode) { - case USB_DR_MODE_PERIPHERAL: - case USB_DR_MODE_OTG: -#if CONFIG_IS_ENABLED(DM_USB_GADGET) - debug("%s: dr_mode: OTG or Peripheral\n", __func__); - driver = "dwc3-generic-peripheral"; -#endif - break; -#if defined(CONFIG_SPL_USB_HOST) || !defined(CONFIG_SPL_BUILD) - case USB_DR_MODE_HOST: - debug("%s: dr_mode: HOST\n", __func__); - driver = "dwc3-generic-host"; - break; -#endif - default: - debug("%s: unsupported dr_mode\n", __func__); - return -ENODEV; - }; - - if (!driver) + ret = dwc3_bind_to_node(parent, node); + if (ret == -ENOTSUPP) continue; - - ret = device_bind_driver_to_node(parent, driver, name, - node, &dev); - if (ret) { - debug("%s: not able to bind usb device mode\n", - __func__); + if (ret) return ret; - } } return 0; @@ -440,6 +454,19 @@ static int dwc3_glue_remove(struct udevice *dev) return 0; } +static const struct udevice_id dwc3_ids[] = { + { .compatible = "snps,dwc3" }, + { .compatible = "synopsys,dwc3" }, + { } +}; + +U_BOOT_DRIVER(dwc3_wrapper) = { + .name = "dwc3-wrapper", + .id = UCLASS_NOP, + .of_match = dwc3_ids, + .bind = dwc3_bind, +}; + static const struct udevice_id dwc3_glue_ids[] = { { .compatible = "xlnx,zynqmp-dwc3" }, { .compatible = "xlnx,versal-dwc3" }, @@ -454,8 +481,8 @@ static const struct udevice_id dwc3_glue_ids[] = { { } }; -U_BOOT_DRIVER(dwc3_generic_wrapper) = { - .name = "dwc3-generic-wrapper", +U_BOOT_DRIVER(dwc3_glue_wrapper) = { + .name = "dwc3-glue-wrapper", .id = UCLASS_NOP, .of_match = dwc3_glue_ids, .bind = dwc3_glue_bind,