162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Definitions for the "Baboon" custom IC on the PowerBook 190. 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#define BABOON_BASE (0x50F1A000) /* same as IDE controller base */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#ifndef __ASSEMBLY__ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_cistruct baboon { 1162306a36Sopenharmony_ci char pad1[208]; /* generic IDE registers, not used here */ 1262306a36Sopenharmony_ci short mb_control; /* Control register: 1362306a36Sopenharmony_ci * bit 5 : slot 2 power control 1462306a36Sopenharmony_ci * bit 6 : slot 1 power control 1562306a36Sopenharmony_ci */ 1662306a36Sopenharmony_ci char pad2[2]; 1762306a36Sopenharmony_ci short mb_status; /* (0xD4) media bay status register: 1862306a36Sopenharmony_ci * 1962306a36Sopenharmony_ci * bit 0: ???? 2062306a36Sopenharmony_ci * bit 1: IDE interrupt active? 2162306a36Sopenharmony_ci * bit 2: bay status, 0 = full, 1 = empty 2262306a36Sopenharmony_ci * bit 3: ???? 2362306a36Sopenharmony_ci */ 2462306a36Sopenharmony_ci char pad3[2]; /* (0xD6) not used */ 2562306a36Sopenharmony_ci short mb_ifr; /* (0xD8) media bay interrupt flags register: 2662306a36Sopenharmony_ci * 2762306a36Sopenharmony_ci * bit 0: ???? 2862306a36Sopenharmony_ci * bit 1: IDE controller interrupt 2962306a36Sopenharmony_ci * bit 2: media bay status change interrupt 3062306a36Sopenharmony_ci */ 3162306a36Sopenharmony_ci}; 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ciextern int baboon_present; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ciextern void baboon_register_interrupts(void); 3662306a36Sopenharmony_ciextern void baboon_irq_enable(int); 3762306a36Sopenharmony_ciextern void baboon_irq_disable(int); 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci#endif /* __ASSEMBLY **/ 40