Skip to contentSkip to conversation

ARM: davinci: dm368 evm: add support for CPLD version specific cpu_is_* macro

PATCH New Manjunathappa, Prakash 2 participants 2 messages Dec 6, 2011

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

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
index a57cba2..f89cd2a 100644
@@ -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
index 957fb87..ef02ab1 100644
@@ -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
#1 lore raw

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.

---
  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
index a57cba2..f89cd2a 100644

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
index 957fb87..ef02ab1 100644
@@ -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