1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 249148020SSam Ravnborg /* 349148020SSam Ravnborg * Definitions for the "Baboon" custom IC on the PowerBook 190. 449148020SSam Ravnborg */ 549148020SSam Ravnborg 649148020SSam Ravnborg #define BABOON_BASE (0x50F1A000) /* same as IDE controller base */ 749148020SSam Ravnborg 849148020SSam Ravnborg #ifndef __ASSEMBLY__ 949148020SSam Ravnborg 1049148020SSam Ravnborg struct baboon { 1149148020SSam Ravnborg char pad1[208]; /* generic IDE registers, not used here */ 1249148020SSam Ravnborg short mb_control; /* Control register: 1349148020SSam Ravnborg * bit 5 : slot 2 power control 1449148020SSam Ravnborg * bit 6 : slot 1 power control 1549148020SSam Ravnborg */ 1649148020SSam Ravnborg char pad2[2]; 1749148020SSam Ravnborg short mb_status; /* (0xD4) media bay status register: 1849148020SSam Ravnborg * 1949148020SSam Ravnborg * bit 0: ???? 2049148020SSam Ravnborg * bit 1: IDE interrupt active? 2149148020SSam Ravnborg * bit 2: bay status, 0 = full, 1 = empty 2249148020SSam Ravnborg * bit 3: ???? 2349148020SSam Ravnborg */ 2449148020SSam Ravnborg char pad3[2]; /* (0xD6) not used */ 2549148020SSam Ravnborg short mb_ifr; /* (0xD8) media bay interrupt flags register: 2649148020SSam Ravnborg * 2749148020SSam Ravnborg * bit 0: ???? 2849148020SSam Ravnborg * bit 1: IDE controller interrupt 2949148020SSam Ravnborg * bit 2: media bay status change interrupt 3049148020SSam Ravnborg */ 3149148020SSam Ravnborg }; 3249148020SSam Ravnborg 33ed04c97dSFinn Thain extern int baboon_present; 34ed04c97dSFinn Thain 35ed04c97dSFinn Thain extern void baboon_register_interrupts(void); 36ed04c97dSFinn Thain extern void baboon_irq_enable(int); 37ed04c97dSFinn Thain extern void baboon_irq_disable(int); 38ed04c97dSFinn Thain 3949148020SSam Ravnborg #endif /* __ASSEMBLY **/ 40