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