[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