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