1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Definitions for the "Baboon" custom IC on the PowerBook 190. 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun #define BABOON_BASE (0x50F1A000) /* same as IDE controller base */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #ifndef __ASSEMBLY__ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun struct baboon { 11*4882a593Smuzhiyun char pad1[208]; /* generic IDE registers, not used here */ 12*4882a593Smuzhiyun short mb_control; /* Control register: 13*4882a593Smuzhiyun * bit 5 : slot 2 power control 14*4882a593Smuzhiyun * bit 6 : slot 1 power control 15*4882a593Smuzhiyun */ 16*4882a593Smuzhiyun char pad2[2]; 17*4882a593Smuzhiyun short mb_status; /* (0xD4) media bay status register: 18*4882a593Smuzhiyun * 19*4882a593Smuzhiyun * bit 0: ???? 20*4882a593Smuzhiyun * bit 1: IDE interrupt active? 21*4882a593Smuzhiyun * bit 2: bay status, 0 = full, 1 = empty 22*4882a593Smuzhiyun * bit 3: ???? 23*4882a593Smuzhiyun */ 24*4882a593Smuzhiyun char pad3[2]; /* (0xD6) not used */ 25*4882a593Smuzhiyun short mb_ifr; /* (0xD8) media bay interrupt flags register: 26*4882a593Smuzhiyun * 27*4882a593Smuzhiyun * bit 0: ???? 28*4882a593Smuzhiyun * bit 1: IDE controller interrupt 29*4882a593Smuzhiyun * bit 2: media bay status change interrupt 30*4882a593Smuzhiyun */ 31*4882a593Smuzhiyun }; 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun extern int baboon_present; 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun extern void baboon_register_interrupts(void); 36*4882a593Smuzhiyun extern void baboon_irq_enable(int); 37*4882a593Smuzhiyun extern void baboon_irq_disable(int); 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun #endif /* __ASSEMBLY **/ 40