From patchwork Tue May 31 11:32:49 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajat Srivastava X-Patchwork-Id: 628174 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 3rJsDs2rHgz9t3Z for ; Tue, 31 May 2016 21:47:57 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 98D19A7498; Tue, 31 May 2016 13:47:55 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cYxSzyt7R0u9; Tue, 31 May 2016 13:47:55 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 85990A74D6; Tue, 31 May 2016 13:47:54 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 21B2EA74D6 for ; Tue, 31 May 2016 13:47:47 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Q9PfwnIziN3J for ; Tue, 31 May 2016 13:47:46 +0200 (CEST) X-Greylist: delayed 879 seconds by postgrey-1.34 at theia; Tue, 31 May 2016 13:47:41 CEST X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0086.outbound.protection.outlook.com [157.56.111.86]) by theia.denx.de (Postfix) with ESMTPS id 65229A7498 for ; Tue, 31 May 2016 13:47:40 +0200 (CEST) Received: from BLUPR0301CA0013.namprd03.prod.outlook.com (10.162.113.151) by BN1PR03MB201.namprd03.prod.outlook.com (10.255.200.141) with Microsoft SMTP Server (TLS) id 15.1.492.11; Tue, 31 May 2016 11:33:00 +0000 Received: from BN1BFFO11FD042.protection.gbl (2a01:111:f400:7c10::1:123) by BLUPR0301CA0013.outlook.office365.com (2a01:111:e400:5259::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.506.9 via Frontend Transport; Tue, 31 May 2016 11:33:00 +0000 Authentication-Results: spf=none (sender IP is 192.88.158.2) smtp.mailfrom=lvd4224.freescale.com; xilinx.com; dkim=none (message not signed) header.d=none; xilinx.com; dmarc=none action=none header.from=nxp.com; Received-SPF: None (protection.outlook.com: lvd4224.freescale.com does not designate permitted sender hosts) Received: from az84smr01.freescale.net (192.88.158.2) by BN1BFFO11FD042.mail.protection.outlook.com (10.58.144.105) with Microsoft SMTP Server (TLS) id 15.1.497.8 via Frontend Transport; Tue, 31 May 2016 11:33:00 +0000 Received: from lvd4224.freescale.com (lvd4224.ap.freescale.net [10.232.52.224]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id u4VBWwvQ024771; Tue, 31 May 2016 04:32:58 -0700 Received: by lvd4224.freescale.com (Postfix, from userid 65022248) id DE9C468087; Tue, 31 May 2016 17:02:57 +0530 (IST) From: Rajat Srivastava To: Date: Tue, 31 May 2016 17:02:49 +0530 Message-ID: <1464694370-15853-3-git-send-email-rajat.srivastava@nxp.com> X-Mailer: git-send-email 1.7.7.4 In-Reply-To: <1464694370-15853-1-git-send-email-rajat.srivastava@nxp.com> References: <1464694370-15853-1-git-send-email-rajat.srivastava@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131091679804855711; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6039001)(6009001)(2980300002)(428002)(189002)(199003)(9170700003)(6806005)(5003940100001)(90966002)(50226002)(110136002)(19580405001)(36756003)(11100500001)(586003)(8676002)(47776003)(50466002)(16796002)(2906002)(87936001)(4326007)(8936002)(2950100001)(5008740100001)(19580395003)(81166006)(2351001)(8666003)(229853001)(86372001)(103686003)(105586002)(92566002)(106466001)(46386002)(45336002)(33646002)(101416001)(42186005)(50986999)(48376002)(76176999)(960300001)(52956003)(189998001)(7059030)(42882005)(4720700001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN1PR03MB201; H:az84smr01.freescale.net; FPR:; SPF:None; MLV:sfv; MX:1; A:0; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD042; 1:BJmy5ZHym7YgCCpDg51cla+Unjd9t+on56p8eGdqz2iTzMCJX2+x12HkI5ksxNDm46nuFsjpakozoXtQWqEXbx+Ht35ac8UlTXD/1vsh/tw9Impu2Y+m4LLq9NGpdSjS+1FEPf/RtnpdlNz81E4ITSOdqYpUCw5pG/oQp1ZzR4bmWYxC6lhrlWzju83ZKdtXescG8WIyUN8/C0rw6wBrFSGLS/N85ERuemZfDqq4QLRI3loTDvNsYOjFYa60hdTNsuobjvWLbxJ4k93mHZV5/yahSnJ/2BZd/JYnSsCW34r1VbjUjlewEh/B9+Yy2Jcv4sjL9dDEg50rMhOPD7IgoktVHcU7doxA5eR6c6ucECKiSkMWlqadpvQLMrxb9qNSDppPJBH0Rxm/EevdsyvUczXj31Sl6+qtRK00qf6Jqh967UpF02k5sDqcWS2voyU7DOW3JfTdFiBR6NQ6N0jxPDsq1LoXsFyG9XuwkBi+mkjv1flbSNZWViWEknoutzNkG7q/qMtVt18sCYMybKKIZ6HeqPbMd8etE1UGEx8PNkaZfwzFL7LpiCBM0O1jnHrwSftfdcLEI94Cl6gvHh/PKJc4ZrmFY8HkHUYM0Kke+ktMRqSprCPqI7oY8sOXuP7DWm8Pmf7w6qUJIbqBIpMtzg== MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: fb1cda62-acb0-42b2-b43d-08d38947523b X-Microsoft-Exchange-Diagnostics: 1; BN1PR03MB201; 2:Gx5MabM/3a1wQ74YypJJ9SWvEVMOGOSQnTQDMIGBttZtCC4DsHASxaUUMpaZuZtg6BZGmUEtNEqW6TK44UMggmUbDJxyE7I0n0eSI5yI0+BJFXJfQll46KU5wjzGPHKyqpmTJYHl2aJIpBmlQj9Da2yvBY1+jUrpIWWT4XofSq66lBYULtQU9XNo6Qd7fe3r; 3:IHEBAP4JWmLryKDPHd0wLWko7sdYe3CrMIC2HdTEyVaNCRBRsNjQBve9S8jrFZmiirCRDnMv8u1lnqsDQijXP3k2FfTk79rR8Jn11nNPIGz+R2HDfzU7HvjQTeF/FjgtFNvKznJG3WWZm/5vLOvf0ecno/jHbPz5xlZff/QvPbWT+rR0NvgCRU4+fDnJvzXT6fjgGng3heyIF4GUWnnAJimaAdhm4h2XAYzttbtpxIs= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN1PR03MB201; X-Microsoft-Exchange-Diagnostics: 1; BN1PR03MB201; 25:6l3kxhXohlhkIfItWPLeh5mkJqpcGxNyxr70g4XIelJkl87f53hGaQKYQw0HP4QByXQk6Lv4BiTNumPTMUd0E6PD3wK1xj1vGlzBL2ZJRYjk+JUA7dcTKjRgqzN3NYC+7BbPhX0nboS9D613wU5upf0ULiaParKsn0km+bTR3SV9v4wyFHlOZtsSXNfyAQ0fmYbFZQ14ollH6E/cE8/6TuKnLP3CzVe6zRJ52pYcrmgVVfu79gSKJ5MMgKiocscv4un7tDZGEqk7THuGcDIEaxAkiNf8PaUZ6eZbju3Hl/0jKGL/3cqbCs4X+kNNVbO47KIQffPxQMIiWeNQ3txCvckXwKE2W2vLHbo1qk9ifbiZ0YI0IWOZzyhNZMt2T9cmRA3x5vAh1gRq+secrTLLQI9YYuSfDnv3fRxu7lxzm+o1j9HJHI4cY9KF+eQi5HHG+J6NKI0uABAiX7nGB8H5hie4RKwULrW7XF7roiI8gwpLdaE9Jtpo1znEK27cDdQfFWf6sf7pzLpy14z044z2BeKfezpnD3oqA45IsfJ0ThEtXGMfElgNfh6dasNPRTzbjpsM98zIptliBnMFbMHZQhpSxMJdTsHt2dHXSgi9x1OxR+8dpsaVZ/iNHKoU1TbI2FnFsf9Cp7xNh4vONJJYy8CPKJEwSuZwb1SUeO47bi8Reh0AGPQcE7PGmVbXt2Kua7HCuvrxLstgO1KUn4XWpLSRZna1XIQa9/kkQaOMgkgtr1Bp9eV2AGEYdMEt5e44WbFBSFm0TqGASvUCRJYgMQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13024025)(13015025)(5005006)(13018025)(8121501046)(13017025)(13023025)(10201501046)(3002001)(6055026); SRVR:BN1PR03MB201; BCL:0; PCL:0; RULEID:(400006); SRVR:BN1PR03MB201; X-Microsoft-Exchange-Diagnostics: 1; BN1PR03MB201; 4:3nRDpEpGRzpGwVJbP76FFXrST1PRriLc4a/Z1OqNQB5AJKDiz1iLj6wPSgQkabdHwDhYb4iw0S3E47PO+XHfNSd6YjlGmYmd+e5QHzSURIPqk4ATPla3HCUi/gJfnV74Z4gPrbE7p6xxG5MizlcF2m8F3sxuygCAdQFXR8ow/jcgEkngxhZTToJxEXFmk9jpD8GWxEaoAp6UDDqbm6PKzkdX6DH8TgI0OFXKTr4vHCHRG0bTgkWLAWCRGf6hlz/TwL1ATt9fLjFvfKMK+BLtTXBTUClnWnGjLUz06vzf9Lzxrt7ldmo4mIVpszDFzRxhckVW+Ab+6Eyhuwy1NvjYv3Q2o29qQKhd+BB2qfT3iJbydGT35HUfWMms+rwFjxAJl4dmqLIyuQz1dpeymbd3l4k2c2faXvJJYyUmUMLXN8MMHTyUvTmY1jNqP5fX3z4WjgXatRQKF85JhmKO+snIRE0jGlB9g9FSj7JWWKdHIIqCR/pKv2VoIYiRCuxg722cbjuFr2Dhb/Lbr5AbPP7H/w== X-Forefront-PRVS: 095972DF2F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1PR03MB201; 23:m7Yky5mwGJubQwe5URd+kq3O7TRKvUJXWkozxnm1PT?= =?us-ascii?Q?CCI+I5Th2NcJPEfzsw/EGmck+IXV1JSszpkifjFxgGGnGiWxMDoo5EG5QnXY?= =?us-ascii?Q?4j4hIFsYEz3w/zLH83f4n9l2yQvWbUadtwkWm+0JHosRKo+9GFfREDme8hUo?= =?us-ascii?Q?Z/2luBc2LsBAY1p9R7TtdT3W48SWvXigpVVVWji0uzpasrLvqJz4n5NzltSt?= =?us-ascii?Q?ZxHBQB0evD/BqONFibdBQzmAZsn7BSCjr2hla9daWrWBWfiWJYJ2JZ2rYHJX?= =?us-ascii?Q?8b1XEFs6Z1IqUbbpaDFc+cPYZUmgoPhkMZ2hFGN/r1ilsVFKdetdeIOJWSDq?= =?us-ascii?Q?+SEe1n5Wo08KRppx98SpacmWYkV10L4mCl0klVZmUuurYLfa+uqm/9U3xDJm?= =?us-ascii?Q?4VCW/HEt/gaA74t+DiNlNLI+Wc0MA8d4kGvs5HL8LvXycq4CrdDC9oFa1exz?= =?us-ascii?Q?mNGv3zCCvcNG1bgVwSB+3xRFAHCBR3lHu72p0jIt3/to5oh4n7bLc9SpI5U3?= =?us-ascii?Q?pzlbJcIZv+bcGPaqM78HCIeJylMgqY5D11cqo+XvNG2xZzkvYC8WthMkQPKu?= =?us-ascii?Q?XGZJ09vE4y9ibBlBw0+U3ZUWvvwUVtohUtmBGzKPTpqTon3/U0FY+6Tr21CR?= =?us-ascii?Q?l53fUWEyHgokNZ+R0xpUKxIS6f7tRdGD+HaNTzHdad3rzzhjJoIzrA7+rrY4?= =?us-ascii?Q?95nYcZWYYYsbqUEidF2I5NscOykD7jyaTkElHKBKRQzcBhCt1xTa+ygPyOAk?= =?us-ascii?Q?iQeC9OLwpX8SL5JEpaA1DHbZhiS++kDbaBbfdQbof8NFBzyYR529FfYcfvHT?= =?us-ascii?Q?bexzVpr+zBq6o7t91Jh+RgugwWDYFoLj/hp4m8pL8SlIINxEO1kvBRMkuiNB?= =?us-ascii?Q?WczSTOVSvUJT/7e8GGhNzEBuSeqcQUS1MZ29BQLPjT+MCuoUPaiHdCFRREJ9?= =?us-ascii?Q?IZs6wX6xA3nW/ArPuJOND6Upg75NRI2B+/kMLjMisMukxPrlCnixa+bWTNJe?= =?us-ascii?Q?OeBn3cu63X4QgHfiYeeL58RzzobPGc7rmfyQrvBGk9D1UsPuOIedepXmmXd9?= =?us-ascii?Q?wWJugCZszXcdZNBsQAlPyG6saqy4TuFbRWJojFxgo8mljap67ztjORpAqqMr?= =?us-ascii?Q?ynEGo6T17VXhDVKirnAxq7WKmpF+g2SoE3t6k9rs+7DIKLpzjAi02+Rq7JBs?= =?us-ascii?Q?yOL3ABep9JlGye/ZAUvG9HMvaUEy+Q0fAe5HX0IGkG8JIZSusTKdQfjD+HHk?= =?us-ascii?Q?3wk5RN4RxyUPn/1Nk=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN1PR03MB201; 5:+ypGzgCHumTj1JIINS7IaQAGlVOsFhan0R4DlThD9RU2NBjXT63T6AE8uZ4sHd0AVlS9hDwxJIf1XzPihAMXnKf2dmeUta57gQ8jkkkxctHtFgSpgv9P/f8kD0rislzJ88ZStlOkYBZWmTCVH4fA9lU5lbpZMGdWxFjFydx3SUU=; 24:yaLIvshM9mu3JuvfUsKroVkK/13FSBy8MucfW1lt2x1FkzNscGn9Om226ypo6wgHI9yqPniAdYRfe4I0qdwhlUNis2lOdttHrt8pIKK7snE=; 7:R+1pf1kY6ZMyQhEYpwdO6wZYb2YwF2IwjGIf8tjDzCWSyiMHeWnPfvWQ2s/2G6mzYOULFRaVQPmZSb/QJs6F3poQwlvOis5NC4a0L2nJ12vJdJrvCdTiotjTb500Lmk1rkpU1gQbDS1Udh7lHkDz4FwB2EAdNGJIwsaUHB+urQEm14zn6w7XmjeD1GHQPVRf SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 May 2016 11:33:00.1891 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN1PR03MB201 Cc: marex@denx.de, felipe.balbi@linux.intel.com, michal.simek@xilinx.com, mingkai.hu@nxp.com, rajesh.bhagat@nxp.com, prabhakar@freescale.com, Rajat Srivastava Subject: [U-Boot] [PATCH 2/3] armv8/fsl-layerscape: add dwc3 gadget driver support X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 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" From: Rajesh Bhagat Implements the dwc3 gadget driver support for LS1043 platform, and performs below operations: 1. Enables snooping support for DWC3 controller. 2. Enables cache coherency in LS1043 platform. Signed-off-by: Rajat Srivastava Signed-off-by: Rajesh Bhagat Reviewed-by: Lukasz Majewski --- arch/arm/cpu/armv8/fsl-layerscape/soc.c | 87 +++++++++++++++++++++- .../include/asm/arch-fsl-layerscape/immap_lsch2.h | 6 ++ .../include/asm/arch-fsl-layerscape/sys_proto.h | 11 +++ drivers/usb/dwc3/core.c | 12 +++ 4 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 arch/arm/include/asm/arch-fsl-layerscape/sys_proto.h diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c b/arch/arm/cpu/armv8/fsl-layerscape/soc.c index 0fb5c7f..84b973d 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c @@ -17,6 +17,10 @@ #ifdef CONFIG_CHAIN_OF_TRUST #include #endif +#include +#include +#include + DECLARE_GLOBAL_DATA_PTR; @@ -318,9 +322,12 @@ void fsl_lsch2_early_init_f(void) #if defined(CONFIG_FSL_QSPI) && !defined(CONFIG_QSPI_BOOT) out_be32(&scfg->qspi_cfg, SCFG_QSPI_CLKSEL); #endif - /* Make SEC reads and writes snoopable */ + /* Make SEC and USB reads and writes snoopable */ setbits_be32(&scfg->snpcnfgcr, SCFG_SNPCNFGCR_SECRDSNP | - SCFG_SNPCNFGCR_SECWRSNP); + SCFG_SNPCNFGCR_SECWRSNP | SCFG_SNPCNFGCR_USB1RDSNP | + SCFG_SNPCNFGCR_USB1WRSNP | SCFG_SNPCNFGCR_USB2RDSNP | + SCFG_SNPCNFGCR_USB2WRSNP | SCFG_SNPCNFGCR_USB3RDSNP | + SCFG_SNPCNFGCR_USB3WRSNP); /* * Enable snoop requests and DVM message requests for @@ -336,6 +343,82 @@ void fsl_lsch2_early_init_f(void) } #endif +#ifdef CONFIG_USB_DWC3 + +#if defined(CONFIG_LS1043A) +static struct dwc3_device dwc3_device_data0 = { + .maximum_speed = USB_SPEED_HIGH, + .base = CONFIG_SYS_FSL_XHCI_USB1_ADDR, + .dr_mode = USB_DR_MODE_PERIPHERAL, + .index = 0, +}; + +static struct dwc3_device dwc3_device_data1 = { + .maximum_speed = USB_SPEED_HIGH, + .base = CONFIG_SYS_FSL_XHCI_USB2_ADDR, + .dr_mode = USB_DR_MODE_PERIPHERAL, + .index = 1, +}; + +static struct dwc3_device dwc3_device_data2 = { + .maximum_speed = USB_SPEED_HIGH, + .base = CONFIG_SYS_FSL_XHCI_USB3_ADDR, + .dr_mode = USB_DR_MODE_PERIPHERAL, + .index = 2, +}; + +int usb_gadget_handle_interrupts(int index) +{ + dwc3_uboot_handle_interrupt(index); + return 0; +} +#endif + +int board_usb_init(int index, enum usb_init_type init) +{ + switch (init) { + case USB_INIT_DEVICE: + switch (index) { +#if defined(CONFIG_LS1043A) + case 0: + dwc3_uboot_init(&dwc3_device_data0); + break; + + case 1: + dwc3_uboot_init(&dwc3_device_data1); + break; + case 2: + dwc3_uboot_init(&dwc3_device_data2); + break; +#endif + default: + printf("Invalid Controller Index\n"); + return -1; + } + break; + default: + break; + } + return 0; +} + +int board_usb_cleanup(int index, enum usb_init_type init) +{ + switch (init) { + case USB_INIT_DEVICE: +#if defined(CONFIG_LS1043A) + dwc3_uboot_exit(index); +#endif + break; + default: + break; + } + return 0; +} +#endif + + + #ifdef CONFIG_BOARD_LATE_INIT int board_late_init(void) { diff --git a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h index 57b99d4..13ba1a6 100644 --- a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h +++ b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h @@ -328,6 +328,12 @@ struct ccsr_gur { #define SCFG_SNPCNFGCR_SECRDSNP 0x80000000 #define SCFG_SNPCNFGCR_SECWRSNP 0x40000000 +#define SCFG_SNPCNFGCR_USB1RDSNP 0x00200000 +#define SCFG_SNPCNFGCR_USB1WRSNP 0x00100000 +#define SCFG_SNPCNFGCR_USB2RDSNP 0x00008000 +#define SCFG_SNPCNFGCR_USB2WRSNP 0x00010000 +#define SCFG_SNPCNFGCR_USB3RDSNP 0x00002000 +#define SCFG_SNPCNFGCR_USB3WRSNP 0x00004000 /* Supplemental Configuration Unit */ struct ccsr_scfg { diff --git a/arch/arm/include/asm/arch-fsl-layerscape/sys_proto.h b/arch/arm/include/asm/arch-fsl-layerscape/sys_proto.h new file mode 100644 index 0000000..252c676 --- /dev/null +++ b/arch/arm/include/asm/arch-fsl-layerscape/sys_proto.h @@ -0,0 +1,11 @@ +/* + * Copyright 2016 Freescale Semiconductor + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef _ASM_ARMV8_FSL_LAYERSCAPE_SYS_PROTO_H_ +#define _ASM_ARMV8_FSL_LAYERSCAPE_SYS_PROTO_H_ + + +#endif /* _ASM_ARMV8_FSL_LAYERSCAPE_SYS_PROTO_H_ */ diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index 85cc96a..5eeb71d 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -690,6 +690,18 @@ int dwc3_uboot_init(struct dwc3_device *dwc3_dev) return -ENOMEM; } +#if defined(CONFIG_LS1043A) + /* Change burst beat and outstanding pipelined transfers requests */ + dwc3_writel(dwc->regs, DWC3_GSBUSCFG0, + (dwc3_readl(dwc->regs, DWC3_GSBUSCFG0) & ~0xff) | 0xf); + dwc3_writel(dwc->regs, DWC3_GSBUSCFG1, + dwc3_readl(dwc->regs, DWC3_GSBUSCFG1) | 0xf00); + + /* Enable snooping */ + dwc3_writel(dwc->regs, DWC3_GSBUSCFG0, + dwc3_readl(dwc->regs, DWC3_GSBUSCFG0) | 0x22220000); +#endif + if (IS_ENABLED(CONFIG_USB_DWC3_HOST)) dwc->dr_mode = USB_DR_MODE_HOST; else if (IS_ENABLED(CONFIG_USB_DWC3_GADGET))