1/*	$NetBSD: board.h,v 1.4 2006/10/02 08:13:53 gdamore Exp $	*/
2
3/*-
4 * Copyright (c) 2006 Itronix Inc.
5 * All rights reserved.
6 *
7 * Written by Garrett D'Amore for Itronix Inc.
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions
11 * are met:
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.
17 * 3. The name of Itronix Inc. may not be used to endorse
18 *    or promote products derived from this software without specific
19 *    prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY ITRONIX INC. ``AS IS'' AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
23 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL ITRONIX INC. BE LIABLE FOR ANY
25 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
26 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
28 * ON ANY THEORY OF LIABILITY, WHETHER IN
29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 * POSSIBILITY OF SUCH DAMAGE.
32 */
33
34#ifndef _EVBMIPS_ALCHEMY_BOARD_H
35#define	_EVBMIPS_ALCHEMY_BOARD_H
36
37#include <dev/pci/pcivar.h>
38
39struct alchemy_board {
40	const char		*ab_name;
41	const struct obiodev	*ab_devices;
42	void		(*ab_init)(void);
43	int		(*ab_pci_intr_map)(const struct pci_attach_args *,
44					   pci_intr_handle_t *);
45
46	void		(*ab_reboot)(void);
47	void		(*ab_poweroff)(void);
48
49	struct aupcmcia_machdep	*ab_pcmcia;
50
51	const struct auspi_machdep *(*ab_spi)(bus_addr_t);
52
53	/*
54	 * XXX: csb250 (and perhaps others) will require pci_idsel
55	 * entry point
56	 */
57};
58
59const struct alchemy_board *board_info(void);
60
61#endif	/* _EVBMIPS_ALCHEMY_BOARD_H */
62