/* * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ * * The contents of this file constitute Original Code as defined in and * are subject to the Apple Public Source License Version 1.1 (the * "License"). You may not use this file except in compliance with the * License. Please obtain a copy of the License at * http://www.apple.com/publicsource and read it before using this file. * * This Original Code and all software distributed under the License are * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the * License for the specific language governing rights and limitations * under the License. * * @APPLE_LICENSE_HEADER_END@ */ /* * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. * * DRI: Josh de Cesare * */ #ifndef _IOKIT_HEATHROW_H #define _IOKIT_HEATHROW_H #include #include #include #define kPrimaryHeathrow (0) #define kSecondaryHeathrow (1) #define kNumVectors (64) #define kVectorsPerReg (32) #define kTypeLevelMask (0x1FF00000) #define kEvents1Offset (0x00020) #define kEvents2Offset (0x00010) #define kMask1Offset (0x00024) #define kMask2Offset (0x00014) #define kClear1Offset (0x00028) #define kClear2Offset (0x00018) #define kLevels1Offset (0x0002C) #define kLevels2Offset (0x0001C) #define kChassisLightColor (0x00032) class HeathrowInterruptController; class Heathrow : public AppleMacIO { OSDeclareDefaultStructors(Heathrow); private: /* Feature Control Register */ enum { heathrowFCTrans = 24, // 0 = Transceiver On (for SCC ports) heathrowFCMBPwr = 25, // 1 = power off Media Bay heathrowFCPCIMBEn = 26, // 1 = enable PCI Media Bay heathrowFCATAMBEn = 27, // 1 = enable ATA Media Bay heathrowFCFloppyEn = 28, // 1 = enable floppy heathrowFCATAINTEn = 29, // 1 = enable internal ATA inputs heathrowFCATA0Reset = 30, // reset ATA0 heathrowFCMBReset = 31, // reset Media Bay heathrowFCIOBusEn = 16, // IO Bus Enable heathrowFCSCCCEn = 17, // 0 = Stop SCC clock heathrowFCSCSICEn = 18, // 0 = Stop SCSE clock heathrowFCSWIMCEn = 19, // 0 = Stop SWIM clock heathrowFCSndPwr = 20, // 0 = power off to sound chip heathrowFCSndClkEn = 21, // 1 = enable external shift sound clock heathrowFCSCCAEn = 22, // 1 = enable SCCA heathrowFCSCCBEn = 23, // 1 = enable SCCB heathrowFCVIAPort = 8, // 1 = VIA functions in port mode heathrowFCPWM = 9, // 0 = turns off PWM counters heathrowFCHookPB = 10, // changes functions of IO pins heathrowFCSWIM3 = 11, // changes functions of floppy pins heathrowFCAud22 = 12, // 1 = SND_22M is running heathrowFCSCSILink = 13, // heathrowFCArbByPass = 14, // 1 = internal arbiter by passed heathrowFCATA1Reset = 15, // heathrowFCSCCPClk = 0, // 1 = SCC pClk forced low heathrowFCResetSCC = 1, // 1 = reset SCC cell heathrowFCMediaBaybits = (1<