apbvar.h revision 202173
1219820Sjeff/*- 2219820Sjeff * Copyright (c) 2009, Oleksandr Tymoshenko <gonzo@FreeBSD.org> 3219820Sjeff * All rights reserved. 4219820Sjeff * 5219820Sjeff * Redistribution and use in source and binary forms, with or without 6219820Sjeff * modification, are permitted provided that the following conditions 7219820Sjeff * are met: 8219820Sjeff * 1. Redistributions of source code must retain the above copyright 9219820Sjeff * notice unmodified, this list of conditions, and the following 10219820Sjeff * disclaimer. 11219820Sjeff * 2. Redistributions in binary form must reproduce the above copyright 12219820Sjeff * notice, this list of conditions and the following disclaimer in the 13219820Sjeff * documentation and/or other materials provided with the distribution. 14219820Sjeff * 15219820Sjeff * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16219820Sjeff * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17219820Sjeff * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18219820Sjeff * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19219820Sjeff * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20219820Sjeff * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21219820Sjeff * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22219820Sjeff * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23219820Sjeff * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24219820Sjeff * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25219820Sjeff * SUCH DAMAGE. 26219820Sjeff */ 27219820Sjeff 28219820Sjeff#ifndef _APBVAR_H_ 29219820Sjeff#define _APBVAR_H_ 30219820Sjeff 31219820Sjeff#define APB_IRQ_BASE 0 32219820Sjeff#define APB_IRQ_END 7 33219820Sjeff#define APB_NIRQS 8 34219820Sjeff 35219820Sjeffstruct apb_softc { 36219820Sjeff struct rman apb_irq_rman; 37219820Sjeff struct rman apb_mem_rman; 38219820Sjeff /* IRQ events structs for child devices */ 39219820Sjeff struct intr_event *sc_eventstab[APB_NIRQS]; 40219820Sjeff mips_intrcnt_t sc_intr_counter[APB_NIRQS]; 41219820Sjeff /* Resources and cookies for MIPS CPU INTs */ 42219820Sjeff struct resource *sc_misc_irq; 43 void *sc_misc_ih; 44}; 45 46struct apb_ivar { 47 struct resource_list resources; 48}; 49 50#endif /* _APBVAR_H_ */ 51