[U-Boot] [PATCH 1/5][v2] powerpc/mpc85xx:No NOR boot, do not compile IFC errata A003399

Prabhakar Kushwaha prabhakar at freescale.com
Wed Apr 10 05:57:04 CEST 2013


On 04/10/2013 05:11 AM, Scott Wood wrote:
> On 04/08/2013 11:56:25 PM, Prabhakar Kushwaha wrote:
>> On 04/09/2013 06:09 AM, Scott Wood wrote:
>>> On 04/05/2013 09:28:14 PM, Prabhakar Kushwaha wrote:
>>>> On 04/06/2013 02:03 AM, Scott Wood wrote:
>>>>> On 03/22/2013 02:07:48 AM, Prabhakar Kushwaha wrote:
>>>>>> IFC errata A003399 is valid for IFC NOR boot i.e.if no on-board 
>>>>>> NOR flash or
>>>>>> no NOR boot, do not compile its workaround.
>>>>>>
>>>>>> Signed-off-by: Prabhakar Kushwaha <prabhakar at freescale.com>
>>>>>> ---
>>>>>>  Based upon git://git.denx.de/u-boot.git branch master
>>>>>>  Changes for v2:
>>>>>>      - Add CONFIG_A003399_NOR_WORKAROUND for errata workaround
>>>>>>     - Add CONFIG_A003399_NOR_WORKAROUND in README
>>>>>>
>>>>>>  README                                    |    4 ++++
>>>>>>  arch/powerpc/cpu/mpc85xx/cpu_init_early.c |    9 ++++++---
>>>>>>  arch/powerpc/cpu/mpc8xxx/fsl_ifc.c        |    2 +-
>>>>>>  3 files changed, 11 insertions(+), 4 deletions(-)
>>>>>>
>>>>>> diff --git a/README b/README
>>>>>> index 7f2506a..c4ad69d 100644
>>>>>> --- a/README
>>>>>> +++ b/README
>>>>>> @@ -414,6 +414,10 @@ The following options need to be configured:
>>>>>>          See Freescale App Note 4493 for more information about
>>>>>>          this erratum.
>>>>>>
>>>>>> +        CONFIG_A003399_NOR_WORKAROUND
>>>>>> +        Enables a workaround for IFC erratum A003399. It is only
>>>>>> +        requred during NOR boot.
>>>>>> +
>>>>>>          CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY
>>>>>>
>>>>>>          This is the value to write into CCSR offset 0x18600
>>>>>> diff --git a/arch/powerpc/cpu/mpc85xx/cpu_init_early.c 
>>>>>> b/arch/powerpc/cpu/mpc85xx/cpu_init_early.c
>>>>>> index dacfdd1..3a4bfc5 100644
>>>>>> --- a/arch/powerpc/cpu/mpc85xx/cpu_init_early.c
>>>>>> +++ b/arch/powerpc/cpu/mpc85xx/cpu_init_early.c
>>>>>> @@ -25,7 +25,8 @@
>>>>>>
>>>>>>  DECLARE_GLOBAL_DATA_PTR;
>>>>>>
>>>>>> -#if defined(CONFIG_SYS_FSL_ERRATUM_IFC_A003399) && 
>>>>>> !defined(CONFIG_SYS_RAMBOOT)
>>>>>> +#if defined(CONFIG_SYS_FSL_ERRATUM_IFC_A003399)\
>>>>>> +    && defined(CONFIG_A003399_NOR_WORKAROUND)
>>>>>
>>>>> Why would CONFIG_A003399_NOR_WORKAROUND be enabled if 
>>>>> CONFIG_SYS_FSL_ERRATUM_IFC_A003399 isn't?
>>>>
>>>>
>>>> originally i tried the same but it did not work. As P1010RDB.h does 
>>>> not include config_mpc85xx.h.   Only arch/powerpc/cpu/mpc85xx/*.c 
>>>> files includes both P1010RDB.h and config_mpc85xx.h
>>>
>>> Can you add #include <config.h> in P1010RDB.h near the top, but 
>>> after the symbols that config_mpc85xx.h depends on (which I think is 
>>> just CONFIG_P1010)?
>> I need to add config_mpc85xx.h here.
>>
>>  #define CONFIG_MPC85xx
>>  #define CONFIG_FSL_IFC                 /* Enable IFC Support */
>>  #define CONFIG_SYS_HAS_SERDES          /* common SERDES init code */
>> +#include "../../arch/powerpc/include/asm/config_mpc85xx.h"
>>
>> I tried just after CONFIG_P1010 but it is giving compilation error.
>
> What error?


make[1]: Entering directory 
`/home/b32579/Workspace/MERGE/OPENSRC/U-BOOT/u-boot'
/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnu-gcc 
-DDO_DEPS_ONLY \
         -g  -Os   -fpic -mrelocatable -ffunction-sections 
-fdata-sections -meabi -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x11000000 
-I/home/b32579/Workspace/MERGE/OPENSRC/U-BOOT/u-boot/include 
-fno-builtin -ffreestanding -nostdinc -isystem 
/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/lib/gcc/powerpc-linux-gnu/4.5.1/include 
-pipe  -DCONFIG_PPC -D__powerpc__ -ffixed-r2 -Wa,-me500 -msoft-float 
-mno-string  -mno-spe -Wall -Wstrict-prototypes -fno-stack-protector 
-Wno-format-nonliteral -Wno-format-security    \
         -o lib/asm-offsets.s lib/asm-offsets.c -c -S
In file included from 
/home/b32579/Workspace/MERGE/OPENSRC/U-BOOT/u-boot/include/common.h:174:0,
                  from lib/asm-offsets.c:18:
/home/b32579/Workspace/MERGE/OPENSRC/U-BOOT/u-boot/include/asm/global_data.h:98:21: 
error: 'CONFIG_SYS_NUM_TLBCAMS' undeclared here (not in a function)
make[1]: *** [lib/asm-offsets.s] Error 1

because of these defines in config_mpc85xx.h
#if defined(CONFIG_E500MC)
#define CONFIG_SYS_NUM_TLBCAMS        64
#elif defined(CONFIG_E500)
#define CONFIG_SYS_NUM_TLBCAMS        16
#endif


>> Just to mention, I need to provide relative path in order to compile.
>
> What specifically did you try and what error did it produce?

I did not try anything.
I was just doubting on having relative path.
is it acceptable or not?  As we are moving from dynamic header 
inclusions to more fixed inclusion.

>
>> I will still suggest to keep original patch, As header file location 
>> may change over period of time then config file needs to be updated 
>> again.
>
> No, this has been a repeated problem (not having access to 
> config_mpc85xx.h in the board config file) and I'd like to see it fixed 
oh.. I was not aware of this point.

Regards,
Prabhakar





More information about the U-Boot mailing list