2 * This file is part of the coreboot project.
4 * Copyright (C) 2011 Sven Schnelle <svens@stackframe.org>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
18 #include <device/device.h>
19 #include <device/pnp.h>
24 static void init(struct device
*dev
)
29 switch (dev
->path
.pnp
.device
) {
38 static struct device_operations ops
= {
39 .read_resources
= pnp_read_resources
,
40 .set_resources
= pnp_set_resources
,
41 .enable_resources
= pnp_enable_resources
,
46 static struct pnp_info pnp_dev_info
[] = {
47 { NULL
, PC87382_IR
, PNP_IO0
| PNP_IRQ0
| PNP_DRQ0
| PNP_DRQ1
,
49 { NULL
, PC87382_SP1
, PNP_IO0
| PNP_IRQ0
, 0x07f8 },
50 { NULL
, PC87382_GPIO
, PNP_IO0
| PNP_IRQ0
, 0xfff0 },
51 { NULL
, PC87382_DOCK
, PNP_IO0
| PNP_IRQ0
, 0xfffe },
54 static void enable_dev(struct device
*dev
)
56 pnp_enable_devices(dev
, &ops
, ARRAY_SIZE(pnp_dev_info
), pnp_dev_info
);
59 struct chip_operations superio_nsc_pc87382_ops
= {
60 CHIP_NAME("NSC PC87382 Docking LPC Switch")
61 .enable_dev
= enable_dev
,