summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/superio/winbond/w83627ehg/superio.c10
-rw-r--r--src/superio/winbond/w83627ehg/w83627ehg.h15
2 files changed, 22 insertions, 3 deletions
diff --git a/src/superio/winbond/w83627ehg/superio.c b/src/superio/winbond/w83627ehg/superio.c
index d37e599abe..019f510358 100644
--- a/src/superio/winbond/w83627ehg/superio.c
+++ b/src/superio/winbond/w83627ehg/superio.c
@@ -184,11 +184,17 @@ static struct pnp_info pnp_dev_info[] = {
// No 4 { 0,},
{ &ops, W83627EHG_KBC, PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_IRQ1, { 0x7ff, 0 }, { 0x7ff, 0x4}, },
{ &ops, W83627EHG_SFI, PNP_IO0 | PNP_IRQ0, { 0x7f8, 0 }, },
- { &ops, W83627EHG_GPIO_GAME_MIDI, PNP_IO0 | PNP_IO1 | PNP_IRQ0, { 0x7ff, 0 }, {0x7fe, 0x4}, },
{ &ops, W83627EHG_WDTO_PLED, },
- { &ops, W83627EHG_GPIO_SUSLED, },
{ &ops, W83627EHG_ACPI, },
{ &ops, W83627EHG_HWM, PNP_IO0 | PNP_IRQ0, { 0xff8, 0 }, },
+ { &ops, W83627EHG_GAME, PNP_IO0, { 0x7ff, 0 }, },
+ { &ops, W83627EHG_MIDI, PNP_IO1 | PNP_IRQ0, { 0x7ff, 0 } , {0x7fe, 0x4}, },
+ { &ops, W83627EHG_GPIO1, },
+ { &ops, W83627EHG_GPIO2, },
+ { &ops, W83627EHG_GPIO3, },
+ { &ops, W83627EHG_GPIO4, },
+ { &ops, W83627EHG_GPIO5, },
+ { &ops, W83627EHG_GPIO6, },
};
static void enable_dev(struct device *dev)
diff --git a/src/superio/winbond/w83627ehg/w83627ehg.h b/src/superio/winbond/w83627ehg/w83627ehg.h
index 01c5ce6ead..8c24590897 100644
--- a/src/superio/winbond/w83627ehg/w83627ehg.h
+++ b/src/superio/winbond/w83627ehg/w83627ehg.h
@@ -24,10 +24,23 @@
#define W83627EHG_SP1 2 /* Com1 */
#define W83627EHG_SP2 3 /* Com2 */
#define W83627EHG_KBC 5 /* Keyboard & Mouse */
-#define W83627EHG_SFI 6 /* Serial Flash Interface */
#define W83627EHG_GPIO_GAME_MIDI 7 /* GPIO1, GPIO6, Game Port and MIDI Port */
#define W83627EHG_WDTO_PLED 8 /* TODO */
#define W83627EHG_GPIO_SUSLED 9 /* GPIO2, GPIO3, GPIO4, GPIO5 and SUSLED */
#define W83627EHG_ACPI 10 /* ACPI */
#define W83627EHG_HWM 11 /* Hardware Monitor */
+/* virtual devices sharing the enables are encoded as follows:
+ VLDN = baseLDN[7:0] | [10:8] bitpos of enable in 0x30 of baseLDN
+*/
+
+#define W83627EHG_SFI ((1 << 8) | 6) /* Flash has bit1 as enable */
+#define W83627EHG_GPIO1 W83627EHG_GPIO_GAME_MIDI /* GPIO1 is at LDN 7, bit 0 */
+#define W83627EHG_GAME ((1 << 8) | 7)
+#define W83627EHG_MIDI ((2 << 8) | 7)
+#define W83627EHG_GPIO6 ((3 << 8) | 7)
+
+#define W83627EHG_GPIO2 W83627EHG_GPIO_SUSLED /* GPIO2 is at LDN 9, bit 0 */
+#define W83627EHG_GPIO3 ((1 << 8) | 9)
+#define W83627EHG_GPIO4 ((2 << 8) | 9)
+#define W83627EHG_GPIO5 ((3 << 8) | 9)