xref: /openbmc/linux/arch/m68k/include/asm/macintosh.h (revision b7019ac5)
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
117