summaryrefslogtreecommitdiffstats
path: root/resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0121-southbridge-amd-sb700-Fix-drifting-system-clock.patch
diff options
context:
space:
mode:
authorFrancis Rowe <info@gluglug.org.uk>2016-01-02 17:10:32 (EST)
committer Francis Rowe <info@gluglug.org.uk>2016-01-04 15:28:39 (EST)
commitd1f408f3725aa02bc1d76c4c6aadb4697bd073c0 (patch)
tree7eed036543ae1f8c57b56825880a722a8efbedf1 /resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0121-southbridge-amd-sb700-Fix-drifting-system-clock.patch
parent91aec7e72005dcda72d19f2d024a02d8c0f86590 (diff)
downloadlibreboot-d1f408f3725aa02bc1d76c4c6aadb4697bd073c0.zip
libreboot-d1f408f3725aa02bc1d76c4c6aadb4697bd073c0.tar.gz
libreboot-d1f408f3725aa02bc1d76c4c6aadb4697bd073c0.tar.bz2
Use different coreboot revisions and patches per board
The release archives will be bigger, but this is a necessary change that makes libreboot development easier. At present, there are boards maintained in libreboot by different people. By doing it this way, that becomes much easier. This is in contrast to the present situation, where a change to one board potentially affects all other boards, especially when updating to a new version of coreboot. Coreboot-libre scripts, download scripts, build scripts - everything. The entire build system has been modified to reflect this change of development. For reasons of consistency, cbfstool and nvramtool are no longer included in the util archives.
Diffstat (limited to 'resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0121-southbridge-amd-sb700-Fix-drifting-system-clock.patch')
-rw-r--r--resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0121-southbridge-amd-sb700-Fix-drifting-system-clock.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0121-southbridge-amd-sb700-Fix-drifting-system-clock.patch b/resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0121-southbridge-amd-sb700-Fix-drifting-system-clock.patch
new file mode 100644
index 0000000..75a11f6
--- /dev/null
+++ b/resources/libreboot/patch/coreboot/33fb4cf0ffb01be8bcb6b488872c87eb50e7d77f/grub/kgpe-d16/0121-southbridge-amd-sb700-Fix-drifting-system-clock.patch
@@ -0,0 +1,47 @@
+From 49e08c434dc1b0a608496f0187c18d2ce83a59e0 Mon Sep 17 00:00:00 2001
+From: Timothy Pearson <tpearson@raptorengineeringinc.com>
+Date: Fri, 28 Aug 2015 15:31:31 -0500
+Subject: [PATCH 121/143] southbridge/amd/sb700: Fix drifting system clock
+
+Change-Id: I1698c9b9b1840d254115821f3c0e76b7211e9056
+Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com>
+---
+ src/southbridge/amd/sb700/early_setup.c | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/src/southbridge/amd/sb700/early_setup.c b/src/southbridge/amd/sb700/early_setup.c
+index da03961..fe8824f 100644
+--- a/src/southbridge/amd/sb700/early_setup.c
++++ b/src/southbridge/amd/sb700/early_setup.c
+@@ -431,10 +431,10 @@ static void sb700_devices_por_init(void)
+
+ /* Configure HPET Counter CLK period */
+ byte = pci_read_config8(dev, 0x43);
+- byte &= 0xF7; /* unhide HPET regs */
++ byte &= 0xF7; /* Unhide HPET regs */
+ pci_write_config8(dev, 0x43, byte);
+- pci_write_config32(dev, 0x34, 0x0429B17E ); /* Counter CLK period */
+- byte |= 0x08; /* hide HPET regs */
++ pci_write_config32(dev, 0x34, 0xb0); /* HPET_CNTRL = 0xb0 */
++ byte |= 0x08; /* Hide HPET regs */
+ pci_write_config8(dev, 0x43, byte);
+
+ /* Features Enable */
+@@ -669,6 +669,14 @@ static void sb700_pmio_por_init(void)
+ byte = pmio_read(0xbb);
+ byte |= 0xc0;
+ pmio_write(0xbb, byte);
++
++#if CONFIG_SOUTHBRIDGE_AMD_SUBTYPE_SP5100
++ /* Work around system clock drift issues */
++ byte = pmio_read(0xd4);
++ byte |= 0x1 << 6; /* Enable alternate 14MHz clock source */
++ byte |= 0x1 << 7; /* Disable 25MHz oscillator buffer */
++ pmio_write(0xd4, byte);
++#endif
+ }
+
+ /*
+--
+1.7.9.5
+