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