From patchwork Mon Nov 13 08:14:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ran Wang X-Patchwork-Id: 837389 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 3yb3nh6J69z9sNw for ; Mon, 13 Nov 2017 19:33:43 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id 352E8C21EA6; Mon, 13 Nov 2017 08:33:33 +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=BAD_ENC_HEADER, RCVD_IN_MSPIKE_H3, 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 C5198C21D64; Mon, 13 Nov 2017 08:33:30 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 6C9A5C21C4E; Mon, 13 Nov 2017 08:33:28 +0000 (UTC) Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0045.outbound.protection.outlook.com [104.47.32.45]) by lists.denx.de (Postfix) with ESMTPS id B55B8C21D64 for ; Mon, 13 Nov 2017 08:33:27 +0000 (UTC) Received: from CY1PR03CA0022.namprd03.prod.outlook.com (10.174.128.32) by CY4PR03MB2693.namprd03.prod.outlook.com (10.173.43.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.218.12; Mon, 13 Nov 2017 08:33:25 +0000 Received: from BL2FFO11FD027.protection.gbl (2a01:111:f400:7c09::133) by CY1PR03CA0022.outlook.office365.com (2603:10b6:600::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.218.12 via Frontend Transport; Mon, 13 Nov 2017 08:33:25 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) 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.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BL2FFO11FD027.mail.protection.outlook.com (10.173.161.106) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.197.9 via Frontend Transport; Mon, 13 Nov 2017 08:33:25 +0000 Received: from titan.ap.freescale.net ([10.192.208.233]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id vAD8XLXs031402; Mon, 13 Nov 2017 01:33:22 -0700 From: Ran Wang To: Albert Aribaud , York Sun Date: Mon, 13 Nov 2017 16:14:48 +0800 Message-ID: <20171113081448.19793-1-ran.wang_1@nxp.com> X-Mailer: git-send-email 2.14.1 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131550356054646448; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(39860400002)(39380400002)(376002)(346002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(189998001)(16586007)(2906002)(33646002)(77096006)(105606002)(575784001)(86362001)(106466001)(1076002)(36756003)(5660300001)(53936002)(8936002)(8656006)(50466002)(316002)(110136005)(97736004)(6636002)(4326008)(6666003)(498600001)(48376002)(104016004)(54906003)(50986999)(356003)(8676002)(50226002)(305945005)(85426001)(81156014)(81166006)(47776003)(5003940100001)(68736007); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR03MB2693; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD027; 1:rdgPJeuho+FS/7hnTGXjrO/X4eyvYetGeeT5MjEIxyoq62plh+Z5bDjeDA0Jtxll7Jq4MdHrdTLscxBcwCYFFqoyri+jrZp1rprZnAtZ+r4kH4Ah4oJUP3cEoWOidG3u MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b948b5ed-6de0-4601-3d51-08d52a71352b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4628075)(201703131517081)(2017052603199); SRVR:CY4PR03MB2693; X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2693; 3:zO0kvzmNRv2bKJXR09ghvBbDt9efFJmKu0qHsfRJABmaZLcMKjaOCXzM0OpKKHG+hftRma5XR495m9YmkJqquKAPtFECbW9Mfjpkjyf+X0WjI/KVK1xgAiYBZpkbaihusIia1y/2ywL6N0N/ItUefaHVf69wsf053BFmXe0JOb1U85H34CrqHCA3FW1pDZYWdkP2GySaTPojf1g3ZcBVdYHNmH7NRI0KkX4o1BKxmXP9AUTkRLCBce7LkR+fz5SxiUMtW5LnKJWwxpWLzqlNtJxic+jnIuDFnqGPUW2NgcSMeTzlakg2DOpQk9ihjsTKDimSLUtHSs5o4DZUS/Xjcu2xaLgkWg7MTDmNIajESUY=; 25:R9lC07P0hmzFWGw37hJ2hcaqVzoRVaXnCcLa3hI9SyIb+v6/VQmquvpSUc9AnFIk9vhk7xxgdhJmjf8dQjU1w9O0thJlG61cQptf6jiIz+9XNsFuStDYvoWWTxoucFuwLKka+mpaIDa+cNwWcxo/+9otmIkJLZy3NP4V6RAfqheMZGg8qMEaLpe2jSEoOcDKDo7donkHCB8MlK56EksN3MRXJ9dYBHxTfCA133FI4iBSYj894OKrnUhllCtjhvYTSEaUVSH1Sr9IsQhRm8yiGWaugxl/sbHvMuQXfIHbUAv2/xvQV8eGzfa5qd0Jn3C09PFdpGUWPlfO1AtqQLAfHw== X-MS-TrafficTypeDiagnostic: CY4PR03MB2693: X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2693; 31:cLAMN8/garT89pkT5RK8FYiF7FJ+yWzsQpoIbfOoK5TK0rSPR/VvQpjr7Vge+hdfU/NXrZX7WBeNCGvfGEL9L0OLeNBIX0bYaRb3o9cxU12PQnfnJYkd0IGsomVGvjcXOgUxDlrT4CQo/4wIz8n/MwjVuH9rT6qcgwpNg5RO6rhBWidzVJ/bbnCVG/h+ZnmRDsNBOikjkZUFmxOQuC6azCxrvInpGYp2ho+yOulpyok=; 4:ZBx3D8Kh51fPDyQ4CZ0gRxM+P9p88qPA3Z+fgFwGBSQLM6w3z+VmOa1+T3VE6AmXUcRzi+3KUt5F3jL18z6Lev2vAloT9PIPjCHxsoLH7fsfkvMaeksRxkfalENtiXhqQCs6qYLunUeikoE+2YiS9RsoG7Hk/wU6TL3M+7iuhbJA767mh7+nquVe9pQTq1y8THER1ou/3+CzhK/jTg9BD3kovTmfLLenfnPyjYtDuAiimQOsojeZXqJqDi70XbNL02SQ60XF7+BlqPbH2lzAX2Xc6TEFdr9SWhRRSQg0bHIkGmRg6UtW9/S8yq15R9N5 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(2401047)(8121501046)(5005006)(10201501046)(3231022)(93006095)(93001095)(3002001)(100000703101)(100105400095)(6055026)(6096035)(20161123559100)(20161123556025)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(20161123563025)(20161123561025)(20161123565025)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY4PR03MB2693; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY4PR03MB2693; X-Forefront-PRVS: 0490BBA1F0 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR03MB2693; 23:iyEKIgpS7D078u+ajjE9C9m3Q+9Ep2NReEKaK4sTt?= UGd7IksEHLIkDqTdkvMWL4TxsOCdND2JupohgXGmcUJoZHV78qyaLee7wzdIbtyXqRIpF3jS6DEde/QplZekZJ4FMhO7OTNFX2Ne2eJvk5saSBTQn+gqaN2uBoWqw709G0RTntYTfaUS0dq4sXj07Ko11zxppk60vk4IRlVvNBkSHUUJXHR7jxi2oXzh2mff1BR1bzkSOwdGoqV1aYsNhP90jY8G52ipmEpFTd0TBzzohz+kbC40kUCJWeduzhA9Y/eeTiNtbbshCZLvWfrEALvx37UNfBNzOVk2Y0SrxDx/dKzVUxXVB3hRLaNASsbAebcTSINSIp1OX0iC8K61oJw11u8mDH/1eYjTI2eG8+nzzEue71ISYvKj/Y4mM/aDuF6GysUn9Qb3pJf8tlr34rVcvdAYPacdrPU5IVlf8XHD17dloakczHS4UWYHte0ZW+2WW1bw6zs6iTHoYsTiv+Hcut6rGA1h50G2ve7V4NQZTeChBlcHq0l3N6zliX9BBskhUvBNAToGYqpDt53Upge2Ir9kI8ihZ759n6tC+x9YepkDN3A2WrPBEI1eIgCp8rR2ufEdZ8+aCS2vrE5OmeEHrCNRbguwv+05lsOyZcM79It4ZjCmdQ0YywtwwT5Tiqe9EDRyYY8qzl71edfbk1mgcLDV1q0KHbfUOx905zQiqlWS7UNmezqG89E6ztnZ5NzfiWiBD6WhoLBO3XtGxffWX9Z/nyoNinv63DTN1xDM5dDohuCtgxMbs8UQjS+bBKyWu2KPSbO/ePFKjSvAxW3+g5aJVP86DgUh+IhSM24lcdjHIR8WnWOQ6UP6rlrsrNL6YbD4A0vBsp+fJy+voww3d6HOg5BG/yc/9a7YWmA5Eo/s2Rwyhw3bQ31S5TZnSpt1G7V8Pv4ApQppB9Mh289FmEkdhMoHmzPuhrEzzE1qOmxuCSep0o3IPhw08xDmkFhjGoxxYtH6+25HbcHAmUFZsBwQBZ3HXxrhkTmJdQ8TQrH7Oh+JjTq49lOStwKbwe0dXE10Z3Ti75bHQ8qOl13ZaDitTER3CXwzJw05D2QinX4oxMkgsSUxVpsUrq4c+87jiVTlylyktrf88nJ/2XqBT5tX5AYxtgnAledYyqVtw== X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB2693; 6:03al75TkGIdTsh0mdurvmX3dt3N1L3Ruqm8eFZ5bo0RQ2DAvRo4gms+8SRuAE3Yg8ZY5JwuIr/K3A3vAQMwJs/DS9tGmBr6O1zqKETzUwRGMwF1CuM/X8EPovBBE4dCiYm1f5Pq1MVzMn/gnicGMHFwqsFgD/jWRD+7LeMupvg++EjebTY9RQf245VSXB+SStC1aASj2DM8uut5kDPu9zIjZ88nNBrZQfYLUKinCJSGEOq8MiA35fuMNRDI5Q6d8nu2oyZcnRd1Oq+HE2PLNONcoCQEL9A2HFEguzkGfHvP9KGR73G0rN+PJqdyrsdUcVnVcXIjoOkcGcz5Z3VSeKMCUYLWIHsVjhzVVgm5yUok=; 5:zZyyeRe9PE0WFKzYSepvckmBin0JjSA8asSa3/9pvBNC6Ar3LtP0gX2U8lBL/AAAQZ+9jYpxJFIYyL1SXwx0mWv7fhW+F5xoq+PA/8BO4ecBnIyY4Eqvfs6d4bkIu6jWNdbKOcZHxS+vsvkzVzaAhGuK/FOIO+syylV9S+ylBGc=; 24:wVQY0XW4Wq7wbBIGHGXl9WSWptzX15AoLt7XVxDEYLi+IUE7etgRJMoKeGMl2vM8UGPUkOajawP/U5l7nI/+oIoX44HFyRcbcHvOg6M7eYg=; 7:XL8YdcF+hOKx8V1JDJKM7lL5TYWQckIiKrcKhml67wGzJ4HFH0VdCjm5gwSwZYFuASVjm+/3pR42800JWM/fDTmy08ij94eyAyTo2m74tLIG8mGsqQ/oZy5+JMxCLYIxlc21/rWBnX+zaH77SuZkm8dY4q2EEz3NYy81+jK124rvjIYY2F651tIO0wdftKzvA7HO+YYUIAC6wm2UkhaPwVznnpZpVmkoI1KZZCU6krdqDu85fslG15wNGbbirjxP SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2017 08:33:25.2774 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b948b5ed-6de0-4601-3d51-08d52a71352b X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR03MB2693 Cc: u-boot@lists.denx.de, Ran Wang Subject: [U-Boot] [PATCH] armv8: Workaround for USB erratua on LS1012A 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" This is suplement for patch which handle below errata: A-009007, A-009008, A-008997, A-009798 Signed-off-by: Ran Wang --- arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 4 ++++ arch/arm/cpu/armv8/fsl-layerscape/soc.c | 27 ++++++++++++++++++++------- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig index 8bbc981d43..d2afdb3afa 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig @@ -5,6 +5,10 @@ config ARCH_LS1012A select SYS_FSL_DDR_BE select SYS_FSL_MMDC select SYS_FSL_ERRATUM_A010315 + select SYS_FSL_ERRATUM_A009798 + select SYS_FSL_ERRATUM_A008997 + select SYS_FSL_ERRATUM_A009007 + select SYS_FSL_ERRATUM_A009008 select ARCH_EARLY_INIT_R select BOARD_EARLY_INIT_F diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c b/arch/arm/cpu/armv8/fsl-layerscape/soc.c index 497a4b541d..ae57c0e31d 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c @@ -66,10 +66,13 @@ static void erratum_a009008(void) #ifdef CONFIG_SYS_FSL_ERRATUM_A009008 u32 __iomem *scfg = (u32 __iomem *)SCFG_BASE; -#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) +#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) || \ + defined(CONFIG_ARCH_LS1012A) set_usb_txvreftune(scfg, SCFG_USB3PRM1CR_USB1); +#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) set_usb_txvreftune(scfg, SCFG_USB3PRM1CR_USB2); set_usb_txvreftune(scfg, SCFG_USB3PRM1CR_USB3); +#endif #elif defined(CONFIG_ARCH_LS2080A) set_usb_txvreftune(scfg, SCFG_USB3PRM1CR); #endif @@ -87,17 +90,21 @@ static void erratum_a009798(void) #ifdef CONFIG_SYS_FSL_ERRATUM_A009798 u32 __iomem *scfg = (u32 __iomem *)SCFG_BASE; -#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) +#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) || \ + defined(CONFIG_ARCH_LS1012A) set_usb_sqrxtune(scfg, SCFG_USB3PRM1CR_USB1); +#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) set_usb_sqrxtune(scfg, SCFG_USB3PRM1CR_USB2); set_usb_sqrxtune(scfg, SCFG_USB3PRM1CR_USB3); +#endif #elif defined(CONFIG_ARCH_LS2080A) set_usb_sqrxtune(scfg, SCFG_USB3PRM1CR); #endif #endif /* CONFIG_SYS_FSL_ERRATUM_A009798 */ } -#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) +#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) || \ + defined(CONFIG_ARCH_LS1012A) static inline void set_usb_pcstxswingfull(u32 __iomem *scfg, u32 offset) { scfg_clrsetbits32(scfg + offset / 4, @@ -109,17 +116,21 @@ static inline void set_usb_pcstxswingfull(u32 __iomem *scfg, u32 offset) static void erratum_a008997(void) { #ifdef CONFIG_SYS_FSL_ERRATUM_A008997 -#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) +#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) || \ + defined(CONFIG_ARCH_LS1012A) u32 __iomem *scfg = (u32 __iomem *)SCFG_BASE; set_usb_pcstxswingfull(scfg, SCFG_USB3PRM2CR_USB1); +#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) set_usb_pcstxswingfull(scfg, SCFG_USB3PRM2CR_USB2); set_usb_pcstxswingfull(scfg, SCFG_USB3PRM2CR_USB3); #endif +#endif #endif /* CONFIG_SYS_FSL_ERRATUM_A008997 */ } -#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) +#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) || \ + defined(CONFIG_ARCH_LS1012A) #define PROGRAM_USB_PHY_RX_OVRD_IN_HI(phy) \ out_be16((phy) + SCFG_USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_1); \ @@ -139,16 +150,18 @@ static void erratum_a008997(void) static void erratum_a009007(void) { -#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) +#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) || \ + defined(CONFIG_ARCH_LS1012A) void __iomem *usb_phy = (void __iomem *)SCFG_USB_PHY1; PROGRAM_USB_PHY_RX_OVRD_IN_HI(usb_phy); - +#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) usb_phy = (void __iomem *)SCFG_USB_PHY2; PROGRAM_USB_PHY_RX_OVRD_IN_HI(usb_phy); usb_phy = (void __iomem *)SCFG_USB_PHY3; PROGRAM_USB_PHY_RX_OVRD_IN_HI(usb_phy); +#endif #elif defined(CONFIG_ARCH_LS2080A) || defined(CONFIG_ARCH_LS1088A) void __iomem *dcsr = (void __iomem *)DCSR_BASE;