Merge branch 'for-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
[sfrench/cifs-2.6.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 extern unsigned char mac_pram_read_byte(int);
23 extern void mac_pram_write_byte(unsigned char, int);
24 extern ssize_t mac_pram_get_size(void);
25
26 /*
27  *      Macintosh Table
28  */
29
30 struct mac_model
31 {
32         short ident;
33         char *name;
34         char adb_type;
35         char via_type;
36         char scsi_type;
37         char ide_type;
38         char scc_type;
39         char ether_type;
40         char expansion_type;
41         char floppy_type;
42 };
43
44 #define MAC_ADB_NONE            0
45 #define MAC_ADB_II              1
46 #define MAC_ADB_EGRET           2
47 #define MAC_ADB_CUDA            3
48 #define MAC_ADB_PB1             4
49 #define MAC_ADB_PB2             5
50 #define MAC_ADB_IOP             6
51
52 #define MAC_VIA_II              1
53 #define MAC_VIA_IICI            2
54 #define MAC_VIA_QUADRA          3
55
56 #define MAC_SCSI_NONE           0
57 #define MAC_SCSI_OLD            1
58 #define MAC_SCSI_QUADRA         2
59 #define MAC_SCSI_QUADRA2        3
60 #define MAC_SCSI_QUADRA3        4
61 #define MAC_SCSI_IIFX           5
62 #define MAC_SCSI_DUO            6
63 #define MAC_SCSI_LC             7
64
65 #define MAC_IDE_NONE            0
66 #define MAC_IDE_QUADRA          1
67 #define MAC_IDE_PB              2
68 #define MAC_IDE_BABOON          3
69
70 #define MAC_SCC_II              1
71 #define MAC_SCC_IOP             2
72 #define MAC_SCC_QUADRA          3
73 #define MAC_SCC_PSC             4
74
75 #define MAC_ETHER_NONE          0
76 #define MAC_ETHER_SONIC         1
77 #define MAC_ETHER_MACE          2
78
79 #define MAC_EXP_NONE            0
80 #define MAC_EXP_PDS             1 /* Accepts only a PDS card */
81 #define MAC_EXP_NUBUS           2 /* Accepts only NuBus card(s) */
82 #define MAC_EXP_PDS_NUBUS       3 /* Accepts PDS card and/or NuBus card(s) */
83 #define MAC_EXP_PDS_COMM        4 /* Accepts PDS card or Comm Slot card */
84
85 #define MAC_FLOPPY_IWM          0
86 #define MAC_FLOPPY_SWIM_ADDR1   1
87 #define MAC_FLOPPY_SWIM_ADDR2   2
88 #define MAC_FLOPPY_SWIM_IOP     3
89 #define MAC_FLOPPY_AV           4
90
91 extern struct mac_model *macintosh_config;
92
93
94     /*
95      * Internal representation of the Mac hardware, filled in from bootinfo
96      */
97
98 struct mac_booter_data
99 {
100         unsigned long videoaddr;
101         unsigned long videorow;
102         unsigned long videodepth;
103         unsigned long dimensions;
104         unsigned long boottime;
105         unsigned long gmtbias;
106         unsigned long videological;
107         unsigned long sccbase;
108         unsigned long id;
109         unsigned long memsize;
110         unsigned long cpuid;
111         unsigned long rombase;
112 };
113
114 extern struct mac_booter_data mac_bi_data;
115
116 #endif