[U-Boot] [PATCH 5/5] fsl-layerscape: Add workaround for PCIe erratum A010315

Zhiqiang Hou zhiqiang.hou at nxp.com
Wed Jul 20 12:04:57 CEST 2016


Hi York,

Thanks a lot for your comments!

> -----Original Message-----
> From: york sun
> Sent: 2016年7月20日 0:02
> To: Zhiqiang Hou <zhiqiang.hou at nxp.com>; u-boot at lists.denx.de;
> albert.u.boot at aribaud.net; wd at denx.de; Prabhakar Kushwaha
> <prabhakar.kushwaha at nxp.com>; alison.wang at freescale.com;
> Mingkai.Hu at freescale.com
> Cc: yao.yuan at freescale.com; Qianyu.Gong at freescale.com;
> bmeng.cn at gmail.com; Shengzhou Liu <shengzhou.liu at nxp.com>
> Subject: Re: [PATCH 5/5] fsl-layerscape: Add workaround for PCIe erratum
> A010315
> 
> On 07/03/2016 11:39 PM, Zhiqiang Hou wrote:
> > From: Hou Zhiqiang <Zhiqiang.Hou at nxp.com>
> >
> > As the access to serders protocol unselected PCIe controller will
> > hang. So disable the R/W permission to unselected PCIe controller
> > including its CCSR, IO space and memory space according to the serders
> > protocol field of RCW.
> >
> > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou at nxp.com>
> > ---
> > Tested on LS1043ARDB, LS1021AQDS boards.
> >
> >  arch/arm/cpu/armv7/ls102xa/soc.c                  | 14 ++++++++++++++
> >  arch/arm/cpu/armv8/fsl-layerscape/soc.c           | 16 ++++++++++++++++
> >  arch/arm/include/asm/arch-fsl-layerscape/config.h |  2 ++
> >  arch/arm/include/asm/arch-fsl-layerscape/soc.h    |  4 ++++
> >  arch/arm/include/asm/arch-ls102xa/config.h        |  1 +
> >  arch/arm/include/asm/arch-ls102xa/ls102xa_soc.h   |  4 ++++
> >  board/freescale/ls1012aqds/ls1012aqds.c           |  4 ++++
> >  board/freescale/ls1012ardb/ls1012ardb.c           |  4 ++++
> >  board/freescale/ls1021aqds/ls1021aqds.c           |  4 ++++
> >  board/freescale/ls1021atwr/ls1021atwr.c           |  4 ++++
> >  board/freescale/ls1043aqds/ls1043aqds.c           |  4 ++++
> >  board/freescale/ls1043ardb/ls1043ardb.c           |  4 ++++
> >  12 files changed, 65 insertions(+)
> >
> 
> Can you put the call of erratum_a010315() in an SoC file, instead of individual
> board file?
> 
The erratum_a010315() involved global variable, so it must be called after the relocation,
and because it modified the CSU, it must be called at EL3. You know the PPA will be called at the
end of the board_init(),  so the erratum_a010315() can only be called in board_init(), and can't
call it in SoC file.

Thanks,
Zhiqiang


More information about the U-Boot mailing list