From patchwork Thu Aug 17 07:31:24 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ran Wang X-Patchwork-Id: 802398 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 3xXz3p6wkYz9t3D for ; Thu, 17 Aug 2017 17:53:26 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id B8769C21EDF; Thu, 17 Aug 2017 07:53:24 +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_DNSWL_NONE, RCVD_IN_MSPIKE_H4, 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 0A532C21F48; Thu, 17 Aug 2017 07:49:06 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id C46D0C21F4E; Thu, 17 Aug 2017 07:48:42 +0000 (UTC) Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0073.outbound.protection.outlook.com [104.47.33.73]) by lists.denx.de (Postfix) with ESMTPS id 48B0AC21EC1 for ; Thu, 17 Aug 2017 07:48:38 +0000 (UTC) Received: from BN6PR03CA0066.namprd03.prod.outlook.com (10.173.137.28) by DM5PR03MB3323.namprd03.prod.outlook.com (10.174.241.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1362.18; Thu, 17 Aug 2017 07:48:36 +0000 Received: from BN1AFFO11FD007.protection.gbl (2a01:111:f400:7c10::119) by BN6PR03CA0066.outlook.office365.com (2603:10b6:404:4c::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1362.18 via Frontend Transport; Thu, 17 Aug 2017 07:48:36 +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 BN1AFFO11FD007.mail.protection.outlook.com (10.58.52.67) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1341.15 via Frontend Transport; Thu, 17 Aug 2017 07:48:35 +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 v7H7mNcT022692; Thu, 17 Aug 2017 00:48:32 -0700 From: Ran Wang To: open list , Albert Aribaud , York Sun , Suresh Gupta , Sriram Dash Date: Thu, 17 Aug 2017 15:31:24 +0800 Message-ID: <1502955089-2049-3-git-send-email-ran.wang_1@nxp.com> X-Mailer: git-send-email 2.1.0.27.g96db324 In-Reply-To: <1502955089-2049-1-git-send-email-ran.wang_1@nxp.com> References: <1502955089-2049-1-git-send-email-ran.wang_1@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131474297160461426; (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)(39380400002)(39860400002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(5660300001)(97736004)(7416002)(81156014)(81166006)(189998001)(8656003)(6636002)(85426001)(47776003)(2950100002)(6666003)(54906002)(53936002)(626005)(104016004)(4326008)(575784001)(8936002)(76176999)(5003940100001)(106466001)(305945005)(50466002)(33646002)(356003)(50986999)(8676002)(48376002)(498600001)(105606002)(86362001)(77096006)(2906002)(50226002)(68736007)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR03MB3323; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD007; 1:U0cTq6sQu05Hp01LNhtKglbqo6z+rxZpal0hgE0mKbmi2cVMaAtEosBvMEpupNAuGwwPTcT7GZqsV38PbBx5eLUzliyIoLWnNKPP1SsSE418xTl8qgaYET89Ct1SKwnI MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b4dee7de-957b-4091-8b0c-08d4e5445dcc 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:DM5PR03MB3323; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB3323; 3:xHFzLJ85IdzF92xKmNtifPRt/rTj/l3hJXDpMzRvLpCRdNkAYOSibGEspb2msV3yX5n+EH4/bz+AqhvIcQytVVNH4pACoofBfQrtWJoZb/0Dr4rFl/SoxZcyq+bQF4Ugcbg+daqvF3N8fJyts9qYSm9UDOycP5tx4A/7l3rNl2ij2dohjZTHbVpYIFU2vytiWizADfJI6pYuL6+0eEQIWwz0QoXjGtVlp9ZqUw2H77VyL6gYRy2lQWGwUGqFDAqyCHk20cxXr8Xh4a3CXXmDLVdOXgooK+DtnLlus8qBGZACDcTttB+R+1G6pwWTambeAtdQpTTNTtKwK5A3OM0xZHtdLRllapgA8GeicudSp0A=; 25:45nYYh2tJP8ETJ/uhoTv+ZNH8hvusDA9jx2IZP53l/pLjOG/XoNQDJFOEP2klydO2Vh+TN8THlM4ZD1msMSHpb76/4PE/Zs+jEuXZOE1YD3lPezRXg2l/kQ9TyR/1FI5YKyUGrqw72wrhl5HK5jTAOyznIkkdv/1QqJuq7+e1KflDSJLC60VVa9nAZmdpOguT9kuefBFJl810Jqx90HaXzGqtp2NlPiAbTcoK811taIa7RL703o4v+Abo9UN7OJVfd7Aabk+pqYS/upxUPIjC0cjX+4F+Pn4oD5Px5O3Ud+v0dodny494Oa93RjncriA4ZxJGeZXrg2IVilMK3EJsA== X-MS-TrafficTypeDiagnostic: DM5PR03MB3323: X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB3323; 31:Vd6923IoA58LoL0SkQG+fNZ5mJDxFcX9G+/SeNm+Eu0LtV9auvh2LvfMpEJxHrYWugIzZTwCKh6y6xdugQ4Ykh8JULFqiTN2uQsEXcKvDh85W9Ffh10/Nnxl00GIjQaVfaic9fWVQYE39wTNvBKXBA6lr/akw7be6pB5SBNXM8UPeXAJ/n7CqiLuY2w3zYTycmxxl5bluXuaWG4SsdEMGRvwIfkKahE+x/z1JVvDzg8=; 4:ZtHI3x7xtiGX+hLvfQ/RougWap90VwXoEhBwT7lvbTpHHgyJ8df9PPUjSx/eClfLyz38cFUbk3MFdFn5mT53lr7FmUuVZj+viGcAMwW7T4I1oV3wEB2vUjzHPv11EwVM0arCijn5BgBdVQeero1Xlsk7+l0dxHI01HeDSmqUaCILaZAcB/KcDHvdI7yGdG50xilBi1JqOJAen52nWc8FgpLSWKjjw6w+5TMP7upYXtUM3p8KQB3+8I15nivVDAazhlREABrDCdIey2SybkS8lH5QXWrqFRjG5Ucq5QGT0m4= 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)(8121501046)(13016025)(5005006)(13018025)(3002001)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(6055026)(6096035)(20161123561025)(20161123565025)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123556025)(20161123559100)(20161123563025)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR03MB3323; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR03MB3323; X-Forefront-PRVS: 0402872DA1 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR03MB3323; 23:Klwkodu/pduS7GQPHMwV0c4tCatR3jQwqjq4ZzVMZ?= =?us-ascii?Q?162WRNqGUj6mcYXEpFkregtolD8+S3+FBHp9axk4iKNn787XoQmfZqcFmr8k?= =?us-ascii?Q?TQHCKnnP6SQ9ngaTp3wP5jg9lrjOIc4xtvD7iE3doX6vvzW/NfXQt7ekOL12?= =?us-ascii?Q?CNuxvMXTHMEN3ZSW9Iy6eyGNwq5wqbVQiZTpXVdMxv+1fZoarU2LH1Cg5cMQ?= =?us-ascii?Q?Ac7YUv9rt+9S/3CRLr78D7VjoyfdIXDzxr1azSoUfzkHXY5SppBIlIT5NoMV?= =?us-ascii?Q?YujYFj1JUVCe0eq43C2jQm6HcAbLQgqYKI9lJVkEK38Dlx9FB2nFPFTprfbJ?= =?us-ascii?Q?PJZN9782j8d6dmGhYGniT5CQR73bpdokjgZWROP9pnTtGO8z3Hmm5IHIbIA5?= =?us-ascii?Q?h1GuomAXgnR2kISxLt2a4K3qcerfo7PnYg8jO5yVWFr4AXAoOmL7CX4ZkBA2?= =?us-ascii?Q?lfPos+cPrfnJ+0M7R4kpZZFhQkrukVz9z4vsAeMJVWFkF9NqJO7uc7m6WTs1?= =?us-ascii?Q?96diZO29E0miR2zlm4c1SGWJsUXdYxObnIdndMA3ogFCwOtIjVlD7fP2fl2T?= =?us-ascii?Q?s+5TOrMg9SqFCI8v9OZvnCNerT3KxVPXXi6TzyLtbrkUbGTabhkps5dAEJQT?= =?us-ascii?Q?rPjr4sT5Txql1PCd2NOl/4x+e51s2vJ72BRiT28H/wFqQplzkFXFnq3KSYWV?= =?us-ascii?Q?Eh8myTy7/bBQ1wGfgqgvJ9SF+NV12/toIWM2Uu4atp2bzyQdrQeLnTjUGeGs?= =?us-ascii?Q?hINMprYVKEwRYLYs+eGukjIGsWeYfLOpR9X/oLAr43kZ5FD3Smjhnn4B8cOt?= =?us-ascii?Q?7QLKpj/2xsiqAZj0JPJyZSl7Q2rBGHXSszPPflYaZavpnSFHGfrAU0MynPjz?= =?us-ascii?Q?DIeL2AxaTrI8qpzvW1ayN5V3WpYO0jzr3PuDu0F7zrzYzyldeToWNs3HcOTN?= =?us-ascii?Q?/36gM4qwavJ81Nf0cONi0jZP51Ic68wkoqZIUnqv200wXRbSuGX/HRNCB6Pi?= =?us-ascii?Q?f9W6SFKCAqyg1ynT0/i0n/8WwAGDXzPIGqCkkaET2RINl9m+DLEtma0MYRN5?= =?us-ascii?Q?dvGey4vJ2dYPt3XMHBKjBPB2x/N/Ria7aJfP296ItxpspFKFY8Ft3KV/xMuE?= =?us-ascii?Q?qz9upwqlPplncIBnRqlY82KRASRw9s0?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB3323; 6:skM3Hn3OoDs/pDjVcPFIDlKledB9KllmxvU5wgapZOKpq1QubWJJy2zivBHVUZCifiov4FZ794VLoyDS72xRQYmY1/ElTm8kB5bNgxnqPUbVbc9bR5pLhO4KLm0nFAX+6R0hxxZeAeguxtxGjAHoWmQLgNPJgBjH+IlqERmZ3in6reiWpi/M9/5xrkh+k5cS0+Q9v0VshcWGISvjHblsFrzNrys7kGX6Xr3b5399fnHmlYSerOFo40BHgmA5COQK4ViJzS7mPUKZeGGe4A6oCe4ZBzFZqE3JKqiwQaVLwRU6cc37oL4QOBCmS8yhuaORjF/TLAlh3V2EfUdg3ruh1Q==; 5:yS/zlRwZWVI2Xr6VqJ1ssxuXpJ+2qx1/uDk+gAJOYGb/D4EKlcbdFyQY5TeY/xlgW9pQ+RDaJJAdsHiFgmdPnUISSRqzvnpGetBzXxAsxq0eweUWZZgeb+9b0ltfJvHYXj7HQh4mxRvp5XhNSRYKNg==; 24:9FRoXLi7jUtomPKUFdE8uJasdhuyyl3Y+qUndlWmAo1T2rszcpipKF6sv05wG69CffZO8ajLZfCvHwIfPUeLMqjVzayNucOEkA4u/PUFoek=; 7:mAMVw2ziABolpreS/dWMszJeghnegUwAGEd1Cr1f7ZJE/LM7Vqzl+Ge+uICSiTY1+/0Zq5PBxcr8AFDMQmy3fqPXPDlFkjP1WKa6/T+2u4zZElAf3+PVzi2rGddUsKpvmzTyp6zRLfECL1T6x9CdpoUBQ7ALQV7blP/HQyQ/tZiYnDjFP5WXyXeoYv1ih+EZWbv6MYAVQtr0opXKRvC9D33huVRFSkpRRMjmy/xhoZ8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2017 07:48:35.8121 (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.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB3323 Cc: Priyanka Jain , ran.wang_1@nxp.com Subject: [U-Boot] [PATCH v3 3/8] armv8: Add workaround for USB erratum A-008997 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" Low Frequency Periodic Signaling(LFPS) Peak-to-Peak Differential Output Voltage Test Compliance fails using default transmitter settings Change setting required for transmitter signal swings to pass compliance tests. Signed-off-by: Sriram Dash Signed-off-by: Rajesh Bhagat Signed-off-by: Suresh Gupta Signed-off-by: Ran Wang --- Change in v3: Use inline function to make code cleaner. Correct typo of 'CONFIG_ARCH_LS1043A'. Change in v2: In function erratum_a008997(): 1.Put a blank line after variable declaration. arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 6 +++++ arch/arm/cpu/armv8/fsl-layerscape/soc.c | 26 ++++++++++++++++++++++ .../include/asm/arch-fsl-layerscape/immap_lsch2.h | 4 ++++ 3 files changed, 36 insertions(+) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig index 2dae539..a2de86b 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig @@ -24,6 +24,7 @@ config ARCH_LS1043A select SYS_FSL_ERRATUM_A010539 select SYS_FSL_ERRATUM_A009008 select SYS_FSL_ERRATUM_A009798 + select SYS_FSL_ERRATUM_A008997 select SYS_FSL_HAS_DDR3 select SYS_FSL_HAS_DDR4 select ARCH_EARLY_INIT_R @@ -47,6 +48,7 @@ config ARCH_LS1046A select SYS_FSL_ERRATUM_A010539 select SYS_FSL_ERRATUM_A009008 select SYS_FSL_ERRATUM_A009798 + select SYS_FSL_ERRATUM_A008997 select SYS_FSL_HAS_DDR4 select SYS_FSL_SRDS_2 select ARCH_EARLY_INIT_R @@ -85,6 +87,7 @@ config ARCH_LS2080A select SYS_FSL_ERRATUM_A009203 select SYS_FSL_ERRATUM_A009008 select SYS_FSL_ERRATUM_A009798 + select SYS_FSL_ERRATUM_A008997 select ARCH_EARLY_INIT_R select BOARD_EARLY_INIT_F @@ -234,6 +237,9 @@ config SYS_FSL_ERRATUM_A009008 config SYS_FSL_ERRATUM_A009798 bool "Workaround for USB PHY erratum A009798" +config SYS_FSL_ERRATUM_A008997 + bool "Workaround for USB PHY erratum A008997" + config MAX_CPUS int "Maximum number of CPUs permitted for Layerscape" default 4 if ARCH_LS1043A diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c b/arch/arm/cpu/armv8/fsl-layerscape/soc.c index dda19e0..f0dac99 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c @@ -100,6 +100,30 @@ static void erratum_a009798(void) #endif /* CONFIG_SYS_FSL_ERRATUM_A009798 */ } +#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) +static inline void set_usb_pcstxswingfull(u32 __iomem *scfg, u32 offset) +{ + u32 val; + + val = scfg_in32(scfg + offset / 4) & ~(0x7F << 9); + val |= (USB_PCSTXSWINGFULL << 9); + scfg_out32(scfg + offset / 4, val); +} +#endif + +static void erratum_a008997(void) +{ +#ifdef CONFIG_SYS_FSL_ERRATUM_A008997 +#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A) + u32 __iomem *scfg = (u32 __iomem *)SCFG_BASE; + + set_usb_pcstxswingfull(scfg, SCFG_USB3PRM2CR_USB1); + set_usb_pcstxswingfull(scfg, SCFG_USB3PRM2CR_USB2); + set_usb_pcstxswingfull(scfg, SCFG_USB3PRM2CR_USB3); +#endif +#endif /* CONFIG_SYS_FSL_ERRATUM_A008997 */ +} + #if defined(CONFIG_FSL_LSCH3) /* * This erratum requires setting a value to eddrtqcr1 to @@ -248,6 +272,7 @@ void fsl_lsch3_early_init_f(void) erratum_a008336(); erratum_a009008(); erratum_a009798(); + erratum_a008997(); #ifdef CONFIG_CHAIN_OF_TRUST /* In case of Secure Boot, the IBR configures the SMMU * to allow only Secure transactions. @@ -525,6 +550,7 @@ void fsl_lsch2_early_init_f(void) erratum_a010539(); erratum_a009008(); erratum_a009798(); + erratum_a008997(); } #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 8bd40e8..2e52078 100644 --- a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h +++ b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch2.h @@ -339,10 +339,14 @@ struct ccsr_gur { #define SCFG_BASE 0x01570000 #define SCFG_USB3PRM1CR_USB1 0x070 +#define SCFG_USB3PRM2CR_USB1 0x074 #define SCFG_USB3PRM1CR_USB2 0x07C +#define SCFG_USB3PRM2CR_USB2 0x080 #define SCFG_USB3PRM1CR_USB3 0x088 +#define SCFG_USB3PRM2CR_USB3 0x08c #define USB_TXVREFTUNE 0x9 #define USB_SQRXTUNE 0xFC7FFFFF +#define USB_PCSTXSWINGFULL 0x47 #define SCFG_SNPCNFGCR_SECRDSNP 0x80000000 #define SCFG_SNPCNFGCR_SECWRSNP 0x40000000