Yet more RM7000 bits.
[linux-2.6/linux-mips.git] / include / asm-mips / bootinfo.h
bloba66c826f03db96a80b7019603ac95a0c3f7d1ee3
1 /*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file COPYING in the main directory of this archive
4 * for more details.
6 * Copyright (C) 1995, 1996 by Ralf Baechle, Andreas Busse,
7 * Stoned Elipot and Paul M. Antoine.
8 */
9 #ifndef _ASM_BOOTINFO_H
10 #define _ASM_BOOTINFO_H
13 * Values for machgroup
15 #define MACH_GROUP_UNKNOWN 0 /* whatever... */
16 #define MACH_GROUP_JAZZ 1 /* Jazz */
17 #define MACH_GROUP_DEC 2 /* Digital Equipment */
18 #define MACH_GROUP_ARC 3 /* Wreckstation Tyne, rPC44, possibly other */
19 #define MACH_GROUP_SNI_RM 4 /* Siemens Nixdorf RM series */
20 #define MACH_GROUP_ACN 5
21 #define MACH_GROUP_SGI 6 /* Silicon Graphics workstations and servers */
22 #define MACH_GROUP_COBALT 7 /* Cobalt servers */
23 #define MACH_GROUP_NEC_DDB 8 /* NEC DDB */
24 #define MACH_GROUP_BAGET 9 /* Baget */
25 #define MACH_GROUP_ORION 10 /* CoSine Orion */
27 #define GROUP_NAMES { "unknown", "Jazz", "Digital", "ARC", \
28 "SNI", "ACN", "SGI", "Cobalt", "NEC DDB", "Baget", "Orion" }
31 * Valid machtype values for group unknown (low order halfword of mips_machtype)
33 #define MACH_UNKNOWN 0 /* whatever... */
35 #define GROUP_UNKNOWN_NAMES { "unknown" }
38 * Valid machtype values for group JAZZ
40 #define MACH_ACER_PICA_61 0 /* Acer PICA-61 (PICA1) */
41 #define MACH_MIPS_MAGNUM_4000 1 /* Mips Magnum 4000 "RC4030" */
42 #define MACH_OLIVETTI_M700 2 /* Olivetti M700-10 (-15 ??) */
44 #define GROUP_JAZZ_NAMES { "Acer PICA 61", "Mips Magnum 4000", "Olivetti M700" }
47 * Valid machtype for group DEC
49 #define MACH_DSUNKNOWN 0
50 #define MACH_DS23100 1 /* DECstation 2100 or 3100 */
51 #define MACH_DS5100 2 /* DECstation 5100 */
52 #define MACH_DS5000_200 3 /* DECstation 5000/200 */
53 #define MACH_DS5000_1XX 4 /* DECstation 5000/120, 125, 133, 150 */
54 #define MACH_DS5000_XX 5 /* DECstation 5000/20, 25, 33, 50 */
55 #define MACH_DS5000_2X0 6 /* DECstation 5000/240, 260 */
56 #define MACH_DS5400 7 /* DECstation 5400 */
57 #define MACH_DS5500 8 /* DECstation 5500 */
58 #define MACH_DS5800 9 /* DECstation 5800 */
60 #define GROUP_DEC_NAMES { "unknown", "DECstation 2100/3100", "DECstation 5100", \
61 "DECstation 5000/200", "DECstation 5000/1xx", "Personal DECstation 5000/xx", \
62 "DECstation 5000/2x0", "DECstation 5400", "DECstation 5500", \
63 "DECstation 5800" }
66 * Valid machtype for group ARC
68 #define MACH_DESKSTATION_RPC44 0 /* Deskstation rPC44 */
69 #define MACH_DESKSTATION_TYNE 1 /* Deskstation Tyne */
71 #define GROUP_ARC_NAMES { "Deskstation rPC44", "Deskstation Tyne" }
74 * Valid machtype for group SNI_RM
76 #define MACH_SNI_RM200_PCI 0 /* RM200/RM300/RM400 PCI series */
78 #define GROUP_SNI_RM_NAMES { "RM200 PCI" }
81 * Valid machtype for group ACN
83 #define MACH_ACN_MIPS_BOARD 0 /* ACN MIPS single board */
85 #define GROUP_ACN_NAMES { "ACN" }
88 * Valid machtype for group SGI
90 #define MACH_SGI_INDY 0 /* R4?K and R5K Indy workstaions */
92 #define GROUP_SGI_NAMES { "Indy" }
95 * Valid machtype for group COBALT
97 #define MACH_COBALT_27 0 /* Proto "27" hardware */
99 #define GROUP_COBALT_NAMES { "Microserver 27" }
102 * Valid machtype for group NEC DDB
104 #define MACH_NEC_DDB5074 0 /* NEC DDB Vrc-5074 */
106 #define GROUP_NEC_DDB_NAMES { "Vrc-5074" }
109 * Valid machtype for group BAGET
111 #define MACH_BAGET201 0 /* BT23-201 */
112 #define MACH_BAGET202 1 /* BT23-202 */
114 #define GROUP_BAGET_NAMES { "BT23-201", "BT23-202" }
117 * Valid cputype values
119 #define CPU_UNKNOWN 0
120 #define CPU_R2000 1
121 #define CPU_R3000 2
122 #define CPU_R3000A 3
123 #define CPU_R3041 4
124 #define CPU_R3051 5
125 #define CPU_R3052 6
126 #define CPU_R3081 7
127 #define CPU_R3081E 8
128 #define CPU_R4000PC 9
129 #define CPU_R4000SC 10
130 #define CPU_R4000MC 11
131 #define CPU_R4200 12
132 #define CPU_R4400PC 13
133 #define CPU_R4400SC 14
134 #define CPU_R4400MC 15
135 #define CPU_R4600 16
136 #define CPU_R6000 17
137 #define CPU_R6000A 18
138 #define CPU_R8000 19
139 #define CPU_R10000 20
140 #define CPU_R4300 21
141 #define CPU_R4650 22
142 #define CPU_R4700 23
143 #define CPU_R5000 24
144 #define CPU_R5000A 25
145 #define CPU_R4640 26
146 #define CPU_NEVADA 27 /* RM5230, RM5260 */
147 #define CPU_RM7000 28
148 #define CPU_LAST 28
150 #define CPU_NAMES { "unknown", "R2000", "R3000", "R3000A", "R3041", "R3051", \
151 "R3052", "R3081", "R3081E", "R4000PC", "R4000SC", "R4000MC", \
152 "R4200", "R4400PC", "R4400SC", "R4400MC", "R4600", "R6000", \
153 "R6000A", "R8000", "R10000", "R4300", "R4650", "R4700", "R5000", \
154 "R5000A", "R4640", "Nevada", "RM7000" }
156 #define CL_SIZE (80)
158 #ifndef _LANGUAGE_ASSEMBLY
161 * Some machine parameters passed by the bootloaders.
164 struct drive_info_struct {
165 char dummy[32];
168 /* This is the same as in Milo but renamed for the sake of kernel's */
169 /* namespace */
170 typedef struct mips_arc_DisplayInfo { /* video adapter information */
171 unsigned short cursor_x;
172 unsigned short cursor_y;
173 unsigned short columns;
174 unsigned short lines;
175 } mips_arc_DisplayInfo;
177 /* default values for drive info */
178 #define DEFAULT_DRIVE_INFO { {0,}}
181 * These are the kernel variables initialized from
182 * the tag. And they have to be initialized to dummy/default
183 * values in setup.c (or whereever suitable) so they are in
184 * .data section
186 extern unsigned long mips_memory_upper;
187 extern unsigned long mips_cputype;
188 extern unsigned long mips_machtype;
189 extern unsigned long mips_machgroup;
190 extern unsigned long mips_tlb_entries;
192 #endif /* _LANGUAGE_ASSEMBLY */
194 #endif /* _ASM_BOOTINFO_H */