pchb.c revision 1.1.2.2 1 1.1.2.2 uebayasi /* $NetBSD: pchb.c,v 1.1.2.2 2010/04/30 14:43:28 uebayasi Exp $ */
2 1.1.2.2 uebayasi /*
3 1.1.2.2 uebayasi * Copyright (c) 2008 KIYOHARA Takashi
4 1.1.2.2 uebayasi * All rights reserved.
5 1.1.2.2 uebayasi *
6 1.1.2.2 uebayasi * Redistribution and use in source and binary forms, with or without
7 1.1.2.2 uebayasi * modification, are permitted provided that the following conditions
8 1.1.2.2 uebayasi * are met:
9 1.1.2.2 uebayasi * 1. Redistributions of source code must retain the above copyright
10 1.1.2.2 uebayasi * notice, this list of conditions and the following disclaimer.
11 1.1.2.2 uebayasi * 2. Redistributions in binary form must reproduce the above copyright
12 1.1.2.2 uebayasi * notice, this list of conditions and the following disclaimer in the
13 1.1.2.2 uebayasi * documentation and/or other materials provided with the distribution.
14 1.1.2.2 uebayasi *
15 1.1.2.2 uebayasi * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16 1.1.2.2 uebayasi * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17 1.1.2.2 uebayasi * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18 1.1.2.2 uebayasi * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
19 1.1.2.2 uebayasi * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20 1.1.2.2 uebayasi * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21 1.1.2.2 uebayasi * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 1.1.2.2 uebayasi * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
23 1.1.2.2 uebayasi * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
24 1.1.2.2 uebayasi * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 1.1.2.2 uebayasi * POSSIBILITY OF SUCH DAMAGE.
26 1.1.2.2 uebayasi */
27 1.1.2.2 uebayasi
28 1.1.2.2 uebayasi #include <sys/cdefs.h>
29 1.1.2.2 uebayasi __KERNEL_RCSID(0, "$NetBSD: pchb.c,v 1.1.2.2 2010/04/30 14:43:28 uebayasi Exp $");
30 1.1.2.2 uebayasi
31 1.1.2.2 uebayasi #include "opt_pci.h"
32 1.1.2.2 uebayasi #include "pci.h"
33 1.1.2.2 uebayasi
34 1.1.2.2 uebayasi #include <sys/param.h>
35 1.1.2.2 uebayasi #include <sys/device.h>
36 1.1.2.2 uebayasi #include <sys/errno.h>
37 1.1.2.2 uebayasi
38 1.1.2.2 uebayasi #include <dev/pci/pcireg.h>
39 1.1.2.2 uebayasi #include <dev/pci/pcivar.h>
40 1.1.2.2 uebayasi
41 1.1.2.2 uebayasi #include <dev/marvell/marvellreg.h>
42 1.1.2.2 uebayasi #include <dev/marvell/marvellvar.h>
43 1.1.2.2 uebayasi
44 1.1.2.2 uebayasi
45 1.1.2.2 uebayasi static int pchb_match(device_t, struct cfdata *, void *);
46 1.1.2.2 uebayasi static void pchb_attach(device_t, device_t, void *);
47 1.1.2.2 uebayasi
48 1.1.2.2 uebayasi CFATTACH_DECL_NEW(pchb, sizeof(struct device),
49 1.1.2.2 uebayasi pchb_match, pchb_attach, NULL, NULL);
50 1.1.2.2 uebayasi
51 1.1.2.2 uebayasi
52 1.1.2.2 uebayasi /* ARGSUSED */
53 1.1.2.2 uebayasi static int
54 1.1.2.2 uebayasi pchb_match(device_t parent, struct cfdata *match, void *aux)
55 1.1.2.2 uebayasi {
56 1.1.2.2 uebayasi struct pci_attach_args *pa = aux;
57 1.1.2.2 uebayasi
58 1.1.2.2 uebayasi if (PCI_VENDOR(pa->pa_id) == PCI_VENDOR_MARVELL)
59 1.1.2.2 uebayasi switch (PCI_PRODUCT(pa->pa_id)) {
60 1.1.2.2 uebayasi case MARVELL_ORION_1_88F1181:
61 1.1.2.2 uebayasi case MARVELL_ORION_1_88F5082:
62 1.1.2.2 uebayasi case MARVELL_ORION_1_88F5181:
63 1.1.2.2 uebayasi case MARVELL_ORION_1_88F5182:
64 1.1.2.2 uebayasi case MARVELL_ORION_2_88F5281:
65 1.1.2.2 uebayasi case MARVELL_ORION_1_88W8660:
66 1.1.2.2 uebayasi return 1;
67 1.1.2.2 uebayasi }
68 1.1.2.2 uebayasi
69 1.1.2.2 uebayasi return 0;
70 1.1.2.2 uebayasi }
71 1.1.2.2 uebayasi
72 1.1.2.2 uebayasi /* ARGSUSED */
73 1.1.2.2 uebayasi static void
74 1.1.2.2 uebayasi pchb_attach(device_t parent, device_t self, void *aux)
75 1.1.2.2 uebayasi {
76 1.1.2.2 uebayasi
77 1.1.2.2 uebayasi aprint_normal("\n");
78 1.1.2.2 uebayasi aprint_naive("\n");
79 1.1.2.2 uebayasi }
80