aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Reinauer <reinauer@chromium.org>2013-12-11 11:06:08 -0800
committerIsaac Christensen <isaac.christensen@se-eng.com>2014-09-17 17:34:16 +0200
commit0108b936bf0f2d185691d8719c30193af39abefe (patch)
tree558975d9ee4b78ac5a3638d30cf8e199e44507d5
parenta7991515347364504d0bd319d6a41b3750488bf3 (diff)
pnp: Allow setting of misc register 0xf4 in device tree
Change-Id: I602f970e0ee2fd634a74fd4c25358c2e78ca58f9 Signed-off-by: Stefan Reinauer <reinauer@google.com> Reviewed-on: https://chromium-review.googlesource.com/179536 Commit-Queue: Stefan Reinauer <reinauer@chromium.org> Tested-by: Stefan Reinauer <reinauer@chromium.org> Reviewed-by: Shawn Nematbakhsh <shawnn@chromium.org> (cherry picked from commit 02b0583e632f1ba53557f8cfe4293ad4ed29ff4d) Signed-off-by: Isaac Christensen <isaac.christensen@se-eng.com> Reviewed-on: http://review.coreboot.org/6910 Tested-by: build bot (Jenkins) Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
-rw-r--r--src/device/pnp_device.c5
-rw-r--r--src/include/device/pnp.h3
-rw-r--r--src/include/device/pnp_def.h1
-rw-r--r--src/superio/ite/it8772f/superio.c3
4 files changed, 10 insertions, 2 deletions
diff --git a/src/device/pnp_device.c b/src/device/pnp_device.c
index 0aaadaac0a..e4aa4d3a96 100644
--- a/src/device/pnp_device.c
+++ b/src/device/pnp_device.c
@@ -300,6 +300,11 @@ static void get_resources(device_t dev, struct pnp_info *info)
resource->size = 1;
resource->flags |= IORESOURCE_IRQ;
}
+ if (info->flags & PNP_MSC4) {
+ resource = new_resource(dev, PNP_IDX_MSC4);
+ resource->size = 1;
+ resource->flags |= IORESOURCE_IRQ;
+ }
if (info->flags & PNP_MSC10) {
resource = new_resource(dev, PNP_IDX_MSC10);
resource->size = 1;
diff --git a/src/include/device/pnp.h b/src/include/device/pnp.h
index aed0439000..d0d6fa36a9 100644
--- a/src/include/device/pnp.h
+++ b/src/include/device/pnp.h
@@ -48,7 +48,8 @@ struct pnp_info {
#define PNP_EN 0x100
#define PNP_MSC0 0x200
#define PNP_MSC1 0x400
-#define PNP_MSC10 0x800
+#define PNP_MSC4 0x800
+#define PNP_MSC10 0x1000
struct io_info io0, io1, io2, io3;
};
struct resource *pnp_get_resource(device_t dev, unsigned index);
diff --git a/src/include/device/pnp_def.h b/src/include/device/pnp_def.h
index 3258354f5d..bbc39fd13d 100644
--- a/src/include/device/pnp_def.h
+++ b/src/include/device/pnp_def.h
@@ -12,6 +12,7 @@
#define PNP_IDX_DRQ1 0x75
#define PNP_IDX_MSC0 0xf0
#define PNP_IDX_MSC1 0xf1
+#define PNP_IDX_MSC4 0xf4
#define PNP_IDX_MSC10 0xfa
#endif /* DEVICE_PNP_DEF_H */
diff --git a/src/superio/ite/it8772f/superio.c b/src/superio/ite/it8772f/superio.c
index 44bf33dcb4..38f31c03ad 100644
--- a/src/superio/ite/it8772f/superio.c
+++ b/src/superio/ite/it8772f/superio.c
@@ -207,7 +207,8 @@ static struct pnp_info pnp_dev_info[] = {
/* Serial Port 1 */
{ &ops, IT8772F_SP1, PNP_IO0 | PNP_IRQ0, {0x0ff8, 0}, },
/* Environmental Controller */
- { &ops, IT8772F_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_MSC10,
+ { &ops, IT8772F_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0 |
+ PNP_MSC4 | PNP_MSC10,
{0x0ff8, 0}, {0x0ffc, 4}, },
/* KBC Keyboard */
{ &ops, IT8772F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0,