1*7da6407dSdrochner /* $NetBSD: universereg.h,v 1.1 2000/02/25 18:22:39 drochner Exp $ */ 2*7da6407dSdrochner 3*7da6407dSdrochner /* 4*7da6407dSdrochner * Copyright (c) 1999 5*7da6407dSdrochner * Matthias Drochner. All rights reserved. 6*7da6407dSdrochner * 7*7da6407dSdrochner * Redistribution and use in source and binary forms, with or without 8*7da6407dSdrochner * modification, are permitted provided that the following conditions 9*7da6407dSdrochner * are met: 10*7da6407dSdrochner * 1. Redistributions of source code must retain the above copyright 11*7da6407dSdrochner * notice, this list of conditions, and the following disclaimer. 12*7da6407dSdrochner * 2. Redistributions in binary form must reproduce the above copyright 13*7da6407dSdrochner * notice, this list of conditions and the following disclaimer in the 14*7da6407dSdrochner * documentation and/or other materials provided with the distribution. 15*7da6407dSdrochner * 16*7da6407dSdrochner * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 17*7da6407dSdrochner * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18*7da6407dSdrochner * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19*7da6407dSdrochner * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 20*7da6407dSdrochner * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21*7da6407dSdrochner * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22*7da6407dSdrochner * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23*7da6407dSdrochner * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24*7da6407dSdrochner * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25*7da6407dSdrochner * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26*7da6407dSdrochner * SUCH DAMAGE. 27*7da6407dSdrochner */ 28*7da6407dSdrochner 29*7da6407dSdrochner #ifndef _DEV_IC_UNIVERSEREG_H_ 30*7da6407dSdrochner #define _DEV_IC_UNIVERSEREG_H_ 31*7da6407dSdrochner 32*7da6407dSdrochner /* 33*7da6407dSdrochner * Register layout of the Newbridge/Tundra Universe II PCI-VME 34*7da6407dSdrochner * adapter chip (CA91C142). Looks the same from PCI and VME. 35*7da6407dSdrochner */ 36*7da6407dSdrochner 37*7da6407dSdrochner struct universe_pcislvimg { 38*7da6407dSdrochner u_int32_t lsi_ctl, lsi_bs, lsi_bd, lsi_to; 39*7da6407dSdrochner }; 40*7da6407dSdrochner 41*7da6407dSdrochner struct universe_vmeslvimg { 42*7da6407dSdrochner u_int32_t vsi_ctl, vsi_bs, vsi_bd, vsi_to; 43*7da6407dSdrochner }; 44*7da6407dSdrochner 45*7da6407dSdrochner struct universereg { 46*7da6407dSdrochner u_int32_t pci_id, pci_csr, pci_class, pci_misc0, pci_bs0, pci_bs1; 47*7da6407dSdrochner u_int32_t _space1[9]; 48*7da6407dSdrochner u_int32_t pci_misc1; 49*7da6407dSdrochner u_int32_t _space2[(0x100-0x40)/4]; 50*7da6407dSdrochner struct universe_pcislvimg pcislv0; 51*7da6407dSdrochner u_int32_t _space3; 52*7da6407dSdrochner struct universe_pcislvimg pcislv1; 53*7da6407dSdrochner u_int32_t _space4; 54*7da6407dSdrochner struct universe_pcislvimg pcislv2; 55*7da6407dSdrochner u_int32_t _space5; 56*7da6407dSdrochner struct universe_pcislvimg pcislv3; 57*7da6407dSdrochner u_int32_t _space6[(0x170-0x14c)/4]; 58*7da6407dSdrochner u_int32_t scyc_ctl, scyc_addr, scyc_en, scyc_cmp, scyc_swp; 59*7da6407dSdrochner u_int32_t lmisc; 60*7da6407dSdrochner u_int32_t slsi; 61*7da6407dSdrochner u_int32_t l_cmderr, laerr; 62*7da6407dSdrochner u_int32_t _space7[(0x1a0-0x194)/4]; 63*7da6407dSdrochner struct universe_pcislvimg pcislv4; 64*7da6407dSdrochner u_int32_t _space8; 65*7da6407dSdrochner struct universe_pcislvimg pcislv5; 66*7da6407dSdrochner u_int32_t _space9; 67*7da6407dSdrochner struct universe_pcislvimg pcislv6; 68*7da6407dSdrochner u_int32_t _space10; 69*7da6407dSdrochner struct universe_pcislvimg pcislv7; 70*7da6407dSdrochner u_int32_t _space11[(0x200-0x1ec)/4]; 71*7da6407dSdrochner u_int32_t dctl, dtbc, dla; 72*7da6407dSdrochner u_int32_t _space12; 73*7da6407dSdrochner u_int32_t dva; 74*7da6407dSdrochner u_int32_t _space13; 75*7da6407dSdrochner u_int32_t dcpp; 76*7da6407dSdrochner u_int32_t _space14; 77*7da6407dSdrochner u_int32_t dgcs, d_llue; 78*7da6407dSdrochner u_int32_t _space15[(0x300-0x228)/4]; 79*7da6407dSdrochner u_int32_t lint_en, lint_stat, lint_map0, lint_map1; 80*7da6407dSdrochner u_int32_t vint_en, vint_stat, vint_map0, vint_map1; 81*7da6407dSdrochner u_int32_t statid, v_statid[7]; 82*7da6407dSdrochner u_int32_t lint_map2, vint_map2; 83*7da6407dSdrochner u_int32_t mbox[4], sema[2]; 84*7da6407dSdrochner u_int32_t _space16[(0x400-0x360)/4]; 85*7da6407dSdrochner u_int32_t mast_ctl, misc_ctl, misc_stat, user_am; 86*7da6407dSdrochner u_int32_t _space17[(0xf00-0x410)/4]; 87*7da6407dSdrochner struct universe_vmeslvimg vmeslv0; 88*7da6407dSdrochner u_int32_t _space18; 89*7da6407dSdrochner struct universe_vmeslvimg vmeslv1; 90*7da6407dSdrochner u_int32_t _space19; 91*7da6407dSdrochner struct universe_vmeslvimg vmeslv2; 92*7da6407dSdrochner u_int32_t _space20; 93*7da6407dSdrochner struct universe_vmeslvimg vmeslv3; 94*7da6407dSdrochner u_int32_t _space21[(0xf64-0xf4c)/4]; 95*7da6407dSdrochner u_int32_t lm_ctl, lm_bs; 96*7da6407dSdrochner u_int32_t _space22; 97*7da6407dSdrochner u_int32_t vrai_ctl, vrai_bs; 98*7da6407dSdrochner u_int32_t _space23[(0xf80-0xf78)/4]; 99*7da6407dSdrochner u_int32_t vcsr_ctl, vcsr_to; 100*7da6407dSdrochner u_int32_t v_amerr, vaerr; 101*7da6407dSdrochner struct universe_vmeslvimg vmeslv4; 102*7da6407dSdrochner u_int32_t _space24; 103*7da6407dSdrochner struct universe_vmeslvimg vmeslv5; 104*7da6407dSdrochner u_int32_t _space25; 105*7da6407dSdrochner struct universe_vmeslvimg vmeslv6; 106*7da6407dSdrochner u_int32_t _space26; 107*7da6407dSdrochner struct universe_vmeslvimg vmeslv7; 108*7da6407dSdrochner u_int32_t _space27[(0xff0-0xfdc)/4]; 109*7da6407dSdrochner u_int32_t _space28; 110*7da6407dSdrochner u_int32_t vcsr_clr, vcsr_set, vcsr_bs; 111*7da6407dSdrochner }; 112*7da6407dSdrochner 113*7da6407dSdrochner #endif /* _DEV_IC_UNIVERSEREG_H_ */ 114