da8xx: Add cpu_is_da8xx macros
authorSudhakar Rajashekhara <sudhakar.raj@ti.com>
Thu, 11 Nov 2010 14:38:01 +0000 (15:38 +0100)
committerWolfgang Denk <wd@denx.de>
Thu, 9 Dec 2010 09:24:10 +0000 (10:24 +0100)
Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
CC: Stefano Babic <sbabic@denx.de>
CC: Detlev Zundev <dzu@denx.de>
CC: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
arch/arm/include/asm/arch-davinci/hardware.h

index 3520cf88224e301dd7c2dfff43bceeb59f6de024..2a460b55db9c85df91f5bba6ccc30490c2b0071a 100644 (file)
@@ -149,6 +149,7 @@ typedef volatile unsigned int *     dv_reg_p;
 #define DAVINCI_DDR_EMIF_DATA_BASE             0xc0000000
 #define DAVINCI_INTC_BASE                      0xfffee000
 #define DAVINCI_BOOTCFG_BASE                   0x01c14000
+#define JTAG_ID_REG                            (DAVINCI_BOOTCFG_BASE + 0x18)
 
 #endif /* CONFIG_SOC_DA8XX */
 
@@ -442,6 +443,21 @@ struct davinci_uart_ctrl_regs {
 #define DAVINCI_UART_PWREMU_MGMT_URRST (1 << 13)
 #define DAVINCI_UART_PWREMU_MGMT_UTRST (1 << 14)
 
+static inline int cpu_is_da830(void)
+{
+       unsigned int jtag_id    = REG(JTAG_ID_REG);
+       unsigned short part_no  = (jtag_id >> 12) & 0xffff;
+
+       return ((part_no == 0xb7df) ? 1 : 0);
+}
+static inline int cpu_is_da850(void)
+{
+       unsigned int jtag_id    = REG(JTAG_ID_REG);
+       unsigned short part_no  = (jtag_id >> 12) & 0xffff;
+
+       return ((part_no == 0xb7d1) ? 1 : 0);
+}
+
 #endif /* CONFIG_SOC_DA8XX */
 
 #endif /* __ASM_ARCH_HARDWARE_H */