From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhiqiang Hou Date: Wed, 20 Jul 2016 10:04:57 +0000 Subject: [U-Boot] [PATCH 5/5] fsl-layerscape: Add workaround for PCIe erratum A010315 In-Reply-To: References: <1467613697-18128-1-git-send-email-Zhiqiang.Hou@nxp.com> <1467613697-18128-5-git-send-email-Zhiqiang.Hou@nxp.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi York, Thanks a lot for your comments! > -----Original Message----- > From: york sun > Sent: 2016?7?20? 0:02 > To: Zhiqiang Hou ; u-boot at lists.denx.de; > albert.u.boot at aribaud.net; wd at denx.de; Prabhakar Kushwaha > ; 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 > 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 > > > > 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 > > --- > > 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