[U-Boot] [PATCH v4 3/8] armv8: Add workaround for USB erratum A-008997

Ran Wang ran.wang_1 at nxp.com
Thu Aug 31 02:10:54 UTC 2017


Hi York

> -----Original Message-----
> From: York Sun
> Sent: Thursday, August 31, 2017 2:07 AM
> To: Ran Wang <ran.wang_1 at nxp.com>; open list <u-boot at lists.denx.de>
> Cc: Suresh Gupta <suresh.bhagat at nxp.com>; Sriram Dash
> <sriram.dash at nxp.com>; Prabhakar Kushwaha
> <prabhakar.kushwaha at nxp.com>; Simon Glass <sjg at chromium.org>; Rajesh
> Bhagat <rajesh.bhagat at nxp.com>; Andy Tang <andy.tang at nxp.com>; Priyanka
> Jain <priyanka.jain at 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 at nxp.com>
> > Signed-off-by: Rajesh Bhagat <rajesh.bhagat at nxp.com>
> > Signed-off-by: Suresh Gupta <suresh.gupta at nxp.com>
> > Signed-off-by: Ran Wang <ran.wang_1 at 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


More information about the U-Boot mailing list