1#ifndef __ASM_MACINTOSH_H
2#define __ASM_MACINTOSH_H
3
4/*
5 *	Apple Macintoshisms
6 */
7
8extern void mac_reset(void);
9extern void mac_poweroff(void);
10extern void mac_init_IRQ(void);
11extern int mac_request_irq (unsigned int, void (*)(int, void *,
12				struct pt_regs *),
13				unsigned long, const char *, void *);
14extern void mac_free_irq(unsigned int, void *);
15extern void mac_enable_irq(unsigned int);
16extern void mac_disable_irq(unsigned int);
17extern int mac_irq_pending(unsigned int);
18extern int mac_get_irq_list(char *);
19extern void mac_identify(void);
20extern void mac_report_hardware(void);
21extern void mac_debugging_penguin(int);
22extern void mac_boom(int);
23
24/*
25 *	Floppy driver magic hook - probably shouldnt be here
26 */
27
28extern void via1_set_head(int);
29
30extern void parse_booter(char *ptr);
31extern void print_booter(char *ptr);
32
33/*
34 *	Macintosh Table
35 */
36
37struct mac_model
38{
39	short ident;
40	char *name;
41	char adb_type;
42	char via_type;
43	char scsi_type;
44	char ide_type;
45	char scc_type;
46	char ether_type;
47	char nubus_type;
48};
49
50#define MAC_ADB_NONE		0
51#define MAC_ADB_II		1
52#define MAC_ADB_IISI		2
53#define MAC_ADB_CUDA		3
54#define MAC_ADB_PB1		4
55#define MAC_ADB_PB2		5
56#define MAC_ADB_IOP		6
57
58#define MAC_VIA_II		1
59#define MAC_VIA_IIci		2
60#define MAC_VIA_QUADRA		3
61
62#define MAC_SCSI_NONE		0
63#define MAC_SCSI_OLD		1
64#define MAC_SCSI_QUADRA		2
65#define MAC_SCSI_QUADRA2	3
66#define MAC_SCSI_QUADRA3	4
67
68#define MAC_IDE_NONE		0
69#define MAC_IDE_QUADRA		1
70#define MAC_IDE_PB		2
71#define MAC_IDE_BABOON		3
72
73#define MAC_SCC_II		1
74#define MAC_SCC_QUADRA		2
75#define MAC_SCC_QUADRA2		3
76#define MAC_SCC_IOP		4
77
78#define MAC_ETHER_NONE		0
79#define MAC_ETHER_SONIC		1
80#define MAC_ETHER_MACE		2
81
82#define MAC_NO_NUBUS		0
83#define MAC_NUBUS		1
84
85/*
86 *	Gestalt numbers
87 */
88
89#define MAC_MODEL_II		6
90#define MAC_MODEL_IIX		7
91#define MAC_MODEL_IICX		8
92#define MAC_MODEL_SE30		9
93#define MAC_MODEL_IICI		11
94#define MAC_MODEL_IIFX		13	/* And well numbered it is too */
95#define MAC_MODEL_IISI		18
96#define MAC_MODEL_LC		19
97#define MAC_MODEL_Q900		20
98#define MAC_MODEL_PB170		21
99#define MAC_MODEL_Q700		22
100#define MAC_MODEL_CLII		23	/* aka: P200 */
101#define MAC_MODEL_PB140		25
102#define MAC_MODEL_Q950		26	/* aka: WGS95 */
103#define MAC_MODEL_LCIII		27	/* aka: P450 */
104#define MAC_MODEL_PB210		29
105#define MAC_MODEL_C650		30
106#define MAC_MODEL_PB230		32
107#define MAC_MODEL_PB180		33
108#define MAC_MODEL_PB160		34
109#define MAC_MODEL_Q800		35	/* aka: WGS80 */
110#define MAC_MODEL_Q650		36
111#define MAC_MODEL_LCII		37	/* aka: P400/405/410/430 */
112#define MAC_MODEL_PB250		38
113#define MAC_MODEL_IIVI		44
114#define MAC_MODEL_P600		45	/* aka: P600CD */
115#define MAC_MODEL_IIVX		48
116#define MAC_MODEL_CCL		49	/* aka: P250 */
117#define MAC_MODEL_PB165C	50
118#define MAC_MODEL_C610		52	/* aka: WGS60 */
119#define MAC_MODEL_Q610		53
120#define MAC_MODEL_PB145		54	/* aka: PB145B */
121#define MAC_MODEL_P520		56	/* aka: LC520 */
122#define MAC_MODEL_C660		60
123#define MAC_MODEL_P460		62	/* aka: LCIII+, P466/P467 */
124#define MAC_MODEL_PB180C	71
125#define MAC_MODEL_PB520		72	/* aka: PB520C, PB540, PB540C, PB550C */
126#define MAC_MODEL_PB270C	77
127#define MAC_MODEL_Q840		78
128#define MAC_MODEL_P550		80	/* aka: LC550, P560 */
129#define MAC_MODEL_CCLII		83	/* aka: P275 */
130#define MAC_MODEL_PB165		84
131#define MAC_MODEL_PB190		85	/* aka: PB190CS */
132#define MAC_MODEL_TV		88
133#define MAC_MODEL_P475		89	/* aka: LC475, P476 */
134#define MAC_MODEL_P475F		90	/* aka: P475 w/ FPU (no LC040) */
135#define MAC_MODEL_P575		92	/* aka: LC575, P577/P578 */
136#define MAC_MODEL_Q605		94
137#define MAC_MODEL_Q630		98	/* aka: LC630, P630/631/635/636/637/638/640 */
138#define MAC_MODEL_P588		99	/* aka: LC580, P580 */
139#define MAC_MODEL_PB280		102
140#define MAC_MODEL_PB280C	103
141#define MAC_MODEL_PB150		115
142
143extern struct mac_model *macintosh_config;
144
145#endif
146