aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/dell/s1850/s1850_fixups.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/dell/s1850/s1850_fixups.c')
-rw-r--r--src/mainboard/dell/s1850/s1850_fixups.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/mainboard/dell/s1850/s1850_fixups.c b/src/mainboard/dell/s1850/s1850_fixups.c
index 77744d4d34..9827120056 100644
--- a/src/mainboard/dell/s1850/s1850_fixups.c
+++ b/src/mainboard/dell/s1850/s1850_fixups.c
@@ -33,6 +33,26 @@ static void mainboard_set_ich5(void)
* we leave it enabled and visible in config space -- 8f66
*/
pci_write_config16(PCI_DEV(0, 0x1f, 0), 0xf2, 0x8f66);
+ /* GPIOs -- needed, possibly, for SPD */
+ pci_write_config32(PCI_DEV(0, 0x1f, 0), 0x58, 0x881);
+ pci_write_config8(PCI_DEV(0, 0x1f, 0), 0x5c, 0x10);
+
+ /* now the fun begins ... enable the GPIOs as done on factory */
+ /* factory config from IO ports
+ * It has a few more things enabled than default!
+ */
+ outl(0x1ae0f183, 0x880);
+ outl(0x1b00ffff, 0x884);
+ outl(0x131f0000, 0x88c);
+ outl(0x00000000, 0x894);
+ outl(0x00040000, 0x898);
+ outl(0x00000000, 0x8a4);
+ outl(0x00000000, 0x8a8);
+ outl(0x000031c0, 0x8ac);
+ outl(0x00000007, 0x8b0);
+ outl(0x00000304, 0x8b4);
+ outl(0x00030303, 0x8b8);
+
}