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