xref: /linux/arch/m68k/include/asm/macintosh.h (revision 976e3645923bdd2fe7893aae33fd7a21098bfb28)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
249148020SSam Ravnborg #ifndef __ASM_MACINTOSH_H
349148020SSam Ravnborg #define __ASM_MACINTOSH_H
449148020SSam Ravnborg 
549148020SSam Ravnborg #include <linux/seq_file.h>
649148020SSam Ravnborg #include <linux/interrupt.h>
7*94c04390SFinn Thain #include <linux/irq.h>
849148020SSam Ravnborg 
98693d616SGeert Uytterhoeven #include <asm/bootinfo-mac.h>
108693d616SGeert Uytterhoeven 
118693d616SGeert Uytterhoeven 
1249148020SSam Ravnborg /*
1349148020SSam Ravnborg  *	Apple Macintoshisms
1449148020SSam Ravnborg  */
1549148020SSam Ravnborg 
1649148020SSam Ravnborg extern void mac_reset(void);
1749148020SSam Ravnborg extern void mac_poweroff(void);
1849148020SSam Ravnborg extern void mac_init_IRQ(void);
1930c0527dSFinn Thain 
202690e214SFinn Thain extern void mac_irq_enable(struct irq_data *data);
212690e214SFinn Thain extern void mac_irq_disable(struct irq_data *data);
2249148020SSam Ravnborg 
23d3b41b6bSFinn Thain extern unsigned char mac_pram_read_byte(int);
24d3b41b6bSFinn Thain extern void mac_pram_write_byte(unsigned char, int);
25d3b41b6bSFinn Thain extern ssize_t mac_pram_get_size(void);
26d3b41b6bSFinn Thain 
2749148020SSam Ravnborg /*
2849148020SSam Ravnborg  *	Macintosh Table
2949148020SSam Ravnborg  */
3049148020SSam Ravnborg 
3149148020SSam Ravnborg struct mac_model
3249148020SSam Ravnborg {
3349148020SSam Ravnborg 	short ident;
3449148020SSam Ravnborg 	char *name;
3549148020SSam Ravnborg 	char adb_type;
3649148020SSam Ravnborg 	char via_type;
3749148020SSam Ravnborg 	char scsi_type;
3849148020SSam Ravnborg 	char ide_type;
3949148020SSam Ravnborg 	char scc_type;
4049148020SSam Ravnborg 	char ether_type;
41b87eaec2SFinn Thain 	char expansion_type;
427ad93b42SLaurent Vivier 	char floppy_type;
4349148020SSam Ravnborg };
4449148020SSam Ravnborg 
4549148020SSam Ravnborg #define MAC_ADB_NONE		0
4649148020SSam Ravnborg #define MAC_ADB_II		1
47f74faec6SFinn Thain #define MAC_ADB_EGRET		2
4849148020SSam Ravnborg #define MAC_ADB_CUDA		3
4949148020SSam Ravnborg #define MAC_ADB_PB1		4
5049148020SSam Ravnborg #define MAC_ADB_PB2		5
5149148020SSam Ravnborg #define MAC_ADB_IOP		6
5249148020SSam Ravnborg 
5349148020SSam Ravnborg #define MAC_VIA_II		1
54608e287bSFinn Thain #define MAC_VIA_IICI		2
5549148020SSam Ravnborg #define MAC_VIA_QUADRA		3
5649148020SSam Ravnborg 
5749148020SSam Ravnborg #define MAC_SCSI_NONE		0
5849148020SSam Ravnborg #define MAC_SCSI_OLD		1
5949148020SSam Ravnborg #define MAC_SCSI_QUADRA		2
6049148020SSam Ravnborg #define MAC_SCSI_QUADRA2	3
6149148020SSam Ravnborg #define MAC_SCSI_QUADRA3	4
62cbad48deSFinn Thain #define MAC_SCSI_IIFX		5
63cbad48deSFinn Thain #define MAC_SCSI_DUO		6
642e874d17SFinn Thain #define MAC_SCSI_LC		7
6549148020SSam Ravnborg 
6649148020SSam Ravnborg #define MAC_IDE_NONE		0
6749148020SSam Ravnborg #define MAC_IDE_QUADRA		1
6849148020SSam Ravnborg #define MAC_IDE_PB		2
6949148020SSam Ravnborg #define MAC_IDE_BABOON		3
7049148020SSam Ravnborg 
7149148020SSam Ravnborg #define MAC_SCC_II		1
7249148020SSam Ravnborg #define MAC_SCC_IOP		2
7349148020SSam Ravnborg #define MAC_SCC_QUADRA		3
7449148020SSam Ravnborg #define MAC_SCC_PSC		4
7549148020SSam Ravnborg 
7649148020SSam Ravnborg #define MAC_ETHER_NONE		0
7749148020SSam Ravnborg #define MAC_ETHER_SONIC		1
7849148020SSam Ravnborg #define MAC_ETHER_MACE		2
7949148020SSam Ravnborg 
80b87eaec2SFinn Thain #define MAC_EXP_NONE		0
81b87eaec2SFinn Thain #define MAC_EXP_PDS		1 /* Accepts only a PDS card */
82b87eaec2SFinn Thain #define MAC_EXP_NUBUS		2 /* Accepts only NuBus card(s) */
83b87eaec2SFinn Thain #define MAC_EXP_PDS_NUBUS	3 /* Accepts PDS card and/or NuBus card(s) */
84b87eaec2SFinn Thain #define MAC_EXP_PDS_COMM	4 /* Accepts PDS card or Comm Slot card */
8549148020SSam Ravnborg 
86aee6bff1SFinn Thain #define MAC_FLOPPY_UNSUPPORTED	0
87aee6bff1SFinn Thain #define MAC_FLOPPY_SWIM_IOP	1
88aee6bff1SFinn Thain #define MAC_FLOPPY_OLD		2
89aee6bff1SFinn Thain #define MAC_FLOPPY_QUADRA	3
90aee6bff1SFinn Thain #define MAC_FLOPPY_LC		4
917ad93b42SLaurent Vivier 
9249148020SSam Ravnborg extern struct mac_model *macintosh_config;
9349148020SSam Ravnborg 
94bdd47c9fSGeert Uytterhoeven 
95bdd47c9fSGeert Uytterhoeven     /*
96bdd47c9fSGeert Uytterhoeven      * Internal representation of the Mac hardware, filled in from bootinfo
97bdd47c9fSGeert Uytterhoeven      */
98bdd47c9fSGeert Uytterhoeven 
99bdd47c9fSGeert Uytterhoeven struct mac_booter_data
100bdd47c9fSGeert Uytterhoeven {
101bdd47c9fSGeert Uytterhoeven 	unsigned long videoaddr;
102bdd47c9fSGeert Uytterhoeven 	unsigned long videorow;
103bdd47c9fSGeert Uytterhoeven 	unsigned long videodepth;
104bdd47c9fSGeert Uytterhoeven 	unsigned long dimensions;
105bdd47c9fSGeert Uytterhoeven 	unsigned long boottime;
106bdd47c9fSGeert Uytterhoeven 	unsigned long gmtbias;
107bdd47c9fSGeert Uytterhoeven 	unsigned long videological;
108bdd47c9fSGeert Uytterhoeven 	unsigned long sccbase;
109bdd47c9fSGeert Uytterhoeven 	unsigned long id;
110bdd47c9fSGeert Uytterhoeven 	unsigned long memsize;
111bdd47c9fSGeert Uytterhoeven 	unsigned long cpuid;
112bdd47c9fSGeert Uytterhoeven 	unsigned long rombase;
113bdd47c9fSGeert Uytterhoeven };
114bdd47c9fSGeert Uytterhoeven 
115bdd47c9fSGeert Uytterhoeven extern struct mac_booter_data mac_bi_data;
116bdd47c9fSGeert Uytterhoeven 
11749148020SSam Ravnborg #endif
118