summaryrefslogtreecommitdiff
path: root/src/southbridge/via/vt8237r
diff options
context:
space:
mode:
Diffstat (limited to 'src/southbridge/via/vt8237r')
-rw-r--r--src/southbridge/via/vt8237r/chip.h2
-rw-r--r--src/southbridge/via/vt8237r/lpc.c9
2 files changed, 10 insertions, 1 deletions
diff --git a/src/southbridge/via/vt8237r/chip.h b/src/southbridge/via/vt8237r/chip.h
index 2e24fac4f8..bbba5e4d85 100644
--- a/src/southbridge/via/vt8237r/chip.h
+++ b/src/southbridge/via/vt8237r/chip.h
@@ -69,6 +69,8 @@ struct southbridge_via_vt8237r_config {
u8 usb2_dpll_set;
u8 usb2_dpll_delay;
+
+ u8 int_efgh_as_gpio;
};
#endif /* SOUTHBRIDGE_VIA_VT8237R_CHIP_H */
diff --git a/src/southbridge/via/vt8237r/lpc.c b/src/southbridge/via/vt8237r/lpc.c
index 207dfdb335..43a9394bfa 100644
--- a/src/southbridge/via/vt8237r/lpc.c
+++ b/src/southbridge/via/vt8237r/lpc.c
@@ -421,10 +421,13 @@ static void vt8237s_init(struct device *dev)
static void vt8237_common_init(struct device *dev)
{
u8 enables, byte;
+ struct southbridge_via_vt8237r_config *cfg;
#if !CONFIG_EPIA_VT8237R_INIT
unsigned char pwr_on;
#endif
+ cfg = dev->chip_info;
+
/* Enable addr/data stepping. */
byte = pci_read_config8(dev, PCI_COMMAND);
byte |= PCI_COMMAND_WAIT;
@@ -509,7 +512,11 @@ static void vt8237_common_init(struct device *dev)
* | bit 1=1 works for Aaron at VIA, bit 1=0 works for jakllsch
* 0 | Dynamic Clock Gating Main Switch (1=Enable)
*/
- pci_write_config8(dev, 0x5b, 0xb);
+ if (cfg && cfg->int_efgh_as_gpio) {
+ pci_write_config8(dev, 0x5b, 0x9);
+ } else {
+ pci_write_config8(dev, 0x5b, 0xb);
+ }
/* configure power state of the board after loss of power */
if (get_option(&pwr_on, "power_on_after_fail") < 0)