From patchwork Fri Aug 11 07:08:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ran Wang X-Patchwork-Id: 800444 X-Patchwork-Delegate: yorksun@freescale.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=) Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3xTGry3G2cz9t33 for ; Fri, 11 Aug 2017 17:31:14 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 3BBE6C21D83; Fri, 11 Aug 2017 07:28:30 +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=-1.0 required=5.0 tests=BAD_ENC_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS 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 B5087C21D70; Fri, 11 Aug 2017 07:26:46 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 02CF9C21D94; Fri, 11 Aug 2017 07:26:44 +0000 (UTC) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0076.outbound.protection.outlook.com [104.47.36.76]) by lists.denx.de (Postfix) with ESMTPS id 0EFDAC21D94 for ; Fri, 11 Aug 2017 07:26:26 +0000 (UTC) Received: from BN6PR03CA0012.namprd03.prod.outlook.com (10.168.230.150) by CO2PR03MB2261.namprd03.prod.outlook.com (10.166.92.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1320.16; Fri, 11 Aug 2017 07:26:24 +0000 Received: from BY2FFO11FD035.protection.gbl (2a01:111:f400:7c0c::180) by BN6PR03CA0012.outlook.office365.com (2603:10b6:404:23::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1341.17 via Frontend Transport; Fri, 11 Aug 2017 07:26:23 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BY2FFO11FD035.mail.protection.outlook.com (10.1.14.220) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1304.16 via Frontend Transport; Fri, 11 Aug 2017 07:26:23 +0000 Received: from titan.ap.freescale.net ([10.192.208.233]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id v7B7Q7RY017559; Fri, 11 Aug 2017 00:26:19 -0700 From: Ran Wang To: open list , Albert Aribaud , York Sun , Suresh Gupta , Sriram Dash Date: Fri, 11 Aug 2017 15:08:05 +0800 Message-ID: <1502435289-39000-4-git-send-email-ran.wang_1@nxp.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1502435289-39000-1-git-send-email-ran.wang_1@nxp.com> References: <1502435289-39000-1-git-send-email-ran.wang_1@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131469099835589824; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(39380400002)(39860400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(50226002)(86362001)(47776003)(76176999)(626005)(305945005)(5003940100001)(50986999)(53936002)(106466001)(105606002)(2906002)(36756003)(50466002)(69596002)(5660300001)(81156014)(104016004)(33646002)(356003)(8936002)(575784001)(48376002)(2950100002)(85426001)(7416002)(498600001)(6666003)(6636002)(8656003)(81166006)(8676002)(77096006)(54906002)(4326008)(68736007)(97736004)(189998001); DIR:OUT; SFP:1101; SCL:1; SRVR:CO2PR03MB2261; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2FFO11FD035; 1:dvWmMo5Y/2UaNqIvNJO543Tl/phEZj62pH+1GL3YHU?= =?us-ascii?Q?OqgYuIoJsZJ77g2ASNgu4zUTZATf1ajjQek/mVRzzLOJxtObZ3/pQnh90Z06?= =?us-ascii?Q?P+8bqedvbKCobplAUd+HVVU7gPJ1QCEsnoD2TQl5IZDMYObJVo/cm3lCh+qm?= =?us-ascii?Q?hNKnTILK02nBUxwOoxujwGwaUZRigXOxNE2+ueu28tMEvot6oKqc/kPMYsE0?= =?us-ascii?Q?k6bBykMgs4oEMTvJJcYRCARzfWrQBtzt3TE2Igomeqlg8iRb8n19yXgCOgpi?= =?us-ascii?Q?/U7xcZXV2M5taeMGxiaIGiKnvN/OnFUbOFgeKcy9o50synKLFFrk1pBZ1wt2?= =?us-ascii?Q?rlzPsbB31LU5bePxm7aBInVwkb8ZcNbffcz+gtBwQKHTH7/5pWuNsbUgvTJ7?= =?us-ascii?Q?CQuLpFJ+dtYrGNMMIQyFmcwwmTfmfTmyI1zP7WZk9wRjyPLcPC8fcPZki3cl?= =?us-ascii?Q?QzBym/tCoi/HRFRuaQ4dS7Nia7bThJIk8xXnl6Qp/R+ph1qYBgMuxP8RqQEr?= =?us-ascii?Q?E/d0q1/9P8xpw510OrPn8j0IhKdvRjMaiMSU4sVNT1wC1yr/zcKjf/W11bTF?= =?us-ascii?Q?tdPbcigu6iLTH6uxrj5F1nocZnBn0DGh1L7i2iuhfVyBuAE0AEh6J7Hve67n?= =?us-ascii?Q?cvxiIFCFMFdb6wMADOfKaXxSNwTzliluXdCjIC4JSSO8kKBYbZbigt5clS+B?= =?us-ascii?Q?eWyt+a4pa55oPbx7k6kyicpnYUgpJrLyvcc2lAezSYaz3027nPDJxLi8h9K4?= =?us-ascii?Q?Kx10BGXDtCCO/X5zBOMhP2aPRlDhW4vZC+WRu7yhOdssPHHAHfHNzK3AXaau?= =?us-ascii?Q?wKdKrb+pYc0Yw+TB2aGMg3Hoyeh42Nqg1qnDVeKVQI8lAFURQw8+iusmQn0c?= =?us-ascii?Q?9hZYQD6U0otfQRSWNow/Sf50fwRp7jCVRrxJ5IrLZrqWfJuI30KkFKOqh8Fo?= =?us-ascii?Q?6T0UTVToqlYbDyXYn2OLfY8M2XmiwPrYcrFYXOZg=3D=3D?= MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 07a67f20-5962-4da1-a35f-08d4e08a4518 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(2017052603031)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:CO2PR03MB2261; X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2261; 3:OmFnyK8smL2ynOsENUNufLll+jVnFxItICxbk/ceK7iY2RYKuZz0lxEaNqoTJd+Wj+A2hb59EYTVh38x+6uD1ehfRekZzDizNGjVfa0pGdXUv8rOi6KmoeSI/DWaD/NmpwezbB74lVzHdf1JkYGiB5eF8G4fDdhi7HjYtVoZ5XDABM1gsob+gC/X6lUP7/Kk3JtniWQFPCaZf2rXNreIyvCFsCMLr4vwEtfXFtcdKYqsmaZHJOWF1j2Vt0WRmDLOfU8KcQZ38MYCkyAGsN/aGFC7Pp9ldf/Bwvj/Ol2UGf+QXg/CegV+XxrVpJoMmntApEQQBo84IQG6WARtEGna7A==; 25:12hxc5fh6OJ+Bi/bMolDPVTLVlI58MJlw3rJyafjaUhiE2TEV7iYjJqDcGkhTEQRtpV2MG6k6JsabXVXBJrbtSXmIGJnafpp8FfnPa+t5nws/aHnyw4e319e2l6g/FiULPDxN0s6q0LcxuuZkSHRuvzdnrCvSxA3Zoitx9hNFRSbrZDgZq5e/FGS0cdVesYo/G3YiNqNS1HVLLI76E+NvPO+yYcL/j4YJyR8cGFNEJ9DLyAvVUW5W6YKeCcePWYgJgRdEsWzak+/1QNTizS87QL0wfmnbvsKaAtlHsixgOVDZIlHRGwumG85G5ACOIWhdfthTOxrvQ0/ES3o+a/ipA==; 31:/OZEkEZ0Dgipj58BYuWUMk/SwMni8ncA+t4qkWwR9M+tScXieYYmLXN5Ug7n+BfIP4kxS7x12IYgG7da5LPkftwqMYpD8NESvqZvLU0TuVo9sLW2Ncinm/CycVqx2hmMQgpcbu0nRQv7RR2PgGXDE0Sv2iIiQa7MybUFRQraWD5OqFEwvvPXymsjJab5r6w22kzoreYB3VkI8jd2k7PH18XPZ8VqP/dssnc3XBmPx7Y= X-MS-TrafficTypeDiagnostic: CO2PR03MB2261: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(5005006)(13018025)(8121501046)(13016025)(100000703101)(100105400095)(10201501046)(3002001)(93006095)(93001095)(6055026)(6096035)(20161123565025)(20161123561025)(201703131430075)(201703131441075)(201703131448075)(201703131433075)(201703161259150)(20161123563025)(20161123556025)(20161123559100)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CO2PR03MB2261; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CO2PR03MB2261; X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2261; 4:Oy7vWZiuxkhRfb3cEXymttihpfOYIcvuSC4n6Oh0FZ1zzfOwU6AVuqXjReEFC8kybXXUvohojYA4S+E3sEQnbaRwVg4DVPl3dwBHCRJXssGqJj+OMcjXxHyBNDeDaHzwcVwt7sVrCwB0h/4FdsKsO62+cSmrGSTIujvFI7Kj3HzZutwuo6fwpMmv7Jxv31dQarwM0qZbly6QwNdGvWR7tWG/0BYKba7mhkJ9/cvaAJFGJUxinSskS8SNaypYRRFruBbnC6dIhcliuNtEe2XP2wNAMNZWSzLhTXiF+AKrSAs= X-Forefront-PRVS: 03965EFC76 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CO2PR03MB2261; 23:BA8keKp5i/M8lWvMMUmiDrzifCa0hFNp2ufYcBapH?= =?us-ascii?Q?BT8OVdymQEtpDoxlZk4ITFkzw5vMbSvFu0AT8qYREaMRwmSdXBwDwrXsTnwt?= =?us-ascii?Q?WMUIXpIFBM4qtnpt6CR1W6WQrrMzZDezO97TXHlXJ5Qqa3kmNhIvCrqsYd6X?= =?us-ascii?Q?kMmhaJ8WYyTz1tC4xhUAtOBJmxTINxX7lYRoitHIqijm55Ne82W08yTpkHdo?= =?us-ascii?Q?dKUlkFMt6pDQ3P+/msOfMZdFOLt6HqBDhyEp2L5VClSM59W48jtUMz66a2ng?= =?us-ascii?Q?9Am+PXMqQyMZy8Ze9ZTSVkVMyiObxWbZIS19xWqV/dcUzM+odihVfSkaMv/g?= =?us-ascii?Q?e1vuoSeHoN6cF2JI9w5h4f7EZ1XpHxP003KFutx87Dkk9SZrsUQjRClk4ntK?= =?us-ascii?Q?dVf59sA4jZZb4Y5Sbuy91Uj4vXDoOvB07uBc357/rSy1k74PNX7BPd1phoeg?= =?us-ascii?Q?qSC+TyT/u+sbJ5YeIETJKs71/reQJdO6O07wBMsKqoiOoCWD3Th7uDWmPCVp?= =?us-ascii?Q?mUBv7ltOOpyRsi7NgnGHE7JJgD1sRstXE5J6Ski3G1FU02eJ36m3F5uc3VDu?= =?us-ascii?Q?50juLAJjle46QFzQTlOHoUlhbt44ZcAydBR2CW8pnsXHKOZEapTFKSEcMrHx?= =?us-ascii?Q?k98O8Fv3tArKToLJ7283m+/hZdZA38KH2AX3C4PSzOejhVMeIk7cP8QzBtdl?= =?us-ascii?Q?VHRGYLWRaBBBPLQNHB81ir7Wm0LQNDeH4thxv4EzSMq41cZUko7IdvXYgI+B?= =?us-ascii?Q?a7kSKxWfbDjVeTEeXEEXePattsIPSD2cRxJ2CA3d6NZ9w9xIxqY/hN+Xkt04?= =?us-ascii?Q?/YqLeEmwz1cAga06aaOzgNeIP7CI2t2tQKNe7tLtlRVZHm66kfQZ/7Etc2XI?= =?us-ascii?Q?bNiI/RKMBnQontxMZq4zxsOmcxZK7J2l3cLsQRfHbwfxT+qwAEiwk0Q+3gUq?= =?us-ascii?Q?u08tTMIX4ZYqHux37uNrm7WZCuWqGwOtjapHAKkvouTLMCBh6MGFMS5rJAlu?= =?us-ascii?Q?bF0bAAHy2DfhbsbnRskHxP9QvGHmsTwx/Pd9xQuuQ2V/7UVRX5quw6ln5fFL?= =?us-ascii?Q?i2B0lh60v0a1BxsscwMG1zwPwcOj1OyUJfrT57NeRhFcpKwfzpkiR4Hq1U1P?= =?us-ascii?Q?2fEb25cJCjujl2mIKYC87adSm1p5CSGlAH0PPaJconWrn2Rmu4xZQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CO2PR03MB2261; 6:Z0T9p/AS6hgwVW3UQEs22IVMJWMpW/p1+yn/o0I4Wd/rTMG2IFSUlfYlBvQYqjZgUZTrVR6uEW31LlgX/LKV2WlrGBrIVAUjTCdizu0WRo4LbR2+1CVXUJbPObdmgGVK65zHjmd8jWtttR+bfNnPCaWsJnq+liWNqUjDqI9br6fAFgM46Chg0GNCPVkK+83UulavzjdU22pbZzmZhuc52d7RJAHPq7n6pY/txef/UNY9lhQUV/UXOYSNkludrxdyi6QyoIzAVc9mV2lrf3+yBPbW+sa/WO3Jvd3V+HFI/snB/7d9m918uxted5ICS5/VerPdzFzIVpYpa5/+7xP9AA==; 5:/+mBjLxoQrSmzcJxqfsMxuRargw9vx7jPpBOSloVuLXeKX140Nfb2SzNSlUAskq2qfe7oo4C6obNdG1GKzUhPRo4fCLq2RsWcTrYr1LK9bKHxSU+AYpUTTTUWNTxCSIu8+NIeoc/5qYBeCTC2EB4zA==; 24:ZEzF8HM8gdWRkXavfF879i0RYSKH9SESnHlRv53cTL+kNHaY/TJHBuGiwKjT7yS98/QxpnzxbuZmTHdBEoJ+8+Vm3tMO8OzdfMbeEGdlsHs=; 7:Pgjec5I5sJGP2hvhYGE8+kJNziFjzsUkH65D551wj8TYa2BzuAQ0ioHmWg7BtAQ8u+sz1aeIv6l7tWt5Kc+xZSTOSQlZjV5qiENmjSGC6J8/H2jRD1cp7G8LGmoRKVxGVV+xCVC/Yh0C8hDHfBgn6wVSU5gx3a+r2CbscNQvu8UweEGwrFTWfnMfLTVtvhg8ljTxb/867QGjDFp/dP4/f0fjPMj42gYdllzggSQSa44= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2017 07:26:23.3249 (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: CO2PR03MB2261 Cc: Priyanka Jain , ran.wang_1@nxp.com Subject: [U-Boot] [PATCH v2 4/8] armv8: Add workaround for USB erratum A-009007 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" Rx Compliance tests may fail intermittently at high jitter frequencies using default register values. Changes identified in setup makes the Rx compliance test pass. Signed-off-by: Sriram Dash Signed-off-by: Rajesh Bhagat Signed-off-by: Suresh Gupta Signed-off-by: Ran Wang --- Change in v2: In function erratum_a009007(): 1.Put a blank line after variable declaration. 2.Create a mcro to run for each USB for easier to read and maintain. arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 12 ++++++- arch/arm/cpu/armv8/fsl-layerscape/soc.c | 40 ++++++++++++++++++++++ .../include/asm/arch-fsl-layerscape/immap_lsch2.h | 8 +++++ .../include/asm/arch-fsl-layerscape/immap_lsch3.h | 9 +++++ 4 files changed, 68 insertions(+), 1 deletion(-) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig index a2de86b..1744ed9 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig @@ -25,6 +25,7 @@ config ARCH_LS1043A select SYS_FSL_ERRATUM_A009008 select SYS_FSL_ERRATUM_A009798 select SYS_FSL_ERRATUM_A008997 + select SYS_FSL_ERRATUM_A009007 select SYS_FSL_HAS_DDR3 select SYS_FSL_HAS_DDR4 select ARCH_EARLY_INIT_R @@ -49,6 +50,7 @@ config ARCH_LS1046A select SYS_FSL_ERRATUM_A009008 select SYS_FSL_ERRATUM_A009798 select SYS_FSL_ERRATUM_A008997 + select SYS_FSL_ERRATUM_A009007 select SYS_FSL_HAS_DDR4 select SYS_FSL_SRDS_2 select ARCH_EARLY_INIT_R @@ -88,6 +90,7 @@ config ARCH_LS2080A select SYS_FSL_ERRATUM_A009008 select SYS_FSL_ERRATUM_A009798 select SYS_FSL_ERRATUM_A008997 + select SYS_FSL_ERRATUM_A009007 select ARCH_EARLY_INIT_R select BOARD_EARLY_INIT_F @@ -238,7 +241,14 @@ config SYS_FSL_ERRATUM_A009798 bool "Workaround for USB PHY erratum A009798" config SYS_FSL_ERRATUM_A008997 - bool "Workaround for USB PHY erratum A008997" + bool + help + Workaround for USB PHY erratum A008997 + +config SYS_FSL_ERRATUM_A009007 + bool + help + Workaround for USB PHY erratum A009007 config MAX_CPUS int "Maximum number of CPUs permitted for Layerscape" diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c b/arch/arm/cpu/armv8/fsl-layerscape/soc.c index 460e589..d01e665 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c @@ -118,6 +118,44 @@ static void erratum_a008997(void) #endif /* CONFIG_SYS_FSL_ERRATUM_A008997 */ } +#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) + +#define PROGRAM_USB_PHY_RX_OVRD_IN_HI(phy) \ + out_be16((phy) + USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_1); \ + out_be16((phy) + USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_2); \ + out_be16((phy) + USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_3); \ + out_be16((phy) + USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_4) + +#elif defined(CONFIG_ARCH_LS2080A) + +#define PROGRAM_USB_PHY_RX_OVRD_IN_HI(phy) \ + out_le16((phy) + DCSR_USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_1); \ + out_le16((phy) + DCSR_USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_2); \ + out_le16((phy) + DCSR_USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_3); \ + out_le16((phy) + DCSR_USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_4) + +#endif + +static void erratum_a009007(void) +{ +#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) + void __iomem *usb_phy = (void __iomem *)USB_PHY1; + + PROGRAM_USB_PHY_RX_OVRD_IN_HI(usb_phy); + + usb_phy = (void __iomem *)USB_PHY2; + PROGRAM_USB_PHY_RX_OVRD_IN_HI(usb_phy); + + usb_phy = (void __iomem *)USB_PHY3; + PROGRAM_USB_PHY_RX_OVRD_IN_HI(usb_phy); +#elif defined(CONFIG_ARCH_LS2080A) + void __iomem *dcsr = (void __iomem *)DCSR_BASE; + + PROGRAM_USB_PHY_RX_OVRD_IN_HI(dcsr + DCSR_USB_PHY1); + PROGRAM_USB_PHY_RX_OVRD_IN_HI(dcsr + DCSR_USB_PHY2); +#endif /* CONFIG_SYS_FSL_ERRATUM_A009007 */ +} + #if defined(CONFIG_FSL_LSCH3) /* * This erratum requires setting a value to eddrtqcr1 to @@ -267,6 +305,7 @@ void fsl_lsch3_early_init_f(void) erratum_a009008(); erratum_a009798(); erratum_a008997(); + erratum_a009007(); #ifdef CONFIG_CHAIN_OF_TRUST /* In case of Secure Boot, the IBR configures the SMMU * to allow only Secure transactions. @@ -545,6 +584,7 @@ void fsl_lsch2_early_init_f(void) erratum_a009008(); erratum_a009798(); erratum_a008997(); + erratum_a009007(); } #endif 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 2e52078..69fd79c 100644 --- a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h +++ b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h @@ -347,6 +347,14 @@ struct ccsr_gur { #define USB_TXVREFTUNE 0x9 #define USB_SQRXTUNE 0xFC7FFFFF #define USB_PCSTXSWINGFULL 0x47 +#define USB_PHY1 0x084F0000 +#define USB_PHY2 0x08500000 +#define USB_PHY3 0x08510000 +#define USB_PHY_RX_OVRD_IN_HI 0x200c +#define USB_PHY_RX_EQ_VAL_1 0x0000 +#define USB_PHY_RX_EQ_VAL_2 0x0080 +#define USB_PHY_RX_EQ_VAL_3 0x0380 +#define USB_PHY_RX_EQ_VAL_4 0x0b80 #define SCFG_SNPCNFGCR_SECRDSNP 0x80000000 #define SCFG_SNPCNFGCR_SECWRSNP 0x40000000 diff --git a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h index 2d309d5..238d647 100644 --- a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h +++ b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h @@ -137,6 +137,15 @@ #define USB_SQRXTUNE 0xFC7FFFFF #define SCFG_QSPICLKCTLR 0x10 +#define DCSR_BASE 0x700000000ULL +#define DCSR_USB_PHY1 0x4600000 +#define DCSR_USB_PHY2 0x4610000 +#define DCSR_USB_PHY_RX_OVRD_IN_HI 0x200C +#define USB_PHY_RX_EQ_VAL_1 0x0000 +#define USB_PHY_RX_EQ_VAL_2 0x0080 +#define USB_PHY_RX_EQ_VAL_3 0x0380 +#define USB_PHY_RX_EQ_VAL_4 0x0b80 + #define TP_ITYP_AV 0x00000001 /* Initiator available */ #define TP_ITYP_TYPE(x) (((x) & 0x6) >> 1) /* Initiator Type */ #define TP_ITYP_TYPE_ARM 0x0