1*0fdebc5eSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 2ca31807bSArnd Bergmann /* 3ca31807bSArnd Bergmann * DaVinci CPU type detection 4ca31807bSArnd Bergmann * 5ca31807bSArnd Bergmann * Author: Kevin Hilman, Deep Root Systems, LLC 6ca31807bSArnd Bergmann * 7ca31807bSArnd Bergmann * Defines the cpu_is_*() macros for runtime detection of DaVinci 8ca31807bSArnd Bergmann * device type. In addition, if support for a given device is not 9ca31807bSArnd Bergmann * compiled in to the kernel, the macros return 0 so that 10ca31807bSArnd Bergmann * resulting code can be optimized out. 11ca31807bSArnd Bergmann * 12*0fdebc5eSThomas Gleixner * 2009 (c) Deep Root Systems, LLC. 13ca31807bSArnd Bergmann */ 14ca31807bSArnd Bergmann #ifndef _ASM_ARCH_CPU_H 15ca31807bSArnd Bergmann #define _ASM_ARCH_CPU_H 16ca31807bSArnd Bergmann 17ca31807bSArnd Bergmann #include "common.h" 18ca31807bSArnd Bergmann 19ca31807bSArnd Bergmann struct davinci_id { 20ca31807bSArnd Bergmann u8 variant; /* JTAG ID bits 31:28 */ 21ca31807bSArnd Bergmann u16 part_no; /* JTAG ID bits 27:12 */ 22ca31807bSArnd Bergmann u16 manufacturer; /* JTAG ID bits 11:1 */ 23ca31807bSArnd Bergmann u32 cpu_id; 24ca31807bSArnd Bergmann char *name; 25ca31807bSArnd Bergmann }; 26ca31807bSArnd Bergmann 27ca31807bSArnd Bergmann /* Can use lower 16 bits of cpu id for a variant when required */ 28ca31807bSArnd Bergmann #define DAVINCI_CPU_ID_DA830 0x08300000 29ca31807bSArnd Bergmann #define DAVINCI_CPU_ID_DA850 0x08500000 30ca31807bSArnd Bergmann 31ca31807bSArnd Bergmann #endif 32