1*7210f448Sskrll /* $NetBSD: iomdvar.h,v 1.4 2012/05/10 09:56:27 skrll Exp $ */ 27d4a1addSreinoud 37d4a1addSreinoud /* 47d4a1addSreinoud * Copyright (c) 1997 Mark Brinicombe. 57d4a1addSreinoud * Copyright (c) 1997 Causality Limited 67d4a1addSreinoud * All rights reserved. 77d4a1addSreinoud * 87d4a1addSreinoud * Redistribution and use in source and binary forms, with or without 97d4a1addSreinoud * modification, are permitted provided that the following conditions 107d4a1addSreinoud * are met: 117d4a1addSreinoud * 1. Redistributions of source code must retain the above copyright 127d4a1addSreinoud * notice, this list of conditions and the following disclaimer. 137d4a1addSreinoud * 2. Redistributions in binary form must reproduce the above copyright 147d4a1addSreinoud * notice, this list of conditions and the following disclaimer in the 157d4a1addSreinoud * documentation and/or other materials provided with the distribution. 167d4a1addSreinoud * 3. All advertising materials mentioning features or use of this software 177d4a1addSreinoud * must display the following acknowledgement: 187d4a1addSreinoud * This product includes software developed by Mark Brinicombe 197d4a1addSreinoud * 4. The name of the company nor the name of the author may be used to 207d4a1addSreinoud * endorse or promote products derived from this software without specific 217d4a1addSreinoud * prior written permission. 227d4a1addSreinoud * 237d4a1addSreinoud * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 247d4a1addSreinoud * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 257d4a1addSreinoud * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 267d4a1addSreinoud * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 277d4a1addSreinoud * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 287d4a1addSreinoud * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 297d4a1addSreinoud * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 307d4a1addSreinoud * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 317d4a1addSreinoud * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 327d4a1addSreinoud * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 337d4a1addSreinoud * SUCH DAMAGE. 347d4a1addSreinoud * 357d4a1addSreinoud * RiscBSD kernel project 367d4a1addSreinoud * 377d4a1addSreinoud * iomd_bus.h 387d4a1addSreinoud * 397d4a1addSreinoud * Created : 02/02/97 407d4a1addSreinoud */ 417d4a1addSreinoud 42af51edd2Sdyoung #include <sys/bus.h> 437d4a1addSreinoud 447d4a1addSreinoud /* 457d4a1addSreinoud * Attach args for iomd_clock device 467d4a1addSreinoud */ 477d4a1addSreinoud 487d4a1addSreinoud struct clk_attach_args { 497d4a1addSreinoud const char *ca_name; /* device name*/ 507d4a1addSreinoud bus_space_tag_t ca_iot; /* Bus tag */ 517d4a1addSreinoud bus_space_handle_t ca_ioh; /* Bus handle */ 527d4a1addSreinoud int ca_irq; /* IRQ number */ 537d4a1addSreinoud }; 547d4a1addSreinoud 557d4a1addSreinoud 567d4a1addSreinoud /* 577d4a1addSreinoud * Attach args for iomd device 587d4a1addSreinoud */ 597d4a1addSreinoud 607d4a1addSreinoud /* 617d4a1addSreinoud * Attach args for qms device 627d4a1addSreinoud */ 637d4a1addSreinoud 647d4a1addSreinoud struct qms_attach_args { 657d4a1addSreinoud const char *qa_name; /* device name*/ 667d4a1addSreinoud bus_space_tag_t qa_iot; /* Bus tag */ 677d4a1addSreinoud bus_space_handle_t qa_ioh; /* Bus handle */ 687d4a1addSreinoud bus_space_handle_t qa_ioh_but; /* Bus handle */ 697d4a1addSreinoud int qa_irq; /* IRQ number */ 707d4a1addSreinoud }; 717d4a1addSreinoud 727d4a1addSreinoud /* 73d79f4782Swiz * Attach args for opms device 747d4a1addSreinoud */ 757d4a1addSreinoud 76d79f4782Swiz struct opms_attach_args { 777d4a1addSreinoud const char *pa_name; /* device name*/ 787d4a1addSreinoud bus_space_tag_t pa_iot; /* Bus tag */ 797d4a1addSreinoud bus_space_handle_t pa_ioh; /* Bus handle */ 807d4a1addSreinoud int pa_irq; /* IRQ number */ 817d4a1addSreinoud }; 827d4a1addSreinoud 837d4a1addSreinoud /* 847d4a1addSreinoud * Attach args for kbd device 857d4a1addSreinoud */ 867d4a1addSreinoud 877d4a1addSreinoud struct kbd_attach_args { 887d4a1addSreinoud const char *ka_name; /* device name*/ 897d4a1addSreinoud bus_space_tag_t ka_iot; /* Bus tag */ 907d4a1addSreinoud bus_space_handle_t ka_ioh; /* Bus handle */ 917d4a1addSreinoud int ka_rxirq; /* IRQ number */ 927d4a1addSreinoud int ka_txirq; /* IRQ number */ 937d4a1addSreinoud }; 947d4a1addSreinoud 957d4a1addSreinoud /* 967d4a1addSreinoud * Attach args for iic device 977d4a1addSreinoud */ 987d4a1addSreinoud 997d4a1addSreinoud struct iic_attach_args { 1007d4a1addSreinoud const char *ia_name; /* device name */ 1017d4a1addSreinoud bus_space_tag_t ia_iot; /* Bus tag */ 1027d4a1addSreinoud bus_space_handle_t ia_ioh; /* Bus handle */ 1037d4a1addSreinoud int ia_irq; /* IRQ number */ 1047d4a1addSreinoud }; 1057d4a1addSreinoud 1067d4a1addSreinoud /* 1077d4a1addSreinoud * NOTE: All these attach structures and a const char *name as the 1087d4a1addSreinoud * first field for identification. 1097d4a1addSreinoud */ 1107d4a1addSreinoud 1117d4a1addSreinoud union iomd_attach_args { 1127d4a1addSreinoud struct kbd_attach_args ia_kbd; 113d79f4782Swiz struct opms_attach_args ia_opms; 1147d4a1addSreinoud struct qms_attach_args ia_qms; 1157d4a1addSreinoud struct iic_attach_args ia_iic; 1167d4a1addSreinoud struct clk_attach_args ia_clk; 1177d4a1addSreinoud }; 1187d4a1addSreinoud 1197d4a1addSreinoud /* 1207d4a1addSreinoud * IOMD_BASE register variable 1217d4a1addSreinoud */ 122*7210f448Sskrll extern uint32_t iomd_base; 1237d4a1addSreinoud 1247d4a1addSreinoud /* End of iomdvar.h */ 125