From patchwork Mon Aug 19 06:10:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sherry Sun X-Patchwork-Id: 1149034 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; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="aOBlLLI7"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 46Bk7c6My8z9sMr for ; Mon, 19 Aug 2019 16:10:50 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id C200FC21E57; Mon, 19 Aug 2019 06:10: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=SPF_HELO_PASS, 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 4B227C21C57; Mon, 19 Aug 2019 06:10:37 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 829ACC21C57; Mon, 19 Aug 2019 06:10:35 +0000 (UTC) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60040.outbound.protection.outlook.com [40.107.6.40]) by lists.denx.de (Postfix) with ESMTPS id 03729C21BE5 for ; Mon, 19 Aug 2019 06:10:35 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eWXlXBHaMoPZLaGXON9/yF53+iwPLzuz/Z8scI0HIRLrc21dtX+yykfQZENQN1t8hbv/lbinbEFrzK181sivsEAg4UP0K9kY4hJA8677SndQGgnl8JUEebavTUnK1TpPw0ybB6FzyoFxWGQPAIsOqEAVHVlNfy6KHqQ9ZKzGyiNtpT/joQpLAaHRBkV4QE5g9aZEhjZi8SNi4uJaBdampiXlkwjnxIwKDA2DwEZiPaC6HawqWr7aaXSLshPSJrP1jBaSSHmDhgyv0QNWryVSbAyLteCXFP8GDfGX0VwCBE/1zoY5kXLokXM19fUgQZtgc4SCaR+c5/kf1Fco+ZFb1A== 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-SenderADCheck; bh=2flm3Vldj86W8kkJ6pBssW3N/uZWXn0X1x9CBbk+gjE=; b=FziaANd0+UeWXLStUFkolULQWZd7NvytbEbz/cPFX+4b7zLZLfMQB/sGqrCJOowMtdSVMYpPA/N84KVxL9jIVNVp3bod5p1vRUF2FaljJxal6Qdjh4E5WdIUdDAeEIAQFNGOw6z81NCIHdLeTYzJC/1bdBvde8S23ykPpD25IKoxsPh149twQTe72F9sFZW56b0HbRBD+Jf9Dc+Oy2I7BjURgj1eZwO+yj0zTTAjAA8LSNUlG+ei61Fet1WLDuZnq/64yNEbwX/P272dq2Ql6llt7KTijZU4cOaRVVfhm8RVOIufgq8PdPQxzqOAi39eN/M+0LNrxRZ/U8KrfZyQUA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2flm3Vldj86W8kkJ6pBssW3N/uZWXn0X1x9CBbk+gjE=; b=aOBlLLI7Vp2SNZdF7KHzQYFz+vrzsqstWWp6X4Sz1gSVIzcxkgzlyqrBfZczEyyeGrgbQRtz3/3vtQCYALqCrMu8vm7FisoJX8wkKFo9mTTmKhyMYM6QCeVxAbTruuRK4yJU74vQMUdfLseiPA7aR7tfO/VP4vCnyjPkzFJLUDI= Received: from AM0PR04MB6436.eurprd04.prod.outlook.com (20.179.252.146) by AM0PR04MB6036.eurprd04.prod.outlook.com (20.179.35.210) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2178.18; Mon, 19 Aug 2019 06:10:33 +0000 Received: from AM0PR04MB6436.eurprd04.prod.outlook.com ([fe80::5d9d:1811:f920:3ec2]) by AM0PR04MB6436.eurprd04.prod.outlook.com ([fe80::5d9d:1811:f920:3ec2%5]) with mapi id 15.20.2178.018; Mon, 19 Aug 2019 06:10:32 +0000 From: Sherry Sun To: "marex@denx.de" , "lukma@denx.de" , "bmeng.cn@gmail.com" Thread-Topic: [PATCH v4 0/4] USB: Add cadence USB3 gadget/host/phy driver Thread-Index: AQHVVlTOJmK1bkoDQ0SRo1bvKB46CA== Date: Mon, 19 Aug 2019 06:10:32 +0000 Message-ID: <20190819180909.16638-1-sherry.sun@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: SG2PR06CA0181.apcprd06.prod.outlook.com (2603:1096:4:1::13) To AM0PR04MB6436.eurprd04.prod.outlook.com (2603:10a6:208:16b::18) x-mailer: git-send-email 2.17.1 authentication-results: spf=none (sender IP is ) smtp.mailfrom=sherry.sun@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [119.31.174.71] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1dd28718-708b-4656-c83e-08d7246bf130 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:AM0PR04MB6036; x-ms-traffictypediagnostic: AM0PR04MB6036: x-ms-exchange-purlcount: 1 x-ld-processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6430; x-forefront-prvs: 0134AD334F x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(39860400002)(376002)(396003)(366004)(346002)(189003)(199004)(256004)(14444005)(53936002)(81156014)(7736002)(25786009)(5660300002)(81166006)(8676002)(86362001)(4326008)(305945005)(36756003)(1076003)(66066001)(316002)(110136005)(54906003)(66476007)(64756008)(66556008)(99286004)(66446008)(2616005)(476003)(486006)(66946007)(44832011)(2906002)(52116002)(6116002)(3846002)(6512007)(386003)(50226002)(14454004)(6306002)(8936002)(6506007)(102836004)(186003)(2501003)(26005)(966005)(6436002)(6486002)(478600001)(2201001)(71200400001)(71190400001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR04MB6036; H:AM0PR04MB6436.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: CLY7pSiTBD9fSocfmM8KIF2r8dnblJHezIcaEutC305RS6qDbXtVwgXwTL4XMmcGGkUIToBeoBv4EAG7w++HJ/94uySk6uhg0ZpK43mcRFJmjktXBK0gytf38zxFHyk+x6yuCFILemUcLDOQZH159b4W4vQRlc+/3yj8zuqzA8OVli+bSPVDhyrBGXPcPmHwCQYR7RvAkDtvw6C5Zb5duwpnlbNcZ1/RxLCqsxlR0/IXlUE7rNd7rfLrKEW6GO77M3tuk2uJoDV4mgl2l4M858pT1UEmV2XM8dVm2m038Z8VTw5Pfy5T/Ow3s8p4DSY98xX9k/k2tgj8aOqgpfd8FjTGFF2cr7pv/Lzie0ClmNEpHgLQeg2T102Ejv6pcnuUz4S1/1TypIqloSlGToUOJ0t15rldI+2CLV1Z25u/rWM= MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1dd28718-708b-4656-c83e-08d7246bf130 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Aug 2019 06:10:32.6908 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: dBX8YUVRKCDA30aLnI52tjN7kQxCmw4YoYRW4r2Cn3hcL+6GE1Xxjpat5XDx87YCsNC2TkNRroO7ph4f46S+BQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6036 Cc: Marcel Ziswiler , "u-boot@lists.denx.de" , dl-uboot-imx Subject: [U-Boot] [PATCH v4 0/4] USB: Add cadence USB3 gadget/host/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: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" These patches introduce new Cadence driver to U-Boot. The first patch is to add the Cadence USB3 IP(CDNS3) core and driver for the usb gadget. The second patch introduce the xhci-imx8 usb host driver separately. The third patch introduce the cdns3 phy driver which can be used for both cdns3 host driver and gadget driver. The cdns3 usb gadget/host/phy driver are all used DM mode. The current driver has been validated on i.MX8 platform. If someone want to test it, please note that the additional dts nodes/ config macros/clock driver are also essential. You can also get my test patches at https://github.com/sherrysun1/u-boot-imx.git to start your test quickly. Changes in v4: - Keep all include list in files sorted. - Delete the unnecessary registers read in code. - Add ret return after wait_for_bit_le32() is failed. - Add macros instead those magic values. Sherry Sun (4): USB: gadget: Add the cadence USB3 gadget driver USB: host: Add the USB3 host driver phy: Add USB PHY driver for the cadence USB3 USB: gadget: core: introduce ->udc_set_speed() method Makefile | 1 + doc/device-tree-bindings/usb/cdns-usb3.txt | 39 + drivers/phy/Kconfig | 8 + drivers/phy/Makefile | 1 + drivers/phy/cdns3-usb-phy.c | 241 +++ drivers/usb/Kconfig | 2 + drivers/usb/cdns3/Kconfig | 20 + drivers/usb/cdns3/Makefile | 5 + drivers/usb/cdns3/cdns3-generic.c | 113 + drivers/usb/cdns3/cdns3-nxp-reg-def.h | 93 + drivers/usb/cdns3/core.c | 203 ++ drivers/usb/cdns3/core.h | 118 ++ drivers/usb/cdns3/dev-regs-macro.h | 116 + drivers/usb/cdns3/dev-regs-map.h | 117 ++ drivers/usb/cdns3/gadget-export.h | 26 + drivers/usb/cdns3/gadget.c | 2218 ++++++++++++++++++++ drivers/usb/cdns3/gadget.h | 225 ++ drivers/usb/cdns3/io.h | 30 + drivers/usb/gadget/epautoconf.c | 4 + drivers/usb/gadget/gadget_chips.h | 7 + drivers/usb/gadget/udc/Makefile | 1 + drivers/usb/gadget/udc/udc-core.c | 23 + drivers/usb/host/Kconfig | 9 + drivers/usb/host/Makefile | 1 + drivers/usb/host/xhci-imx8.c | 209 ++ include/linux/usb/gadget.h | 5 + scripts/Makefile.spl | 1 + 27 files changed, 3836 insertions(+) create mode 100644 doc/device-tree-bindings/usb/cdns-usb3.txt create mode 100644 drivers/phy/cdns3-usb-phy.c create mode 100644 drivers/usb/cdns3/Kconfig create mode 100644 drivers/usb/cdns3/Makefile create mode 100644 drivers/usb/cdns3/cdns3-generic.c create mode 100644 drivers/usb/cdns3/cdns3-nxp-reg-def.h create mode 100644 drivers/usb/cdns3/core.c create mode 100644 drivers/usb/cdns3/core.h create mode 100644 drivers/usb/cdns3/dev-regs-macro.h create mode 100644 drivers/usb/cdns3/dev-regs-map.h create mode 100644 drivers/usb/cdns3/gadget-export.h create mode 100644 drivers/usb/cdns3/gadget.c create mode 100644 drivers/usb/cdns3/gadget.h create mode 100644 drivers/usb/cdns3/io.h create mode 100644 drivers/usb/host/xhci-imx8.c