162306a36Sopenharmony_ci/* 262306a36Sopenharmony_ci * include/asm-ppc/hydra.h -- Mac I/O `Hydra' definitions 362306a36Sopenharmony_ci * 462306a36Sopenharmony_ci * Copyright (C) 1997 Geert Uytterhoeven 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * This file is based on the following documentation: 762306a36Sopenharmony_ci * 862306a36Sopenharmony_ci * Macintosh Technology in the Common Hardware Reference Platform 962306a36Sopenharmony_ci * Apple Computer, Inc. 1062306a36Sopenharmony_ci * 1162306a36Sopenharmony_ci * © Copyright 1995 Apple Computer, Inc. All rights reserved. 1262306a36Sopenharmony_ci * 1362306a36Sopenharmony_ci * It's available online from https://www.cpu.lu/~mlan/ftp/MacTech.pdf 1462306a36Sopenharmony_ci * You can obtain paper copies of this book from computer bookstores or by 1562306a36Sopenharmony_ci * writing Morgan Kaufmann Publishers, Inc., 340 Pine Street, Sixth Floor, San 1662306a36Sopenharmony_ci * Francisco, CA 94104. Reference ISBN 1-55860-393-X. 1762306a36Sopenharmony_ci * 1862306a36Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General Public 1962306a36Sopenharmony_ci * License. See the file COPYING in the main directory of this archive 2062306a36Sopenharmony_ci * for more details. 2162306a36Sopenharmony_ci */ 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci#ifndef _ASMPPC_HYDRA_H 2462306a36Sopenharmony_ci#define _ASMPPC_HYDRA_H 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci#ifdef __KERNEL__ 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_cistruct Hydra { 2962306a36Sopenharmony_ci /* DBDMA Controller Register Space */ 3062306a36Sopenharmony_ci char Pad1[0x30]; 3162306a36Sopenharmony_ci u_int CachePD; 3262306a36Sopenharmony_ci u_int IDs; 3362306a36Sopenharmony_ci u_int Feature_Control; 3462306a36Sopenharmony_ci char Pad2[0x7fc4]; 3562306a36Sopenharmony_ci /* DBDMA Channel Register Space */ 3662306a36Sopenharmony_ci char SCSI_DMA[0x100]; 3762306a36Sopenharmony_ci char Pad3[0x300]; 3862306a36Sopenharmony_ci char SCCA_Tx_DMA[0x100]; 3962306a36Sopenharmony_ci char SCCA_Rx_DMA[0x100]; 4062306a36Sopenharmony_ci char SCCB_Tx_DMA[0x100]; 4162306a36Sopenharmony_ci char SCCB_Rx_DMA[0x100]; 4262306a36Sopenharmony_ci char Pad4[0x7800]; 4362306a36Sopenharmony_ci /* Device Register Space */ 4462306a36Sopenharmony_ci char SCSI[0x1000]; 4562306a36Sopenharmony_ci char ADB[0x1000]; 4662306a36Sopenharmony_ci char SCC_Legacy[0x1000]; 4762306a36Sopenharmony_ci char SCC[0x1000]; 4862306a36Sopenharmony_ci char Pad9[0x2000]; 4962306a36Sopenharmony_ci char VIA[0x2000]; 5062306a36Sopenharmony_ci char Pad10[0x28000]; 5162306a36Sopenharmony_ci char OpenPIC[0x40000]; 5262306a36Sopenharmony_ci}; 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciextern volatile struct Hydra __iomem *Hydra; 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci /* 5862306a36Sopenharmony_ci * Feature Control Register 5962306a36Sopenharmony_ci */ 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci#define HYDRA_FC_SCC_CELL_EN 0x00000001 /* Enable SCC Clock */ 6262306a36Sopenharmony_ci#define HYDRA_FC_SCSI_CELL_EN 0x00000002 /* Enable SCSI Clock */ 6362306a36Sopenharmony_ci#define HYDRA_FC_SCCA_ENABLE 0x00000004 /* Enable SCC A Lines */ 6462306a36Sopenharmony_ci#define HYDRA_FC_SCCB_ENABLE 0x00000008 /* Enable SCC B Lines */ 6562306a36Sopenharmony_ci#define HYDRA_FC_ARB_BYPASS 0x00000010 /* Bypass Internal Arbiter */ 6662306a36Sopenharmony_ci#define HYDRA_FC_RESET_SCC 0x00000020 /* Reset SCC */ 6762306a36Sopenharmony_ci#define HYDRA_FC_MPIC_ENABLE 0x00000040 /* Enable OpenPIC */ 6862306a36Sopenharmony_ci#define HYDRA_FC_SLOW_SCC_PCLK 0x00000080 /* 1=15.6672, 0=25 MHz */ 6962306a36Sopenharmony_ci#define HYDRA_FC_MPIC_IS_MASTER 0x00000100 /* OpenPIC Master Mode */ 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci /* 7362306a36Sopenharmony_ci * OpenPIC Interrupt Sources 7462306a36Sopenharmony_ci */ 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci#define HYDRA_INT_SIO 0 7762306a36Sopenharmony_ci#define HYDRA_INT_SCSI_DMA 1 7862306a36Sopenharmony_ci#define HYDRA_INT_SCCA_TX_DMA 2 7962306a36Sopenharmony_ci#define HYDRA_INT_SCCA_RX_DMA 3 8062306a36Sopenharmony_ci#define HYDRA_INT_SCCB_TX_DMA 4 8162306a36Sopenharmony_ci#define HYDRA_INT_SCCB_RX_DMA 5 8262306a36Sopenharmony_ci#define HYDRA_INT_SCSI 6 8362306a36Sopenharmony_ci#define HYDRA_INT_SCCA 7 8462306a36Sopenharmony_ci#define HYDRA_INT_SCCB 8 8562306a36Sopenharmony_ci#define HYDRA_INT_VIA 9 8662306a36Sopenharmony_ci#define HYDRA_INT_ADB 10 8762306a36Sopenharmony_ci#define HYDRA_INT_ADB_NMI 11 8862306a36Sopenharmony_ci#define HYDRA_INT_EXT1 12 /* PCI IRQW */ 8962306a36Sopenharmony_ci#define HYDRA_INT_EXT2 13 /* PCI IRQX */ 9062306a36Sopenharmony_ci#define HYDRA_INT_EXT3 14 /* PCI IRQY */ 9162306a36Sopenharmony_ci#define HYDRA_INT_EXT4 15 /* PCI IRQZ */ 9262306a36Sopenharmony_ci#define HYDRA_INT_EXT5 16 /* IDE Primary/Secondary */ 9362306a36Sopenharmony_ci#define HYDRA_INT_EXT6 17 /* IDE Secondary */ 9462306a36Sopenharmony_ci#define HYDRA_INT_EXT7 18 /* Power Off Request */ 9562306a36Sopenharmony_ci#define HYDRA_INT_SPARE 19 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci#endif /* __KERNEL__ */ 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci#endif /* _ASMPPC_HYDRA_H */ 100