Home | History | Annotate | Line # | Download | only in apbus
      1  1.11  tsutsui /*	$NetBSD: apbusvar.h,v 1.11 2018/10/14 00:10:11 tsutsui Exp $	*/
      2   1.1   tsubai 
      3   1.1   tsubai /*-
      4   1.1   tsubai  * Copyright (C) 1999 SHIMIZU Ryo.  All rights reserved.
      5   1.1   tsubai  *
      6   1.1   tsubai  * Redistribution and use in source and binary forms, with or without
      7   1.1   tsubai  * modification, are permitted provided that the following conditions
      8   1.1   tsubai  * are met:
      9   1.1   tsubai  * 1. Redistributions of source code must retain the above copyright
     10   1.1   tsubai  *    notice, this list of conditions and the following disclaimer.
     11   1.1   tsubai  * 2. Redistributions in binary form must reproduce the above copyright
     12   1.1   tsubai  *    notice, this list of conditions and the following disclaimer in the
     13   1.1   tsubai  *    documentation and/or other materials provided with the distribution.
     14   1.1   tsubai  * 3. The name of the author may not be used to endorse or promote products
     15   1.1   tsubai  *    derived from this software without specific prior written permission.
     16   1.1   tsubai  *
     17   1.1   tsubai  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     18   1.1   tsubai  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     19   1.1   tsubai  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     20   1.1   tsubai  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     21   1.1   tsubai  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     22   1.1   tsubai  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     23   1.1   tsubai  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     24   1.1   tsubai  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     25   1.1   tsubai  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     26   1.1   tsubai  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     27   1.1   tsubai  */
     28   1.1   tsubai 
     29   1.1   tsubai #include <machine/apbus.h>
     30   1.1   tsubai 
     31   1.1   tsubai /*
     32   1.1   tsubai  * Arguments used to attach devices to an ibus
     33   1.1   tsubai  */
     34   1.1   tsubai struct apbus_attach_args {
     35   1.1   tsubai 	char	*apa_name;	/* device name (ex. "sonic", "esccf") */
     36   1.1   tsubai 	int	apa_ctlnum;	/* my unit number (ex. 0, 1, 2, ..) */
     37   1.1   tsubai 	int	apa_slotno;	/* which slot in */
     38   1.1   tsubai 
     39   1.1   tsubai 	u_long	apa_hwbase;	/* hardware I/O address */
     40   1.1   tsubai };
     41   1.1   tsubai 
     42  1.10  tsutsui void apbus_map_romwork(void);
     43   1.5  tsutsui void *apbus_device_to_hwaddr(struct apbus_dev *);
     44   1.5  tsutsui struct apbus_dev *apbus_lookupdev(char *);
     45   1.5  tsutsui void apdevice_dump(struct apbus_dev *);
     46   1.5  tsutsui void apbus_intr_init(void);
     47   1.5  tsutsui int apbus_intr_dispatch(int, int);
     48   1.6  tsutsui void *apbus_intr_establish(int, int, int, int (*)(void *), void *,
     49   1.6  tsutsui     const char *, int);
     50   1.5  tsutsui struct newsmips_bus_dma_tag *apbus_dmatag_init(struct apbus_attach_args *);
     51   1.8  tsutsui void apbus_wbflush(void);
     52   1.1   tsubai 
     53  1.11  tsutsui #define	NEWS5000_SLOTTOMASK(slot)	((slot) ? (0x0100 << ((slot) - 1)) : 0)
     54  1.11  tsutsui #define	NEWS4000_SLOTTOMASK(slot)	((slot) ? (0x0001 << ((slot) - 1)) : 0)
     55  1.11  tsutsui #define	SLOTTOMASK(slot)		(systype == NEWS5000 ?		\
     56  1.11  tsutsui 	    NEWS5000_SLOTTOMASK(slot) : NEWS4000_SLOTTOMASK(slot))
     57