[U-Boot] [PATCH] mpc85xx: pci: Implement workaround for Erratum A007815
york sun
york.sun at nxp.com
Tue Jan 24 22:34:50 CET 2017
On 12/22/2016 08:37 AM, Mingkai Hu wrote:
>
>
>> -----Original Message-----
>> From: york sun
>> Sent: Friday, December 02, 2016 1:24 AM
>> To: Mingkai Hu <mingkai.hu at nxp.com>
>> Cc: Chris Packham <judge.packham at gmail.com>; Tony O'Brien
>> <tony.obrien at alliedtelesis.co.nz>; u-boot <u-boot at lists.denx.de>
>> Subject: Re: [U-Boot] [PATCH] mpc85xx: pci: Implement workaround for
>> Erratum A007815
>>
>> On 11/30/2016 11:51 PM, Chris Packham wrote:
>>> (adding York)
>>>
>>> On Thu, Dec 1, 2016 at 4:20 PM, Tony O'Brien
>>> <tony.obrien at alliedtelesis.co.nz> wrote:
>>>> The read-only-write-enable bit is set by default and must be cleared
>>>> to prevent overwriting read-only registers. This should be done
>>>> immediately after resetting the PCI Express controller.
>>>>
>>>> Reviewed-by: Hamish Martin <hamish.martin at alliedtelesis.co.nz>
>>>>
>>>> ---
>>>> Note that this does not implement the whole fix for this erratum,
>>>> just what is necessary for our implementation. Since we are using a
>>>> fixed RC configuration, no support has been added for EP mode or any
>>>> consideration of link-up/down events.
>>>>
>>>> Signed-off-by: Tony O'Brien <tony.obrien at alliedtelesis.co.nz>
>>>> ---
>>>> arch/powerpc/cpu/mpc85xx/cmd_errata.c | 3 +++
>>>> arch/powerpc/include/asm/config_mpc85xx.h | 1 +
>>>> arch/powerpc/include/asm/fsl_pci.h | 4 +++-
>>>> drivers/pci/fsl_pci_init.c | 7 +++++++
>>>> 4 files changed, 14 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/arch/powerpc/cpu/mpc85xx/cmd_errata.c
>>>> b/arch/powerpc/cpu/mpc85xx/cmd_errata.c
>>>> index 402a1ff..aabb56b 100644
>>>> --- a/arch/powerpc/cpu/mpc85xx/cmd_errata.c
>>>> +++ b/arch/powerpc/cpu/mpc85xx/cmd_errata.c
>>>> @@ -330,6 +330,9 @@ static int do_errata(cmd_tbl_t *cmdtp, int flag,
>>>> int argc, char * const argv[]) #ifdef CONFIG_SYS_FSL_ERRATUM_A009663
>>>> puts("Work-around for Erratum A009663 enabled\n"); #endif
>>>> +#ifdef CONFIG_SYS_FSL_ERRATUM_A007815
>>>> + puts("Work-around for Erratum A007815 enabled\n"); #endif
>>>>
>>>> return 0;
>>>> }
>>>> diff --git a/arch/powerpc/include/asm/config_mpc85xx.h
>>>> b/arch/powerpc/include/asm/config_mpc85xx.h
>>>> index c92bc1e..c298e44 100644
>>>> --- a/arch/powerpc/include/asm/config_mpc85xx.h
>>>> +++ b/arch/powerpc/include/asm/config_mpc85xx.h
>>>> @@ -785,6 +785,7 @@ defined(CONFIG_PPC_T1014) ||
>>>> defined(CONFIG_PPC_T1013) #define
>> CONFIG_SYS_FSL_ERRATUM_A006593
>>>> #define CONFIG_SYS_FSL_ERRATUM_A007186 #define
>>>> CONFIG_SYS_FSL_ERRATUM_A006379
>>>> +#define CONFIG_SYS_FSL_ERRATUM_A007815
>>>> #define ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE #define
>>>> CONFIG_SYS_FSL_SFP_VER_3_0
>>>>
>>
>> Tony,
>>
>> The signed-off signature should be above the --- line.
>>
>> Mingkai,
>>
>> Please review this implementation. This erratum applies to T4240, T2080,
>> LS1021A.
>>
>
> Hi York and Tony,
>
> Sorry for delayed response.
>
> I think it's better to add the errata implementation for the layerscape platform also.
>
> The layerscape driver code is drivers/pci/pcie_layerscape.c. We can help to test the patch on the layerscape platform if Tony don't have the platform.
Mingkai,
I am going to merge the v2 patch. Please send a patch for Layerscape
driver when you have it.
York
More information about the U-Boot
mailing list