
Hi York
-----Original Message----- From: York Sun Sent: Thursday, August 31, 2017 2:07 AM To: Ran Wang ran.wang_1@nxp.com; open list u-boot@lists.denx.de Cc: Suresh Gupta suresh.bhagat@nxp.com; Sriram Dash sriram.dash@nxp.com; Prabhakar Kushwaha prabhakar.kushwaha@nxp.com; Simon Glass sjg@chromium.org; Rajesh Bhagat rajesh.bhagat@nxp.com; Andy Tang andy.tang@nxp.com; Priyanka Jain priyanka.jain@nxp.com Subject: Re: [PATCH v4 3/8] armv8: Add workaround for USB erratum A-008997
On 08/28/2017 02:33 AM, Ran Wang wrote:
Low Frequency Periodic Signaling(LFPS) Peak-to-Peak Differential Output Voltage Test Compliance fails using default transmitter settings
Change config of transmitter signal swings by setting register PCSTXSWINGFULL to 0x47 to pass compliance tests.
Signed-off-by: Sriram Dash sriram.dash@nxp.com Signed-off-by: Rajesh Bhagat rajesh.bhagat@nxp.com Signed-off-by: Suresh Gupta suresh.gupta@nxp.com Signed-off-by: Ran Wang ran.wang_1@nxp.com
Change in v4: Update commit message about register setting. Clean up the math in set_usb_pcstxswingfull(). Rename USB_PCSTXSWINGFULL to SCFG_USB_PCSTXSWINGFULL.
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.
<snip>
+#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);
- val &= ~(0x7F << 9);
- val |= (SCFG_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)
I didn't notice this before. Why checking LS1043A or LS1046A? I don't see "else" below.
Because so far errata A008997 in armv8 part is only for these 2 SoCs, other SoC such as LS2088A have fixed this chip issue by HW.
Ran