pnp: Allow setting of misc register 0xfa in device tree

Change-Id: I45885905f0adaa8f0ad9137d7034e6f7a0dc43de
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Reviewed-on: https://chromium-review.googlesource.com/175356
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Commit-Queue: Stefan Reinauer <reinauer@chromium.org>
Tested-by: Stefan Reinauer <reinauer@chromium.org>
(cherry picked from commit 7fe642543a8de249e13c3d63c3302a20910c247d)
Signed-off-by: Isaac Christensen <isaac.christensen@se-eng.com>
Reviewed-on: http://review.coreboot.org/6859
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Stefan Reinauer 2013-10-31 15:58:50 -07:00 committed by Isaac Christensen
parent d40be1107c
commit 08ba7d0c27
4 changed files with 8 additions and 1 deletions

View File

@ -300,6 +300,11 @@ static void get_resources(device_t dev, struct pnp_info *info)
resource->size = 1; resource->size = 1;
resource->flags |= IORESOURCE_IRQ; resource->flags |= IORESOURCE_IRQ;
} }
if (info->flags & PNP_MSC10) {
resource = new_resource(dev, PNP_IDX_MSC10);
resource->size = 1;
resource->flags |= IORESOURCE_IRQ;
}
} }
void pnp_enable_devices(device_t base_dev, struct device_operations *ops, void pnp_enable_devices(device_t base_dev, struct device_operations *ops,

View File

@ -48,6 +48,7 @@ struct pnp_info {
#define PNP_EN 0x100 #define PNP_EN 0x100
#define PNP_MSC0 0x200 #define PNP_MSC0 0x200
#define PNP_MSC1 0x400 #define PNP_MSC1 0x400
#define PNP_MSC10 0x800
struct io_info io0, io1, io2, io3; struct io_info io0, io1, io2, io3;
}; };
struct resource *pnp_get_resource(device_t dev, unsigned index); struct resource *pnp_get_resource(device_t dev, unsigned index);

View File

@ -12,5 +12,6 @@
#define PNP_IDX_DRQ1 0x75 #define PNP_IDX_DRQ1 0x75
#define PNP_IDX_MSC0 0xf0 #define PNP_IDX_MSC0 0xf0
#define PNP_IDX_MSC1 0xf1 #define PNP_IDX_MSC1 0xf1
#define PNP_IDX_MSC10 0xfa
#endif /* DEVICE_PNP_DEF_H */ #endif /* DEVICE_PNP_DEF_H */

View File

@ -207,7 +207,7 @@ static struct pnp_info pnp_dev_info[] = {
/* Serial Port 1 */ /* Serial Port 1 */
{ &ops, IT8772F_SP1, PNP_IO0 | PNP_IRQ0, {0x0ff8, 0}, }, { &ops, IT8772F_SP1, PNP_IO0 | PNP_IRQ0, {0x0ff8, 0}, },
/* Environmental Controller */ /* Environmental Controller */
{ &ops, IT8772F_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0, { &ops, IT8772F_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_MSC10,
{0x0ff8, 0}, {0x0ffc, 4}, }, {0x0ff8, 0}, {0x0ffc, 4}, },
/* KBC Keyboard */ /* KBC Keyboard */
{ &ops, IT8772F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0, { &ops, IT8772F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0,