macintosh.h (2438B)
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 16extern void mac_reset(void); 17extern void mac_poweroff(void); 18extern void mac_init_IRQ(void); 19 20extern void mac_irq_enable(struct irq_data *data); 21extern void mac_irq_disable(struct irq_data *data); 22 23extern unsigned char mac_pram_read_byte(int); 24extern void mac_pram_write_byte(unsigned char, int); 25extern ssize_t mac_pram_get_size(void); 26 27/* 28 * Macintosh Table 29 */ 30 31struct 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 92extern struct mac_model *macintosh_config; 93 94 95 /* 96 * Internal representation of the Mac hardware, filled in from bootinfo 97 */ 98 99struct 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 115extern struct mac_booter_data mac_bi_data; 116 117#endif