GNU Linux-libre 4.19.286-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 #include <linux/irq.h>
8
9 #include <asm/bootinfo-mac.h>
10
11
12 /*
13  *      Apple Macintoshisms
14  */
15
16 extern void mac_reset(void);
17 extern void mac_poweroff(void);
18 extern void mac_init_IRQ(void);
19
20 extern void mac_irq_enable(struct irq_data *data);
21 extern void mac_irq_disable(struct irq_data *data);
22
23 /*
24  *      Macintosh Table
25  */
26
27 struct mac_model
28 {
29         short ident;
30         char *name;
31         char adb_type;
32         char via_type;
33         char scsi_type;
34         char ide_type;
35         char scc_type;
36         char ether_type;
37         char expansion_type;
38         char floppy_type;
39 };
40
41 #define MAC_ADB_NONE            0
42 #define MAC_ADB_II              1
43 #define MAC_ADB_EGRET           2
44 #define MAC_ADB_CUDA            3
45 #define MAC_ADB_PB1             4
46 #define MAC_ADB_PB2             5
47 #define MAC_ADB_IOP             6
48
49 #define MAC_VIA_II              1
50 #define MAC_VIA_IICI            2
51 #define MAC_VIA_QUADRA          3
52
53 #define MAC_SCSI_NONE           0
54 #define MAC_SCSI_OLD            1
55 #define MAC_SCSI_QUADRA         2
56 #define MAC_SCSI_QUADRA2        3
57 #define MAC_SCSI_QUADRA3        4
58 #define MAC_SCSI_IIFX           5
59 #define MAC_SCSI_DUO            6
60 #define MAC_SCSI_LC             7
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_EXP_NONE            0
77 #define MAC_EXP_PDS             1 /* Accepts only a PDS card */
78 #define MAC_EXP_NUBUS           2 /* Accepts only NuBus card(s) */
79 #define MAC_EXP_PDS_NUBUS       3 /* Accepts PDS card and/or NuBus card(s) */
80 #define MAC_EXP_PDS_COMM        4 /* Accepts PDS card or Comm Slot card */
81
82 #define MAC_FLOPPY_IWM          0
83 #define MAC_FLOPPY_SWIM_ADDR1   1
84 #define MAC_FLOPPY_SWIM_ADDR2   2
85 #define MAC_FLOPPY_SWIM_IOP     3
86 #define MAC_FLOPPY_AV           4
87
88 extern struct mac_model *macintosh_config;
89
90
91     /*
92      * Internal representation of the Mac hardware, filled in from bootinfo
93      */
94
95 struct mac_booter_data
96 {
97         unsigned long videoaddr;
98         unsigned long videorow;
99         unsigned long videodepth;
100         unsigned long dimensions;
101         unsigned long boottime;
102         unsigned long gmtbias;
103         unsigned long videological;
104         unsigned long sccbase;
105         unsigned long id;
106         unsigned long memsize;
107         unsigned long cpuid;
108         unsigned long rombase;
109 };
110
111 extern struct mac_booter_data mac_bi_data;
112
113 #endif