aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/dell/s1850/s1850_fixups.c
diff options
context:
space:
mode:
authorRonald G. Minnich <rminnich@gmail.com>2009-10-09 20:07:48 +0000
committerRonald G. Minnich <rminnich@gmail.com>2009-10-09 20:07:48 +0000
commit42584096c30440ecef1c50322f2f39ccbc9e5230 (patch)
treea0299ad6741f27a22af19adad4978aae4bca8df5 /src/mainboard/dell/s1850/s1850_fixups.c
parent517bb208dcb2739108d07357c79e78ecd474523f (diff)
This change allows us to see the spd on the s850, finally.
There is an i2c mux out there. We found it using a user level program that, as usual, began by inverting all gpios until we found out what we needed to know. In the end, we just set up the GPIOs as the factory bios does. Signed-off-by: Ronald G. Minnich <rminnich@gmail.com> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4755 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
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);
+
}