ARM: davinci: dm368 evm: add support for CPLD version specific cpu_is_* macro
Subsystems (3)
PATCH 1/1 ARM: davinci: dm368 evm: add support for CPLD version specific cpu_is_* macro
From: Rajashekhara, Sudhakar <[email protected]>
DM368 and DM365 EVMs have different CPLD versions. This patch adds function which differentiates DM368 from DM365 EVMs.
--- arch/arm/mach-davinci/include/mach/common.h | 1 + arch/arm/mach-davinci/include/mach/cputype.h | 11 +++++++++++ 2 files changed, 12 insertions(+), 0 deletions(-)
arch/arm/mach-davinci/include/mach/common.h +1 -0
@@ -52,6 +52,7 @@ struct davinci_soc_info {u32 cpu_id;u32 jtag_id;u32 jtag_id_reg; +u8 cpld_version;struct davinci_id *ids;unsigned long ids_num;struct clk_lookup *cpu_clks;
arch/arm/mach-davinci/include/mach/cputype.h +11 -0
@@ -49,6 +49,15 @@ IS_DAVINCI_CPU(da830, DAVINCI_CPU_ID_DA830) IS_DAVINCI_CPU(da850, DAVINCI_CPU_ID_DA850) IS_DAVINCI_CPU(tnetv107x, DAVINCI_CPU_ID_TNETV107X) +#define IS_DAVINCI_CPU_CPLD_VER (type, id, cpld_ver) \ +static inline int is_davinci_ ##type(void) \ +{ \ + return ((davinci_soc_info.cpu_id == (id)) && \ + (davinci_soc_info.cpld_version == (cpld_ver))); \ +} + +IS_DAVINCI_CPU_CPLD_VER(dm368, DAVINCI_CPU_ID_DM365, 0x21) +#ifdef CONFIG_ARCH_DAVINCI_DM644x#define cpu_is_davinci_dm644x () is_davinci_dm644x()#else
@@ -69,8 +78,10 @@ IS_DAVINCI_CPU(tnetv107x, DAVINCI_CPU_ID_TNETV107X)#ifdef CONFIG_ARCH_DAVINCI_DM365 #define cpu_is_davinci_dm365 () is_davinci_dm365() +#define cpu_is_davinci_dm368 () is_davinci_dm368()#else #define cpu_is_davinci_dm365 () 0 +#define cpu_is_davinci_dm368 () 0#endif #ifdef CONFIG_ARCH_DAVINCI_DA830
Signature · 1 line
1.7.1
PATCH 1/1 ARM: davinci: dm368 evm: add support for CPLD version specific cpu_is_* macro
Hello.
Quoted 16 lines · Prakash
From: Rajashekhara, Sudhakar <[email protected]>
DM368 and DM365 EVMs have different CPLD versions. This patch adds function which differentiates DM368 from DM365 EVMs.
Signed-off-by Rajashekhara, Sudhakar <[email protected]>--- arch/arm/mach-davinci/include/mach/common.h | 1 + arch/arm/mach-davinci/include/mach/cputype.h | 11 +++++++++++ 2 files changed, 12 insertions(+), 0 deletions(-)arch/arm/mach-davinci/include/mach/common.h +0
-0
arch/arm/mach-davinci/include/mach/common.h struct davinci_soc_info { · line 55
Quoted 4 lines
arch/arm/mach-davinci/include/mach/common.h +1
-0@@ -52,6 +52,7 @@ struct davinci_soc_info {u32 cpu_id;u32 jtag_id;u32 jtag_id_reg; +u8 cpld_version;
Come on, CPLD is not a part of a SoC and the structure is called
*davinci_soc_info*.
Quoted 7 lines
arch/arm/mach-davinci/include/mach/cputype.h +0
-0@@ -49,6 +49,15 @@ IS_DAVINCI_CPU(da830, DAVINCI_CPU_ID_DA830) IS_DAVINCI_CPU(da850, DAVINCI_CPU_ID_DA850)IS_DAVINCI_CPU (tnetv107x,DAVINCI_CPU_ID_TNETV107X )
arch/arm/mach-davinci/include/mach/cputype.h IS_DAVINCI_CPU(da830, DAVINCI_CPU_ID_DA830) · line 60
Quoted 10 lines
arch/arm/mach-davinci/include/mach/cputype.h +9
-0+#define IS_DAVINCI_CPU_CPLD_VER (type, id, cpld_ver) \ +static inline int is_davinci_ ##type(void) \ +{ \ + return ((davinci_soc_info.cpu_id == (id))&& \ + (davinci_soc_info.cpld_version == (cpld_ver))); \ +} + +IS_DAVINCI_CPU_CPLD_VER (dm368,DAVINCI_CPU_ID_DM365 ,0x21 ) +
If DM365 is indistinguishable from DM368 except when being on an EVM
board, so be it.
WBR, Sergei