xref: /OK3568_Linux_fs/kernel/arch/m68k/include/asm/macintosh.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun #ifndef __ASM_MACINTOSH_H
3*4882a593Smuzhiyun #define __ASM_MACINTOSH_H
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun #include <linux/seq_file.h>
6*4882a593Smuzhiyun #include <linux/interrupt.h>
7*4882a593Smuzhiyun #include <linux/irq.h>
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun #include <asm/bootinfo-mac.h>
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun /*
13*4882a593Smuzhiyun  *	Apple Macintoshisms
14*4882a593Smuzhiyun  */
15*4882a593Smuzhiyun 
16*4882a593Smuzhiyun extern void mac_reset(void);
17*4882a593Smuzhiyun extern void mac_poweroff(void);
18*4882a593Smuzhiyun extern void mac_init_IRQ(void);
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun extern void mac_irq_enable(struct irq_data *data);
21*4882a593Smuzhiyun extern void mac_irq_disable(struct irq_data *data);
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun extern unsigned char mac_pram_read_byte(int);
24*4882a593Smuzhiyun extern void mac_pram_write_byte(unsigned char, int);
25*4882a593Smuzhiyun extern ssize_t mac_pram_get_size(void);
26*4882a593Smuzhiyun 
27*4882a593Smuzhiyun /*
28*4882a593Smuzhiyun  *	Macintosh Table
29*4882a593Smuzhiyun  */
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun struct mac_model
32*4882a593Smuzhiyun {
33*4882a593Smuzhiyun 	short ident;
34*4882a593Smuzhiyun 	char *name;
35*4882a593Smuzhiyun 	char adb_type;
36*4882a593Smuzhiyun 	char via_type;
37*4882a593Smuzhiyun 	char scsi_type;
38*4882a593Smuzhiyun 	char ide_type;
39*4882a593Smuzhiyun 	char scc_type;
40*4882a593Smuzhiyun 	char ether_type;
41*4882a593Smuzhiyun 	char expansion_type;
42*4882a593Smuzhiyun 	char floppy_type;
43*4882a593Smuzhiyun };
44*4882a593Smuzhiyun 
45*4882a593Smuzhiyun #define MAC_ADB_NONE		0
46*4882a593Smuzhiyun #define MAC_ADB_II		1
47*4882a593Smuzhiyun #define MAC_ADB_EGRET		2
48*4882a593Smuzhiyun #define MAC_ADB_CUDA		3
49*4882a593Smuzhiyun #define MAC_ADB_PB1		4
50*4882a593Smuzhiyun #define MAC_ADB_PB2		5
51*4882a593Smuzhiyun #define MAC_ADB_IOP		6
52*4882a593Smuzhiyun 
53*4882a593Smuzhiyun #define MAC_VIA_II		1
54*4882a593Smuzhiyun #define MAC_VIA_IICI		2
55*4882a593Smuzhiyun #define MAC_VIA_QUADRA		3
56*4882a593Smuzhiyun 
57*4882a593Smuzhiyun #define MAC_SCSI_NONE		0
58*4882a593Smuzhiyun #define MAC_SCSI_OLD		1
59*4882a593Smuzhiyun #define MAC_SCSI_QUADRA		2
60*4882a593Smuzhiyun #define MAC_SCSI_QUADRA2	3
61*4882a593Smuzhiyun #define MAC_SCSI_QUADRA3	4
62*4882a593Smuzhiyun #define MAC_SCSI_IIFX		5
63*4882a593Smuzhiyun #define MAC_SCSI_DUO		6
64*4882a593Smuzhiyun #define MAC_SCSI_LC		7
65*4882a593Smuzhiyun 
66*4882a593Smuzhiyun #define MAC_IDE_NONE		0
67*4882a593Smuzhiyun #define MAC_IDE_QUADRA		1
68*4882a593Smuzhiyun #define MAC_IDE_PB		2
69*4882a593Smuzhiyun #define MAC_IDE_BABOON		3
70*4882a593Smuzhiyun 
71*4882a593Smuzhiyun #define MAC_SCC_II		1
72*4882a593Smuzhiyun #define MAC_SCC_IOP		2
73*4882a593Smuzhiyun #define MAC_SCC_QUADRA		3
74*4882a593Smuzhiyun #define MAC_SCC_PSC		4
75*4882a593Smuzhiyun 
76*4882a593Smuzhiyun #define MAC_ETHER_NONE		0
77*4882a593Smuzhiyun #define MAC_ETHER_SONIC		1
78*4882a593Smuzhiyun #define MAC_ETHER_MACE		2
79*4882a593Smuzhiyun 
80*4882a593Smuzhiyun #define MAC_EXP_NONE		0
81*4882a593Smuzhiyun #define MAC_EXP_PDS		1 /* Accepts only a PDS card */
82*4882a593Smuzhiyun #define MAC_EXP_NUBUS		2 /* Accepts only NuBus card(s) */
83*4882a593Smuzhiyun #define MAC_EXP_PDS_NUBUS	3 /* Accepts PDS card and/or NuBus card(s) */
84*4882a593Smuzhiyun #define MAC_EXP_PDS_COMM	4 /* Accepts PDS card or Comm Slot card */
85*4882a593Smuzhiyun 
86*4882a593Smuzhiyun #define MAC_FLOPPY_UNSUPPORTED	0
87*4882a593Smuzhiyun #define MAC_FLOPPY_SWIM_IOP	1
88*4882a593Smuzhiyun #define MAC_FLOPPY_OLD		2
89*4882a593Smuzhiyun #define MAC_FLOPPY_QUADRA	3
90*4882a593Smuzhiyun #define MAC_FLOPPY_LC		4
91*4882a593Smuzhiyun 
92*4882a593Smuzhiyun extern struct mac_model *macintosh_config;
93*4882a593Smuzhiyun 
94*4882a593Smuzhiyun 
95*4882a593Smuzhiyun     /*
96*4882a593Smuzhiyun      * Internal representation of the Mac hardware, filled in from bootinfo
97*4882a593Smuzhiyun      */
98*4882a593Smuzhiyun 
99*4882a593Smuzhiyun struct mac_booter_data
100*4882a593Smuzhiyun {
101*4882a593Smuzhiyun 	unsigned long videoaddr;
102*4882a593Smuzhiyun 	unsigned long videorow;
103*4882a593Smuzhiyun 	unsigned long videodepth;
104*4882a593Smuzhiyun 	unsigned long dimensions;
105*4882a593Smuzhiyun 	unsigned long boottime;
106*4882a593Smuzhiyun 	unsigned long gmtbias;
107*4882a593Smuzhiyun 	unsigned long videological;
108*4882a593Smuzhiyun 	unsigned long sccbase;
109*4882a593Smuzhiyun 	unsigned long id;
110*4882a593Smuzhiyun 	unsigned long memsize;
111*4882a593Smuzhiyun 	unsigned long cpuid;
112*4882a593Smuzhiyun 	unsigned long rombase;
113*4882a593Smuzhiyun };
114*4882a593Smuzhiyun 
115*4882a593Smuzhiyun extern struct mac_booter_data mac_bi_data;
116*4882a593Smuzhiyun 
117*4882a593Smuzhiyun #endif
118