Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef __ASM_SH_PROCESSOR_H |
| 2 | #define __ASM_SH_PROCESSOR_H |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 3 | |
| 4 | /* |
| 5 | * CPU type and hardware bug flags. Kept separately for each CPU. |
| 6 | * |
| 7 | * Each one of these also needs a CONFIG_CPU_SUBTYPE_xxx entry |
Paul Mundt | de02797 | 2006-02-01 03:06:02 -0800 | [diff] [blame] | 8 | * in arch/sh/mm/Kconfig, as well as an entry in arch/sh/kernel/setup.c |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 9 | * for parsing the subtype in get_cpu_subtype(). |
| 10 | */ |
| 11 | enum cpu_type { |
| 12 | /* SH-2 types */ |
Paul Mundt | b9601c5 | 2007-06-08 11:55:28 +0900 | [diff] [blame] | 13 | CPU_SH7619, |
Yoshinori Sato | b229632 | 2006-11-05 16:18:08 +0900 | [diff] [blame] | 14 | |
| 15 | /* SH-2A types */ |
| 16 | CPU_SH7206, |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 17 | |
| 18 | /* SH-3 types */ |
Paul Mundt | e5723e0 | 2006-09-27 17:38:11 +0900 | [diff] [blame] | 19 | CPU_SH7705, CPU_SH7706, CPU_SH7707, |
| 20 | CPU_SH7708, CPU_SH7708S, CPU_SH7708R, |
Nobuhiro Iwamatsu | 9465a54 | 2007-03-27 18:13:51 +0900 | [diff] [blame] | 21 | CPU_SH7709, CPU_SH7709A, CPU_SH7710, CPU_SH7712, |
Markus Brunner | 3ea6bc3 | 2007-08-20 08:59:33 +0900 | [diff] [blame] | 22 | CPU_SH7720, CPU_SH7729, |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 23 | |
| 24 | /* SH-4 types */ |
| 25 | CPU_SH7750, CPU_SH7750S, CPU_SH7750R, CPU_SH7751, CPU_SH7751R, |
Paul Mundt | f966918 | 2007-11-07 11:05:32 +0900 | [diff] [blame] | 26 | CPU_SH7760, CPU_SH4_202, CPU_SH4_501, |
Paul Mundt | b552c7e | 2006-11-20 14:14:29 +0900 | [diff] [blame] | 27 | |
| 28 | /* SH-4A types */ |
Paul Mundt | 2b1bd1a | 2007-06-20 18:27:10 +0900 | [diff] [blame] | 29 | CPU_SH7770, CPU_SH7780, CPU_SH7781, CPU_SH7785, CPU_SHX3, |
Paul Mundt | 41504c3 | 2006-12-11 20:28:03 +0900 | [diff] [blame] | 30 | |
| 31 | /* SH4AL-DSP types */ |
Magnus Damm | 870e8a2 | 2007-07-25 10:49:21 +0900 | [diff] [blame] | 32 | CPU_SH7343, CPU_SH7722, |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 33 | |
Paul Mundt | af3c7df | 2007-11-09 17:08:54 +0900 | [diff] [blame^] | 34 | /* SH-5 types */ |
| 35 | CPU_SH5_101, CPU_SH5_103, |
| 36 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 37 | /* Unknown subtype */ |
| 38 | CPU_SH_NONE |
| 39 | }; |
| 40 | |
Paul Mundt | af3c7df | 2007-11-09 17:08:54 +0900 | [diff] [blame^] | 41 | #ifdef CONFIG_SUPERH32 |
| 42 | # include "processor_32.h" |
Paul Mundt | 19f9a34 | 2006-09-27 18:33:49 +0900 | [diff] [blame] | 43 | #else |
Paul Mundt | af3c7df | 2007-11-09 17:08:54 +0900 | [diff] [blame^] | 44 | # include "processor_64.h" |
Paul Mundt | 19f9a34 | 2006-09-27 18:33:49 +0900 | [diff] [blame] | 45 | #endif |
| 46 | |
Paul Mundt | 11c1965 | 2006-12-25 10:19:56 +0900 | [diff] [blame] | 47 | /* arch/sh/kernel/setup.c */ |
| 48 | const char *get_cpu_subtype(struct sh_cpuinfo *c); |
| 49 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 50 | #endif /* __ASM_SH_PROCESSOR_H */ |