summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMyles Watson <mylesgw@gmail.com>2008-11-14 21:45:10 +0000
committerMyles Watson <mylesgw@gmail.com>2008-11-14 21:45:10 +0000
commit27fbb8428ce402358a9c3191084669bd5c9d654f (patch)
tree56e5008631057dd079532485bce4ec6215e45a08 /include
parent863bcbff3bd26bd7776322a669556deaa01b23db (diff)
downloadcoreboot-27fbb8428ce402358a9c3191084669bd5c9d654f.tar.gz
coreboot-27fbb8428ce402358a9c3191084669bd5c9d654f.tar.bz2
coreboot-27fbb8428ce402358a9c3191084669bd5c9d654f.zip
This patch changes PNP support for devices so that the dts values get passed
in. include/device/pnp.h: Add enable, val, and irq & drq structs. superio/winbond/w83627hf/superio.c: Change functions to operate on children. Add device ID to ops. Add enables to pnp_dev_info table. Fill in dts values. superio/winbond/w83627hf/dts: Get rid of device number parameters. Add config parameters so we know when they're set. device/pnp_device.c: Allocate devices as children to SuperIO. mainboard/amd/serengeti/dts: Move ioport so it's found. (Not its permanent resting place I hope.) Add enables for KBC, SP1, and HWM to show it off. Signed-off-by: Myles Watson <mylesgw@gmail.com> Acked-by: Ronald G. Minnich <rminnich@gmail.com> git-svn-id: svn://coreboot.org/repository/coreboot-v3@1027 f3766cd6-281f-0410-b1cd-43a5c92072e9
Diffstat (limited to 'include')
-rw-r--r--include/device/pnp.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/include/device/pnp.h b/include/device/pnp.h
index d619bcfb6746..a13adbbf263d 100644
--- a/include/device/pnp.h
+++ b/include/device/pnp.h
@@ -53,12 +53,13 @@ extern struct device_operations pnp_ops;
/* PNP helper operations */
struct io_info {
- unsigned mask, set;
+ unsigned mask, set, val;
};
struct pnp_info {
struct device_operations *ops;
unsigned function;
+ unsigned enable;
unsigned flags;
#define PNP_IO0 0x01
#define PNP_IO1 0x02
@@ -68,7 +69,7 @@ struct pnp_info {
#define PNP_IRQ1 0x20
#define PNP_DRQ0 0x40
#define PNP_DRQ1 0x80
- struct io_info io0, io1, io2, io3;
+ struct io_info io0, io1, io2, io3, irq0, irq1, drq0, drq1;
};
struct resource *pnp_get_resource(struct device * dev, unsigned index);
void pnp_enable_devices(struct device *dev, struct device_operations *ops,