Annotation of sys/dev/tc/ioasicvar.h, Revision 1.1
1.1 ! nbrk 1: /* $OpenBSD: ioasicvar.h,v 1.7 2004/06/28 02:28:43 aaron Exp $ */
! 2: /* $NetBSD: ioasicvar.h,v 1.14 2000/10/17 09:45:49 nisimura Exp $ */
! 3:
! 4: /*
! 5: * Copyright (c) 1995 Carnegie-Mellon University.
! 6: * All rights reserved.
! 7: *
! 8: * Author: Chris G. Demetriou
! 9: *
! 10: * Permission to use, copy, modify and distribute this software and
! 11: * its documentation is hereby granted, provided that both the copyright
! 12: * notice and this permission notice appear in all copies of the
! 13: * software, derivative works or modified versions, and any portions
! 14: * thereof, and that both notices appear in supporting documentation.
! 15: *
! 16: * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
! 17: * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
! 18: * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
! 19: *
! 20: * Carnegie Mellon requests users of this software to return to
! 21: *
! 22: * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
! 23: * School of Computer Science
! 24: * Carnegie Mellon University
! 25: * Pittsburgh PA 15213-3890
! 26: *
! 27: * any improvements or extensions that they make and grant Carnegie the
! 28: * rights to redistribute these changes.
! 29: */
! 30:
! 31: #ifndef _DEV_TC_IOASICVAR_H_
! 32: #define _DEV_TC_IOASICVAR_H_
! 33:
! 34: struct ioasic_dev {
! 35: char *iad_modname;
! 36: tc_offset_t iad_offset;
! 37: void *iad_cookie;
! 38: u_int32_t iad_intrbits;
! 39: };
! 40:
! 41: struct ioasicdev_attach_args {
! 42: char iada_modname[TC_ROM_LLEN];
! 43: tc_offset_t iada_offset;
! 44: tc_addr_t iada_addr;
! 45: void *iada_cookie;
! 46: };
! 47:
! 48: /* Device locators. */
! 49: #define ioasiccf_offset cf_loc[0] /* offset */
! 50:
! 51: #define IOASIC_OFFSET_UNKNOWN -1
! 52:
! 53: struct ioasic_softc {
! 54: struct device sc_dv;
! 55: bus_space_tag_t sc_bst;
! 56: bus_space_handle_t sc_bsh;
! 57: bus_dma_tag_t sc_dmat;
! 58:
! 59: tc_addr_t sc_base; /* XXX offset XXX */
! 60: };
! 61:
! 62: extern struct cfdriver ioasic_cd;
! 63:
! 64: /*
! 65: * XXX Some drivers need direct access to IOASIC registers.
! 66: */
! 67: extern tc_addr_t ioasic_base;
! 68:
! 69: void ioasic_intr_establish(struct device *, void *,
! 70: int, int (*)(void *), void *);
! 71: void ioasic_intr_disestablish(struct device *, void *);
! 72: int ioasic_submatch(void *, struct ioasicdev_attach_args *);
! 73: void ioasic_attach_devs(struct ioasic_softc *,
! 74: struct ioasic_dev *, int);
! 75:
! 76: #endif /* _DEV_TC_IOASICVAR_ */
CVSweb