On 10/19/2016 10:28 PM, Prabhakar Kushwaha wrote:
> Hi York
>
>> -----Original Message-----
>> From: Priyanka Jain [mailto:priyanka.j...@nxp.com]
>> Sent: Wednesday, October 19, 2016 3:07 PM
>> To: u-boot@lists.denx.de
>> Cc: Priyanka Jain <priyanka.j...@nxp.com>; Prabhakar Kushwaha
>> <prabhakar.kushw...@nxp.com>
>> Subject: [PATCH 1/5] armv8: lsch3: Use SVR based timer base address detection
>>
>> Timer base address has been changed from LS2080A SoC to
>> new SoCs like LS2088A, LS1088A.
>>
>> Use SVR based timer base address detection to avoid compile time #ifdef.
>>
>> Signed-off-by: Priyanka Jain <priyanka.j...@nxp.com>
>> Signed-off-by: Prabhakar Kushwaha <prabhakar.kushw...@nxp.com>
>> ---
>>  arch/arm/cpu/armv8/fsl-layerscape/cpu.c            |   14 +++++++++++++-
>>  .../include/asm/arch-fsl-layerscape/immap_lsch3.h  |    3 ++-
>>  2 files changed, 15 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
>> b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
>> index b7a2e0c..ce04e48 100644
>> --- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
>> +++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
>> @@ -424,8 +424,10 @@ int arch_early_init_r(void)
>>
>>  int timer_init(void)
>>  {
>> -    u32 __iomem *cntcr = (u32 *)CONFIG_SYS_FSL_TIMER_ADDR;
>> +    u32 __iomem *cntcr;
>>  #ifdef CONFIG_FSL_LSCH3
>> +    struct ccsr_gur __iomem *gur = (void
>> *)(CONFIG_SYS_FSL_GUTS_ADDR);
>> +    u32 svr, ver;
>>      u32 __iomem *cltbenr = (u32 *)CONFIG_SYS_FSL_PMU_CLTBENR;
>>  #endif
>>  #ifdef CONFIG_LS2080A
>> @@ -439,6 +441,16 @@ int timer_init(void)
>>  #endif
>>
>>  #ifdef CONFIG_FSL_LSCH3
>> +    svr = gur_in32(&gur->svr);
>> +    ver = SVR_SOC_VER(svr);
>> +    if ((ver == SVR_LS2080A) || (ver == SVR_LS2040A) ||
>> +        (ver == SVR_LS2085A) || (ver == SVR_LS2045A))
>> +            cntcr = (u32 *)LS2080A_LS2085A_TIMER_ADDR;
>> +    else
>> +#endif
>> +            cntcr = (u32 *)CONFIG_SYS_FSL_TIMER_ADDR;
>> +
>> +#ifdef CONFIG_FSL_LSCH3
>>      /* Enable timebase for all clusters.
>>       * It is safe to do so even some clusters are not enabled.
>>       */
>> diff --git a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h
>> b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h
>> index 7acba27..e6cdfcb 100644
>> --- a/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h
>> +++ b/arch/arm/include/asm/arch-fsl-layerscape/immap_lsch3.h
>> @@ -23,7 +23,8 @@
>>  #define CONFIG_SYS_IFC_ADDR                 (CONFIG_SYS_IMMR +
>> 0x01240000)
>>  #define CONFIG_SYS_NS16550_COM1                     (CONFIG_SYS_IMMR +
>> 0x011C0500)
>>  #define CONFIG_SYS_NS16550_COM2                     (CONFIG_SYS_IMMR +
>> 0x011C0600)
>> -#define CONFIG_SYS_FSL_TIMER_ADDR           0x023d0000
>> +#define LS2080A_LS2085A_TIMER_ADDR          0x023d0000
>
> Is this ok to define new constant without CONFIG_?
> Only problem, it is not consistent with existing defines.
>

Prabhakar,

I opinion on this is

1) Let's check if a Kconfig option is better for it
If yes, let's convert it to Kconfig. If not, go to 2)

2) Let's use a different name space for the macros.
I suggest to use SYS_FSL_* for fixed value for our hardware.

York
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to