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