|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. ! 3: * ! 4: * @APPLE_LICENSE_HEADER_START@ ! 5: * ! 6: * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights ! 7: * Reserved. This file contains Original Code and/or Modifications of ! 8: * Original Code as defined in and that are subject to the Apple Public ! 9: * Source License Version 1.1 (the "License"). You may not use this file ! 10: * except in compliance with the License. Please obtain a copy of the ! 11: * License at http://www.apple.com/publicsource and read it before using ! 12: * this file. ! 13: * ! 14: * The Original Code and all software distributed under the License are ! 15: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER ! 16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, ! 17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, ! 18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the ! 19: * License for the specific language governing rights and limitations ! 20: * under the License. ! 21: * ! 22: * @APPLE_LICENSE_HEADER_END@ ! 23: */ ! 24: ! 25: /* ! 26: * PCI Control registers for Cmd646X chipset ! 27: * ! 28: */ ! 29: #define kCmd646xCFR 0x50 /* Configuration */ ! 30: #define kCmd646xCFR_DSA1 0x40 ! 31: #define kCmd646xCFR_IDEIntPRI 0x04 ! 32: ! 33: #define kCmd646xCNTRL 0x51 /* Drive 0/1 Control Register */ ! 34: #define kCmd646xCNTRL_Drive1ReadAhead 0x80 ! 35: #define kCmd646xCNTRL_Drive0ReadAhead 0x40 ! 36: #define kCmd646xCNTRL_EnableSDY 0x08 ! 37: #define kCmd646xCNTRL_EnablePRI 0x04 ! 38: ! 39: #define kCmd646xCMDTIM 0x52 /* Task file timing (all drives) */ ! 40: #define kCmd646xCMDTIM_Drive01CmdActive 0xF0 ! 41: #define kCmd646xCMDTIM_Drive01CmdRecovery 0x0F ! 42: ! 43: #define kCmd646xARTTIM0 0x53 /* Drive 0 Address Setup */ ! 44: #define kCmd646xARTTIM0_Drive0AddrSetup 0xC0 ! 45: ! 46: #define kCmd646xDRWTIM0 0x54 /* Drive 0 Data Read/Write - DACK Time */ ! 47: #define kCmd646xDRWTIM0_Drive0DataActive 0xF0 ! 48: #define kCmd646xDRWTIM0_Drive0DataRecovery 0x0F ! 49: ! 50: #define kCmd646xARTTIM1 0x55 /* Drive 1 Address Setup */ ! 51: #define kCmd646xARTTIM1_Drive1AddrSetup 0xC0 ! 52: ! 53: #define kCmd646xDRWTIM1 0x56 /* Drive 1 Data Read/Write - DACK Time */ ! 54: #define kCmd646xDRWTIM1_Drive1DataActive 0xF0 ! 55: #define kCmd646xDRWTIM1_Drive1DataRecover 0x0F ! 56: ! 57: #define kCmd646xARTTIM23 0x57 /* Drive 2/3 Control/Status */ ! 58: #define kCmd646xARTTIM23_AddrSetup 0xC0 ! 59: #define kCmd646xARTTIM23_IDEIntSDY 0x10 ! 60: #define kCmd646xARTTIM23_Drive3ReadAhead 0x08 ! 61: #define kCmd646xARTTIM23_Drive2ReadAhead 0x04 ! 62: ! 63: #define kCmd646xDRWTIM2 0x58 /* Drive 2 Read/Write - DACK Time */ ! 64: #define kCmd646xDRWTIM2_Drive2DataActive 0xF0 ! 65: #define kCmd646xDRWTIM2_Drive2DataRecovery 0x0F ! 66: ! 67: #define kCmd646xBRST 0x59 /* Read Ahead Count */ ! 68: ! 69: #define kCmd646xDRWTIM3 0x5B /* Drive 3 Read/Write - DACK Time */ ! 70: #define kCmd646xDRWTIM3_Drive3DataActive 0xF0 ! 71: #define kCmd646xDRWTIM3_Drive3DataRecover 0x0F ! 72: ! 73: #define kCmd646xBMIDECR0 0x70 /* BusMaster Command Register - Primary */ ! 74: #define kCmd646xBMIDECR0_PCIWritePRI 0x08 ! 75: #define kCmd646xBMIDECR0_StartDMAPRI 0x01 ! 76: ! 77: #define kCmd646xMRDMODE 0x71 /* DMA Master Read Mode Select */ ! 78: #define kCmd646xMRDMODE_PCIReadMask 0x03 ! 79: #define kCmd646xMRDMODE_PCIRead 0x00 ! 80: #define kCmd646xMRDMODE_PCIReadMultiple 0x01 ! 81: #define kCmd646xMRDMODE_IDEIntPRI 0x04 ! 82: #define kCmd646xMRDMODE_IDEIntSDY 0x08 ! 83: #define kCmd646xMRDMODE_IntEnablePRI 0x10 ! 84: #define kCmd646xMRDMODE_IntEnableSDY 0x20 ! 85: #define kCmd646xMRDMODE_ResetAll 0x40 ! 86: ! 87: #define kCmd646xBMIDESR0 0x72 /* BusMaster Status Register - Primary */ ! 88: #define kCmd646xBMIDESR0_Simplex 0x80 ! 89: #define kCmd646xBMIDESR0_Drive1DMACap 0x40 ! 90: #define kCmd646xBMIDESR0_Drive0DMACap 0x20 ! 91: #define kCmd646xBMIDESR0_DMAIntPRI 0x04 ! 92: #define kCmd646xBMIDESR0_DMAErrorPRI 0x02 ! 93: #define kCmd646xBMIDESR0_DMAActivePRI 0x01 ! 94: ! 95: #define kCmd646xUDIDETCR0 0x73 /* Ultra DMA Timing Control Register - Primary */ ! 96: #define kCmd646xUDIDETCR0_Drive1UDMACycleTime 0xC0 ! 97: #define kCmd646xUDIDETCR0_Drive0UDMACycleTime 0x30 ! 98: #define kCmd646xUDIDETCR0_Drive1UDMAEnable 0x02 ! 99: #define kCmd646xUDIDETCR0_Drive0UDMAEnable 0x01 ! 100: ! 101: #define kCmd646xDTPR0 0x74 /* Descriptor Table Pointer - Primary */ ! 102: ! 103: #define kCmd646xBMIDECR1 0x78 /* BusMaster Command Register - Secondary */ ! 104: #define kCmd646xBMIDECR1_PCIWriteSDY 0x08 ! 105: #define kCmd646xBMIDECR1_StartDMASDY 0x01 ! 106: ! 107: #define kCmd646xBMIDESR1 0x7A /* BusMaster Status Register - Secondary */ ! 108: #define kCmd646xBMIDESR1_Simplex 0x80 ! 109: #define kCmd646xBMIDESR1_Drive3DMACap 0x40 ! 110: #define kCmd646xBMIDESR1_Drive2DMACap 0x20 ! 111: #define kCmd646xBMIDESR1_DMAIntSDY 0x04 ! 112: #define kCmd646xBMIDESR1_DMAErrorSDY 0x02 ! 113: #define kCmd646xBMIDESR1_DMAActiveSDY 0x01 ! 114: ! 115: #define kCmd646xUDIDETCR1 0x7B /* Ultra DMA Timing Control Register - Secondary */ ! 116: #define kCmd646xUDIDETCR1_Drive3UDMACycleTime 0xC0 ! 117: #define kCmd646xUDIDETCR1_Drive2UDMACycleTime 0x30 ! 118: #define kCmd646xUDIDETCR1_Drive3UDMAEnable 0x02 ! 119: #define kCmd646xUDIDETCR1_Drive2UDMAEnable 0x01 ! 120: ! 121: #define kCmd646xDTPR1 0x7C /* Descriptor Table Pointer - Primary */ ! 122:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.