blob: d323b2c2d07d4e9a574da7e7f97d7a21bca08b6f [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
Geert Uytterhoeven8693d612013-10-03 11:40:00 +02007#include <asm/bootinfo-mac.h>
8
9
Linus Torvalds1da177e2005-04-16 15:20:36 -070010/*
11 * Apple Macintoshisms
12 */
13
14extern void mac_reset(void);
15extern void mac_poweroff(void);
16extern void mac_init_IRQ(void);
Finn Thain30c05272011-10-24 01:11:14 +110017
Finn Thain2690e212011-09-11 23:40:50 +100018extern void mac_irq_enable(struct irq_data *data);
19extern void mac_irq_disable(struct irq_data *data);
Linus Torvalds1da177e2005-04-16 15:20:36 -070020
21/*
Linus Torvalds1da177e2005-04-16 15:20:36 -070022 * 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;
Laurent Vivier7ad93b42008-11-06 20:57:41 +010036 char floppy_type;
Linus Torvalds1da177e2005-04-16 15:20:36 -070037};
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
Finn Thain608e2872011-10-24 01:11:22 +110048#define MAC_VIA_IICI 2
Linus Torvalds1da177e2005-04-16 15:20:36 -070049#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
57#define MAC_IDE_NONE 0
58#define MAC_IDE_QUADRA 1
59#define MAC_IDE_PB 2
60#define MAC_IDE_BABOON 3
61
62#define MAC_SCC_II 1
63#define MAC_SCC_IOP 2
64#define MAC_SCC_QUADRA 3
65#define MAC_SCC_PSC 4
66
67#define MAC_ETHER_NONE 0
68#define MAC_ETHER_SONIC 1
69#define MAC_ETHER_MACE 2
70
71#define MAC_NO_NUBUS 0
72#define MAC_NUBUS 1
73
Laurent Vivier7ad93b42008-11-06 20:57:41 +010074#define MAC_FLOPPY_IWM 0
75#define MAC_FLOPPY_SWIM_ADDR1 1
76#define MAC_FLOPPY_SWIM_ADDR2 2
77#define MAC_FLOPPY_SWIM_IOP 3
78#define MAC_FLOPPY_AV 4
79
Linus Torvalds1da177e2005-04-16 15:20:36 -070080extern struct mac_model *macintosh_config;
81
Geert Uytterhoevenbdd47c92013-10-02 10:01:43 +020082
83 /*
84 * Internal representation of the Mac hardware, filled in from bootinfo
85 */
86
87struct mac_booter_data
88{
89 unsigned long videoaddr;
90 unsigned long videorow;
91 unsigned long videodepth;
92 unsigned long dimensions;
93 unsigned long boottime;
94 unsigned long gmtbias;
95 unsigned long videological;
96 unsigned long sccbase;
97 unsigned long id;
98 unsigned long memsize;
99 unsigned long cpuid;
100 unsigned long rombase;
101};
102
103extern struct mac_booter_data mac_bi_data;
104
Linus Torvalds1da177e2005-04-16 15:20:36 -0700105#endif