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