Loading...
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
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