ofisavar.h revision 1.1
1/* $NetBSD: ofisavar.h,v 1.1 1998/02/07 00:46:54 cgd Exp $ */ 2 3/* 4 * Copyright 1998 5 * Digital Equipment Corporation. All rights reserved. 6 * 7 * This software is furnished under license and may be used and 8 * copied only in accordance with the following terms and conditions. 9 * Subject to these conditions, you may download, copy, install, 10 * use, modify and distribute this software in source and/or binary 11 * form. No title or ownership is transferred hereby. 12 * 13 * 1) Any source code used, modified or distributed must reproduce 14 * and retain this copyright notice and list of conditions as 15 * they appear in the source file. 16 * 17 * 2) No right is granted to use any trade name, trademark, or logo of 18 * Digital Equipment Corporation. Neither the "Digital Equipment 19 * Corporation" name nor any trademark or logo of Digital Equipment 20 * Corporation may be used to endorse or promote products derived 21 * from this software without the prior written permission of 22 * Digital Equipment Corporation. 23 * 24 * 3) This software is provided "AS-IS" and any express or implied 25 * warranties, including but not limited to, any implied warranties 26 * of merchantability, fitness for a particular purpose, or 27 * non-infringement are disclaimed. In no event shall DIGITAL be 28 * liable for any damages whatsoever, and in particular, DIGITAL 29 * shall not be liable for special, indirect, consequential, or 30 * incidental damages or damages for lost profits, loss of 31 * revenue or loss of use, whether such damages arise in contract, 32 * negligence, tort, under statute, in equity, at law or otherwise, 33 * even if advised of the possibility of such damage. 34 */ 35 36#ifndef _DEV_OFISA_OFISAVAR_H_ 37#define _DEV_OFISA_OFISAVAR_H_ 38 39struct ofisa_attach_args { 40 struct ofprobe ofp; /* common */ 41 42 bus_space_tag_t iot; /* i/o space tag */ 43 bus_space_tag_t memt; /* mem space tag */ 44 bus_dma_tag_t dmat; /* DMA tag */ 45 isa_chipset_tag_t ic; /* chipset tag (for intr, etc.) */ 46}; 47 48struct ofisa_reg_desc { 49 int type; /* type. XXX aliasing modifiers? */ 50 bus_addr_t addr; /* base address. */ 51 bus_size_t len; /* length. */ 52}; 53 54#define OFISA_REG_TYPE_MEM 0 /* memory space */ 55#define OFISA_REG_TYPE_IO 1 /* I/O space */ 56 57struct ofisa_intr_desc { 58 int share; /* sharing type: IST_*. */ 59 int irq; /* IRQ. */ 60}; 61 62/* 63 * Machine-dependent function/macro definitions. 64 * 65 * Machine-dependent code must implement at least: 66 * 67 * int ofisa_get_isabus_data(int phandle, 68 * struct isabus_attach_args *iba); 69 * 70 * int ofisa_ignore_child(int pphandle, int cphandle); 71 * 72 * Individual ofisa attachments may want addition functions or 73 * macros from this (or other) headers. See those attachments' 74 * files for more details. 75 */ 76#if (arm32 != 1) 77ERROR: COMPILING FOR UNSUPPORTED MACHINE, OR MORE THAN ONE. 78#endif 79#if arm32 80#include <arm32/ofw/ofisa_machdep.h> 81#endif 82 83int ofisa_reg_count __P((int)); 84int ofisa_reg_get __P((int, struct ofisa_reg_desc *, int)); 85void ofisa_reg_print __P((struct ofisa_reg_desc *, int)); 86int ofisa_intr_count __P((int)); 87int ofisa_intr_get __P((int, struct ofisa_intr_desc *, int)); 88void ofisa_intr_print __P((struct ofisa_intr_desc *, int)); 89 90#endif /* _DEV_OFISA_OFISAVAR_H_ */ 91