1*cbab9cadSchs /* $NetBSD: pccvar.h,v 1.11 2012/10/27 17:18:04 chs Exp $ */ 2d80422cdSchuck 3d80422cdSchuck /*- 4a72d37c4Sscw * Copyright (c) 1996, 1999 The NetBSD Foundation, Inc. 5d80422cdSchuck * All rights reserved. 6d80422cdSchuck * 7d80422cdSchuck * This code is derived from software contributed to The NetBSD Foundation 8a72d37c4Sscw * by Jason R. Thorpe and Steve C. Woodford. 9d80422cdSchuck * 10d80422cdSchuck * Redistribution and use in source and binary forms, with or without 11d80422cdSchuck * modification, are permitted provided that the following conditions 12d80422cdSchuck * are met: 13d80422cdSchuck * 1. Redistributions of source code must retain the above copyright 14d80422cdSchuck * notice, this list of conditions and the following disclaimer. 15d80422cdSchuck * 2. Redistributions in binary form must reproduce the above copyright 16d80422cdSchuck * notice, this list of conditions and the following disclaimer in the 17d80422cdSchuck * documentation and/or other materials provided with the distribution. 18d80422cdSchuck * 19d80422cdSchuck * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 20d80422cdSchuck * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 21d80422cdSchuck * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 224229acf7Sjtc * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 234229acf7Sjtc * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24d80422cdSchuck * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25d80422cdSchuck * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26d80422cdSchuck * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27d80422cdSchuck * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28d80422cdSchuck * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29d80422cdSchuck * POSSIBILITY OF SUCH DAMAGE. 30d80422cdSchuck */ 31d80422cdSchuck 329c745dbdSscw #ifndef _MVME68K_PCCVAR_H 339c745dbdSscw #define _MVME68K_PCCVAR_H 34d80422cdSchuck 3559ba4788Sscw /* For isrlink_evcnt() definition */ 3659ba4788Sscw #include <mvme68k/mvme68k/isr.h> 3759ba4788Sscw 38d80422cdSchuck /* 39d80422cdSchuck * Structure used to attach PCC devices. 40d80422cdSchuck */ 41d80422cdSchuck struct pcc_attach_args { 429c745dbdSscw const char *pa_name; /* name of device */ 43d80422cdSchuck int pa_ipl; /* interrupt level */ 449c745dbdSscw bus_dma_tag_t pa_dmat; 459c745dbdSscw bus_space_tag_t pa_bust; 469c745dbdSscw bus_addr_t pa_offset; 477d191ffeSscw 487d191ffeSscw bus_addr_t _pa_base; 49d80422cdSchuck }; 50d80422cdSchuck 51d80422cdSchuck /* Shorthand for locators. */ 52d36d6d14Sjtk #include "locators.h" 53d36d6d14Sjtk #define pcccf_ipl cf_loc[PCCCF_IPL] 54d80422cdSchuck 559c745dbdSscw 569c745dbdSscw struct pcc_softc { 579c745dbdSscw bus_space_tag_t sc_bust; 589c745dbdSscw bus_space_handle_t sc_bush; 5959ba4788Sscw struct evcnt sc_evcnt; 609c745dbdSscw }; 619c745dbdSscw 629c745dbdSscw extern struct pcc_softc *sys_pcc; 633cac59eeSscw extern bus_addr_t pcc_slave_base_addr; 649c745dbdSscw 6559ba4788Sscw #define pccintr_evcnt(ipl) isrlink_evcnt(ipl) 66a07f7c80Stsutsui void pccintr_establish(int, int (*)(void *), int, void *, struct evcnt *); 67a07f7c80Stsutsui void pccintr_disestablish(int); 689c745dbdSscw 699c745dbdSscw #endif /* _MVME68K_PCCVAR_H */ 70