1 /* $NetBSD: autoconf.h,v 1.12 2009/05/08 09:33:58 skrll Exp $ */
3 /* $OpenBSD: autoconf.h,v 1.10 2001/05/05 22:33:42 art Exp $ */
6 * Copyright (c) 1998-2004 Michael Shalayeff
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions
12 * 1. Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
14 * 2. Redistributions in binary form must reproduce the above copyright
15 * notice, this list of conditions and the following disclaimer in the
16 * documentation and/or other materials provided with the distribution.
18 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21 * IN NO EVENT SHALL THE AUTHOR OR HIS RELATIVES BE LIABLE FOR ANY DIRECT,
22 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24 * SERVICES; LOSS OF MIND, USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
27 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
28 * THE POSSIBILITY OF SUCH DAMAGE.
31 #include <sys/device.h>
33 #include <machine/bus.h>
34 #include <machine/pdc.h>
37 struct iodc_data ca_type PDC_ALIGNMENT
; /* iodc-specific type descrition */
38 struct device_path ca_dp
; /* device_path as found by pdc_scan */
39 struct pdc_iodc_read
*ca_pdc_iodc_read
;
43 } ca_addrs
[16]; /* 16 is ought to be enough */
44 const char *ca_name
; /* device name/description */
45 bus_space_tag_t ca_iot
; /* io tag */
46 int ca_mod
; /* module number on the bus */
47 hppa_hpa_t ca_hpa
; /* module HPA */
48 u_int ca_hpasz
; /* module HPA size (if avail) */
49 bus_dma_tag_t ca_dmatag
; /* DMA tag */
50 int ca_irq
; /* module IRQ */
51 int ca_naddrs
; /* number of valid addr ents */
52 hppa_hpa_t ca_hpabase
; /* HPA base to use or 0 for PDC */
53 int ca_nmodules
; /* check for modules 0 to nmodules - 1 */
56 #define HP700CF_IRQ_UNDEF (-1)
57 #define hp700cf_irq cf_loc[GEDOENSCF_IRQ]
59 /* this is used for hppa_knownmodules table
60 * describing known to this port modules,
61 * system boards, cpus, fpus and busses
63 struct hppa_mod_info
{
69 extern void (*cold_hook
)(int);
70 #define HPPA_COLD_COLD 0
71 #define HPPA_COLD_HOT 1
72 #define HPPA_COLD_OFF 2
74 const char *hppa_mod_info(int, int);
76 void pdc_scanbus(device_t
, struct confargs
*,
77 void (*)(device_t
, struct confargs
*));
79 int mbprint(void *, const char *);
80 int mbsubmatch(device_t
, struct cfdata
*,
82 int clock_intr(void *);