Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
mac_baboon.h
Go to the documentation of this file.
1 /*
2  * Definitions for the "Baboon" custom IC on the PowerBook 190.
3  */
4 
5 #define BABOON_BASE (0x50F1A000) /* same as IDE controller base */
6 
7 #ifndef __ASSEMBLY__
8 
9 struct baboon {
10  char pad1[208]; /* generic IDE registers, not used here */
11  short mb_control; /* Control register:
12  * bit 5 : slot 2 power control
13  * bit 6 : slot 1 power control
14  */
15  char pad2[2];
16  short mb_status; /* (0xD4) media bay status register:
17  *
18  * bit 0: ????
19  * bit 1: IDE interrupt active?
20  * bit 2: bay status, 0 = full, 1 = empty
21  * bit 3: ????
22  */
23  char pad3[2]; /* (0xD6) not used */
24  short mb_ifr; /* (0xD8) media bay interrupt flags register:
25  *
26  * bit 0: ????
27  * bit 1: IDE controller interrupt
28  * bit 2: media bay status change interrupt
29  */
30 };
31 
32 extern int baboon_present;
33 
34 extern void baboon_register_interrupts(void);
35 extern void baboon_irq_enable(int);
36 extern void baboon_irq_disable(int);
37 
38 #endif /* __ASSEMBLY **/