1 1.4 skrll /* $NetBSD: iomdvar.h,v 1.4 2012/05/10 09:56:27 skrll Exp $ */ 2 1.1 reinoud 3 1.1 reinoud /* 4 1.1 reinoud * Copyright (c) 1997 Mark Brinicombe. 5 1.1 reinoud * Copyright (c) 1997 Causality Limited 6 1.1 reinoud * All rights reserved. 7 1.1 reinoud * 8 1.1 reinoud * Redistribution and use in source and binary forms, with or without 9 1.1 reinoud * modification, are permitted provided that the following conditions 10 1.1 reinoud * are met: 11 1.1 reinoud * 1. Redistributions of source code must retain the above copyright 12 1.1 reinoud * notice, this list of conditions and the following disclaimer. 13 1.1 reinoud * 2. Redistributions in binary form must reproduce the above copyright 14 1.1 reinoud * notice, this list of conditions and the following disclaimer in the 15 1.1 reinoud * documentation and/or other materials provided with the distribution. 16 1.1 reinoud * 3. All advertising materials mentioning features or use of this software 17 1.1 reinoud * must display the following acknowledgement: 18 1.1 reinoud * This product includes software developed by Mark Brinicombe 19 1.1 reinoud * 4. The name of the company nor the name of the author may be used to 20 1.1 reinoud * endorse or promote products derived from this software without specific 21 1.1 reinoud * prior written permission. 22 1.1 reinoud * 23 1.1 reinoud * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 24 1.1 reinoud * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 25 1.1 reinoud * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 26 1.1 reinoud * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 27 1.1 reinoud * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 28 1.1 reinoud * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 29 1.1 reinoud * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30 1.1 reinoud * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31 1.1 reinoud * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32 1.1 reinoud * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33 1.1 reinoud * SUCH DAMAGE. 34 1.1 reinoud * 35 1.1 reinoud * RiscBSD kernel project 36 1.1 reinoud * 37 1.1 reinoud * iomd_bus.h 38 1.1 reinoud * 39 1.1 reinoud * Created : 02/02/97 40 1.1 reinoud */ 41 1.1 reinoud 42 1.3 dyoung #include <sys/bus.h> 43 1.1 reinoud 44 1.1 reinoud /* 45 1.1 reinoud * Attach args for iomd_clock device 46 1.1 reinoud */ 47 1.1 reinoud 48 1.1 reinoud struct clk_attach_args { 49 1.1 reinoud const char *ca_name; /* device name*/ 50 1.1 reinoud bus_space_tag_t ca_iot; /* Bus tag */ 51 1.1 reinoud bus_space_handle_t ca_ioh; /* Bus handle */ 52 1.1 reinoud int ca_irq; /* IRQ number */ 53 1.1 reinoud }; 54 1.1 reinoud 55 1.1 reinoud 56 1.1 reinoud /* 57 1.1 reinoud * Attach args for iomd device 58 1.1 reinoud */ 59 1.1 reinoud 60 1.1 reinoud /* 61 1.1 reinoud * Attach args for qms device 62 1.1 reinoud */ 63 1.1 reinoud 64 1.1 reinoud struct qms_attach_args { 65 1.1 reinoud const char *qa_name; /* device name*/ 66 1.1 reinoud bus_space_tag_t qa_iot; /* Bus tag */ 67 1.1 reinoud bus_space_handle_t qa_ioh; /* Bus handle */ 68 1.1 reinoud bus_space_handle_t qa_ioh_but; /* Bus handle */ 69 1.1 reinoud int qa_irq; /* IRQ number */ 70 1.1 reinoud }; 71 1.1 reinoud 72 1.1 reinoud /* 73 1.2 wiz * Attach args for opms device 74 1.1 reinoud */ 75 1.1 reinoud 76 1.2 wiz struct opms_attach_args { 77 1.1 reinoud const char *pa_name; /* device name*/ 78 1.1 reinoud bus_space_tag_t pa_iot; /* Bus tag */ 79 1.1 reinoud bus_space_handle_t pa_ioh; /* Bus handle */ 80 1.1 reinoud int pa_irq; /* IRQ number */ 81 1.1 reinoud }; 82 1.1 reinoud 83 1.1 reinoud /* 84 1.1 reinoud * Attach args for kbd device 85 1.1 reinoud */ 86 1.1 reinoud 87 1.1 reinoud struct kbd_attach_args { 88 1.1 reinoud const char *ka_name; /* device name*/ 89 1.1 reinoud bus_space_tag_t ka_iot; /* Bus tag */ 90 1.1 reinoud bus_space_handle_t ka_ioh; /* Bus handle */ 91 1.1 reinoud int ka_rxirq; /* IRQ number */ 92 1.1 reinoud int ka_txirq; /* IRQ number */ 93 1.1 reinoud }; 94 1.1 reinoud 95 1.1 reinoud /* 96 1.1 reinoud * Attach args for iic device 97 1.1 reinoud */ 98 1.1 reinoud 99 1.1 reinoud struct iic_attach_args { 100 1.1 reinoud const char *ia_name; /* device name */ 101 1.1 reinoud bus_space_tag_t ia_iot; /* Bus tag */ 102 1.1 reinoud bus_space_handle_t ia_ioh; /* Bus handle */ 103 1.1 reinoud int ia_irq; /* IRQ number */ 104 1.1 reinoud }; 105 1.1 reinoud 106 1.1 reinoud /* 107 1.1 reinoud * NOTE: All these attach structures and a const char *name as the 108 1.1 reinoud * first field for identification. 109 1.1 reinoud */ 110 1.1 reinoud 111 1.1 reinoud union iomd_attach_args { 112 1.1 reinoud struct kbd_attach_args ia_kbd; 113 1.2 wiz struct opms_attach_args ia_opms; 114 1.1 reinoud struct qms_attach_args ia_qms; 115 1.1 reinoud struct iic_attach_args ia_iic; 116 1.1 reinoud struct clk_attach_args ia_clk; 117 1.1 reinoud }; 118 1.1 reinoud 119 1.1 reinoud /* 120 1.1 reinoud * IOMD_BASE register variable 121 1.1 reinoud */ 122 1.4 skrll extern uint32_t iomd_base; 123 1.1 reinoud 124 1.1 reinoud /* End of iomdvar.h */ 125