1#ifndef __ASM_MACINTOSH_H
2#define __ASM_MACINTOSH_H
3
4#include <linux/seq_file.h>
5#include <linux/interrupt.h>
6
7#include <asm/bootinfo-mac.h>
8
9
10/*
11 *	Apple Macintoshisms
12 */
13
14extern void mac_reset(void);
15extern void mac_poweroff(void);
16extern void mac_init_IRQ(void);
17
18extern void mac_irq_enable(struct irq_data *data);
19extern void mac_irq_disable(struct irq_data *data);
20
21/*
22 *	Macintosh Table
23 */
24
25struct mac_model
26{
27	short ident;
28	char *name;
29	char adb_type;
30	char via_type;
31	char scsi_type;
32	char ide_type;
33	char scc_type;
34	char ether_type;
35	char nubus_type;
36	char floppy_type;
37};
38
39#define MAC_ADB_NONE		0
40#define MAC_ADB_II		1
41#define MAC_ADB_IISI		2
42#define MAC_ADB_CUDA		3
43#define MAC_ADB_PB1		4
44#define MAC_ADB_PB2		5
45#define MAC_ADB_IOP		6
46
47#define MAC_VIA_II		1
48#define MAC_VIA_IICI		2
49#define MAC_VIA_QUADRA		3
50
51#define MAC_SCSI_NONE		0
52#define MAC_SCSI_OLD		1
53#define MAC_SCSI_QUADRA		2
54#define MAC_SCSI_QUADRA2	3
55#define MAC_SCSI_QUADRA3	4
56#define MAC_SCSI_IIFX		5
57#define MAC_SCSI_DUO		6
58#define MAC_SCSI_LC		7
59#define MAC_SCSI_LATE		8
60
61#define MAC_IDE_NONE		0
62#define MAC_IDE_QUADRA		1
63#define MAC_IDE_PB		2
64#define MAC_IDE_BABOON		3
65
66#define MAC_SCC_II		1
67#define MAC_SCC_IOP		2
68#define MAC_SCC_QUADRA		3
69#define MAC_SCC_PSC		4
70
71#define MAC_ETHER_NONE		0
72#define MAC_ETHER_SONIC		1
73#define MAC_ETHER_MACE		2
74
75#define MAC_NO_NUBUS		0
76#define MAC_NUBUS		1
77
78#define MAC_FLOPPY_IWM		0
79#define MAC_FLOPPY_SWIM_ADDR1	1
80#define MAC_FLOPPY_SWIM_ADDR2	2
81#define MAC_FLOPPY_SWIM_IOP	3
82#define MAC_FLOPPY_AV		4
83
84extern struct mac_model *macintosh_config;
85
86
87    /*
88     * Internal representation of the Mac hardware, filled in from bootinfo
89     */
90
91struct mac_booter_data
92{
93	unsigned long videoaddr;
94	unsigned long videorow;
95	unsigned long videodepth;
96	unsigned long dimensions;
97	unsigned long boottime;
98	unsigned long gmtbias;
99	unsigned long videological;
100	unsigned long sccbase;
101	unsigned long id;
102	unsigned long memsize;
103	unsigned long cpuid;
104	unsigned long rombase;
105};
106
107extern struct mac_booter_data mac_bi_data;
108
109#endif
110