1*95e1ffb1Schristos /* $NetBSD: tc_maxine.c,v 1.8 2005/12/11 12:18:41 christos Exp $ */ 29caaf188Sjonathan 39caaf188Sjonathan /* 49caaf188Sjonathan * Copyright (c) 1998 Jonathan Stone. All rights reserved. 59caaf188Sjonathan * 69caaf188Sjonathan * Redistribution and use in source and binary forms, with or without 79caaf188Sjonathan * modification, are permitted provided that the following conditions 89caaf188Sjonathan * are met: 99caaf188Sjonathan * 1. Redistributions of source code must retain the above copyright 109caaf188Sjonathan * notice, this list of conditions and the following disclaimer. 119caaf188Sjonathan * 2. Redistributions in binary form must reproduce the above copyright 129caaf188Sjonathan * notice, this list of conditions and the following disclaimer in the 139caaf188Sjonathan * documentation and/or other materials provided with the distribution. 149caaf188Sjonathan * 3. All advertising materials mentioning features or use of this software 159caaf188Sjonathan * must display the following acknowledgement: 169caaf188Sjonathan * This product includes software developed by Jonathan Stone for 179caaf188Sjonathan * the NetBSD Project. 189caaf188Sjonathan * 4. The name of the author may not be used to endorse or promote products 199caaf188Sjonathan * derived from this software without specific prior written permission. 209caaf188Sjonathan * 219caaf188Sjonathan * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 229caaf188Sjonathan * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 239caaf188Sjonathan * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 249caaf188Sjonathan * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 259caaf188Sjonathan * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 269caaf188Sjonathan * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 279caaf188Sjonathan * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 289caaf188Sjonathan * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 299caaf188Sjonathan * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 309caaf188Sjonathan * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 319caaf188Sjonathan */ 329caaf188Sjonathan 339caaf188Sjonathan #include <sys/cdefs.h> /* RCS ID & Copyright macro defns */ 34*95e1ffb1Schristos __KERNEL_RCSID(0, "$NetBSD: tc_maxine.c,v 1.8 2005/12/11 12:18:41 christos Exp $ "); 359caaf188Sjonathan 360310fa65Snisimura #include <sys/param.h> 370310fa65Snisimura #include <sys/systm.h> 389caaf188Sjonathan #include <sys/device.h> 399caaf188Sjonathan 409caaf188Sjonathan #include <dev/tc/tcvar.h> 419caaf188Sjonathan #include <pmax/pmax/maxine.h> 429caaf188Sjonathan 439caaf188Sjonathan /* 44f0771e6bSnisimura * MAXINE has 4 TC option slot address space starting at 0x1000.0000. 4506276dc2Snisimura * TC slot size is 64MB. Two option slots are available. Slot#2 is 46f0771e6bSnisimura * not available for option cards. IOASIC, which governs various 47f0771e6bSnisimura * baseboard devices like RTC, DMA assisted ASC SCSI, LANCE Ether, 48f0771e6bSnisimura * forms a system base. MAXINE IOASIC also controls ACCESS.bus 49f0771e6bSnisimura * keyboard/mouse, floppy disk and ISDN. IOASIC is designed as a TC 50f0771e6bSnisimura * device and sits in slot #3 space. 519caaf188Sjonathan */ 529caaf188Sjonathan static struct tc_slotdesc tc_xine_slots [4] = { 53d93aaefbSnisimura { KV(XINE_PHYS_TC_0_START), C(SYS_DEV_OPT0), }, /* 0 - opt slot 0 */ 54d93aaefbSnisimura { KV(XINE_PHYS_TC_1_START), C(SYS_DEV_OPT1), }, /* 1 - opt slot 1 */ 55d93aaefbSnisimura { KV(XINE_PHYS_CFB_START), C(SYS_DEV_BOGUS), }, /* 2 - unused */ 56d93aaefbSnisimura { KV(XINE_PHYS_TC_3_START), C(SYS_DEV_BOGUS), }, /* 3 - IOASIC */ 579caaf188Sjonathan }; 589caaf188Sjonathan 59f0771e6bSnisimura const struct tc_builtin tc_xine_builtins[] = { 60d93aaefbSnisimura { "IOCTL ", 3, 0x0, C(3), }, 618bc24fadSmhitch { "PMAG-DV ", 2, 0x0, C(SYS_DEV_OPT2), }, /* pretend as a TC device */ 62f0771e6bSnisimura }; 639caaf188Sjonathan 640310fa65Snisimura struct tcbus_attach_args xine_tc_desc = { 65f0771e6bSnisimura NULL, 0, 66f0771e6bSnisimura TC_SPEED_12_5_MHZ, 679caaf188Sjonathan XINE_TC_NSLOTS, tc_xine_slots, 689caaf188Sjonathan 2, tc_xine_builtins, 69cffb5808Scgd NULL, NULL, NULL, 700310fa65Snisimura NULL, 719caaf188Sjonathan }; 72