
Hi York,
Thanks a lot for your comments!
-----Original Message----- From: york sun Sent: 2016年7月20日 0:02 To: Zhiqiang Hou zhiqiang.hou@nxp.com; u-boot@lists.denx.de; albert.u.boot@aribaud.net; wd@denx.de; Prabhakar Kushwaha prabhakar.kushwaha@nxp.com; alison.wang@freescale.com; Mingkai.Hu@freescale.com Cc: yao.yuan@freescale.com; Qianyu.Gong@freescale.com; bmeng.cn@gmail.com; Shengzhou Liu shengzhou.liu@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@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@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