diff options
Diffstat (limited to 'include/asm-m68k/machw.h')
-rw-r--r-- | include/asm-m68k/machw.h | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/include/asm-m68k/machw.h b/include/asm-m68k/machw.h new file mode 100644 index 000000000000..d2e0e25d5c90 --- /dev/null +++ b/include/asm-m68k/machw.h | |||
@@ -0,0 +1,101 @@ | |||
1 | /* | ||
2 | ** linux/machw.h -- This header defines some macros and pointers for | ||
3 | ** the various Macintosh custom hardware registers. | ||
4 | ** | ||
5 | ** Copyright 1997 by Michael Schmitz | ||
6 | ** | ||
7 | ** This file is subject to the terms and conditions of the GNU General Public | ||
8 | ** License. See the file COPYING in the main directory of this archive | ||
9 | ** for more details. | ||
10 | ** | ||
11 | */ | ||
12 | |||
13 | #ifndef _ASM_MACHW_H_ | ||
14 | #define _ASM_MACHW_H_ | ||
15 | |||
16 | /* | ||
17 | * head.S maps the videomem to VIDEOMEMBASE | ||
18 | */ | ||
19 | |||
20 | #define VIDEOMEMBASE 0xf0000000 | ||
21 | #define VIDEOMEMSIZE (4096*1024) | ||
22 | #define VIDEOMEMMASK (-4096*1024) | ||
23 | |||
24 | #ifndef __ASSEMBLY__ | ||
25 | |||
26 | #include <linux/types.h> | ||
27 | |||
28 | #if 0 | ||
29 | /* Mac SCSI Controller 5380 */ | ||
30 | |||
31 | #define MAC_5380_BAS (0x50F10000) /* This is definitely wrong!! */ | ||
32 | struct MAC_5380 { | ||
33 | u_char scsi_data; | ||
34 | u_char char_dummy1; | ||
35 | u_char scsi_icr; | ||
36 | u_char char_dummy2; | ||
37 | u_char scsi_mode; | ||
38 | u_char char_dummy3; | ||
39 | u_char scsi_tcr; | ||
40 | u_char char_dummy4; | ||
41 | u_char scsi_idstat; | ||
42 | u_char char_dummy5; | ||
43 | u_char scsi_dmastat; | ||
44 | u_char char_dummy6; | ||
45 | u_char scsi_targrcv; | ||
46 | u_char char_dummy7; | ||
47 | u_char scsi_inircv; | ||
48 | }; | ||
49 | #define mac_scsi ((*(volatile struct MAC_5380 *)MAC_5380_BAS)) | ||
50 | |||
51 | /* | ||
52 | ** SCC Z8530 | ||
53 | */ | ||
54 | |||
55 | #define MAC_SCC_BAS (0x50F04000) | ||
56 | struct MAC_SCC | ||
57 | { | ||
58 | u_char cha_a_ctrl; | ||
59 | u_char char_dummy1; | ||
60 | u_char cha_a_data; | ||
61 | u_char char_dummy2; | ||
62 | u_char cha_b_ctrl; | ||
63 | u_char char_dummy3; | ||
64 | u_char cha_b_data; | ||
65 | }; | ||
66 | # define mac_scc ((*(volatile struct SCC*)MAC_SCC_BAS)) | ||
67 | #endif | ||
68 | |||
69 | /* hardware stuff */ | ||
70 | |||
71 | #define MACHW_DECLARE(name) unsigned name : 1 | ||
72 | #define MACHW_SET(name) (mac_hw_present.name = 1) | ||
73 | #define MACHW_PRESENT(name) (mac_hw_present.name) | ||
74 | |||
75 | struct mac_hw_present { | ||
76 | /* video hardware */ | ||
77 | /* sound hardware */ | ||
78 | /* disk storage interfaces */ | ||
79 | MACHW_DECLARE(MAC_SCSI_80); /* Directly mapped NCR5380 */ | ||
80 | MACHW_DECLARE(MAC_SCSI_96); /* 53c9[46] */ | ||
81 | MACHW_DECLARE(MAC_SCSI_96_2); /* 2nd 53c9[46] Q900 and Q950 */ | ||
82 | MACHW_DECLARE(IDE); /* IDE Interface */ | ||
83 | /* other I/O hardware */ | ||
84 | MACHW_DECLARE(SCC); /* Serial Communications Contr. */ | ||
85 | /* DMA */ | ||
86 | MACHW_DECLARE(SCSI_DMA); /* DMA for the NCR5380 */ | ||
87 | /* real time clocks */ | ||
88 | MACHW_DECLARE(RTC_CLK); /* clock chip */ | ||
89 | /* supporting hardware */ | ||
90 | MACHW_DECLARE(VIA1); /* Versatile Interface Ad. 1 */ | ||
91 | MACHW_DECLARE(VIA2); /* Versatile Interface Ad. 2 */ | ||
92 | MACHW_DECLARE(RBV); /* Versatile Interface Ad. 2+ */ | ||
93 | /* NUBUS */ | ||
94 | MACHW_DECLARE(NUBUS); /* NUBUS */ | ||
95 | }; | ||
96 | |||
97 | extern struct mac_hw_present mac_hw_present; | ||
98 | |||
99 | #endif /* __ASSEMBLY__ */ | ||
100 | |||
101 | #endif /* linux/machw.h */ | ||