Patrick Rudolph (siro(a)das-labor.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10889
-gerrit
commit d12f201508f2b1fa690f0a297440190b9aeb4830
Author: Patrick Rudolph <siro(a)das-labor.org>
Date: Sun Jul 12 12:17:21 2015 +0200
intel raminit: fix timB high adjust calculation
Issue observed:
Any memory DIMM placed in channel0 slots stops at "c320c discovery failed".
The same memory DIMM works when placed in channel1 slots.
Test system:
* Intel Pentium CPU G2130
* Gigabyte GA-B75M-D3H
* DIMMs:
* elixir 1GB 1Rx8 PC3-10600U M2Y1G64CB88A5N
* crucial 2GB 256Mx64 CT2566aBA160BJ
* corsair 8GB CMZ16GX3M2A1866C9
Problem description:
In case of good timmings (all bits are set) an offset of 3*64 was applied.
The following test (c320c discovery) failed only on those byte-lanes.
Adding an offset of zero resolves this issue.
The system boots with every DIMM tested placed in Channel0 slots.
Simplified the remaining code to allow more offsets to be returned.
Change-Id: Iea426ea4470640ce254f16e958a395644ff1a55c
Signed-off-by: Patrick Rudolph <siro(a)das-labor.org>
---
src/northbridge/intel/sandybridge/raminit_native.c | 29 +++++++++++++---------
1 file changed, 17 insertions(+), 12 deletions(-)
diff --git a/src/northbridge/intel/sandybridge/raminit_native.c b/src/northbridge/intel/sandybridge/raminit_native.c
index 0c98b7a..dc3168c 100644
--- a/src/northbridge/intel/sandybridge/raminit_native.c
+++ b/src/northbridge/intel/sandybridge/raminit_native.c
@@ -2283,18 +2283,23 @@ static void discover_timB(ramctr_timing * ctrl, int channel, int slotrank)
static int get_timB_high_adjust(u64 val)
{
int i;
- if (val >= 0xfffffffffffff000LL)
- return 3;
- if (val >= 0xfffffffffff00000LL)
- return -1;
- if (val >= 0xfffffff000000000LL)
- return -2;
- if (val >= 0xfff0000000000000LL)
- return -3;
-
- for (i = 0; i < 8; i++)
- if (val >> (8 * (7 - i) + 4))
- return i;
+
+ /* good */
+ if (val == 0xffffffffffffffffLL)
+ return 0;
+
+ if (val >= 0xf000000000000000LL) {
+ /* needs negative adjustment */
+ for (i = 0; i < 8; i++)
+ if (val << (8 * (7 - i) + 4))
+ return -i;
+ } else {
+ /* needs positive adjustment */
+ for (i = 0; i < 8; i++)
+ if (val >> (8 * (7 - i) + 4))
+ return i;
+ }
+
return 8;
}
Patrick Rudolph (siro(a)das-labor.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10798
-gerrit
commit ddc5f55052c0b46848c93d0c37bd1da4203d3372
Author: Patrick Rudolph <siro(a)das-labor.org>
Date: Sun Jul 5 13:29:41 2015 +0200
intel sandybridge: add VGA pci device id
Add VGA pci device id 0x0152 for Intel IvyBridge CPUs.
Test system:
* Intel Pentium CPU G2130
* Gigabyte GA-B75M-D3H
Change-Id: Ia546fdf0cc3bbd4c0ef6b5fd969232f105bceb22
Signed-off-by: Patrick Rudolph <siro(a)das-labor.org>
---
src/northbridge/intel/sandybridge/early_init.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/northbridge/intel/sandybridge/early_init.c b/src/northbridge/intel/sandybridge/early_init.c
index 21ef223..e77cf22 100644
--- a/src/northbridge/intel/sandybridge/early_init.c
+++ b/src/northbridge/intel/sandybridge/early_init.c
@@ -96,6 +96,7 @@ static void sandybridge_setup_graphics(void)
case 0x0116: /* GT2 Mobile */
case 0x0122: /* GT2 Desktop >=1.3GHz */
case 0x0126: /* GT2 Mobile >=1.3GHz */
+ case 0x0152: /* IvyBridge */
case 0x0156: /* IvyBridge */
case 0x0162: /* IvyBridge */
case 0x0166: /* IvyBridge */
the following patch was just integrated into master:
commit d139c48a23cd308caef4e79aeedd03f6392d6847
Author: Martin Roth <gaumless(a)gmail.com>
Date: Sun Jun 28 14:12:29 2015 -0600
amd/.../hudson: Warn if HUDSON_FWM_POSITION is not inside CBFS
Display a warning if CONFIG_HUDSON_FWM_POSITION is not inside CBFS.
This can be extended to other Kconfig values for CBFS.
Change-Id: I2423f7b361dda8aac5dab409fa7b656de486f635
Signed-off-by: Martin Roth <gaumless(a)gmail.com>
Reviewed-on: http://review.coreboot.org/10683
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
See http://review.coreboot.org/10683 for details.
-gerrit
the following patch was just integrated into master:
commit d12d65fc54c31ee2635c0249a1d92c2e70bc1498
Author: Martin Roth <gaumless(a)gmail.com>
Date: Sun Jun 28 14:06:23 2015 -0600
Calculate HUDSON_FWM_POSITION and display warning on mismatch
This patch calculates the address where the chipset firmware descriptor
should be located and compares it against the actual value from Kconfig.
If the two don't match, it puts up a warning.
This could probably replace the config variable completely, but I wanted
to see how other people felt before doing that. I seem to recall that
the value used to be calculated, so I figure that there must be a reason
it's done this way at this point.
If we do want to keep the Kconfig setting, this patch could also be
modified to just verify that the HUDSON_FWM_POSITION is inside the ROM
space.
Change-Id: I94addf463e2c694a94eef218ec855103a3bb5da5
Signed-off-by: Martin Roth <gaumless(a)gmail.com>
Reviewed-on: http://review.coreboot.org/10682
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
See http://review.coreboot.org/10682 for details.
-gerrit
the following patch was just integrated into master:
commit 16bc7e82d8ec9f27955c2291c8ab1dd638a5ca33
Author: Martin Roth <gaumless(a)gmail.com>
Date: Sun Jun 28 13:49:16 2015 -0600
arch/x86/Makefile.inc: Calculate CBFS_BASE_ADDRESS variable
The CBFS_BASE_ADDRESS can be compared against values used with cbfstool
to generate warnings. This can help cut down on mistakes and debug
time.
Change-Id: I149007dd637661f799a0f2cdb079d11df726ca86
Signed-off-by: Martin Roth <gaumless(a)gmail.com>
Reviewed-on: http://review.coreboot.org/10681
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
See http://review.coreboot.org/10681 for details.
-gerrit
the following patch was just integrated into master:
commit 47abc54ec3eea1a660cfbe3bb935ef6d3ace9de0
Author: Martin Roth <gaumless(a)gmail.com>
Date: Fri Jul 3 12:54:14 2015 -0600
Makefile.inc: Add math macros
Add macros to standardize math done in the Makefiles in a posix
compliant manner.
int-multiply takes an arbitrary list of values to multiply, the same as
the int-addition macro.
The other macros only work on two values at a time.
Change-Id: I3b754b9bcde26f33edc4f945d5af3d5444f383c7
Signed-off-by: Martin Roth <gaumless(a)gmail.com>
Reviewed-on: http://review.coreboot.org/10874
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
See http://review.coreboot.org/10874 for details.
-gerrit
Martin Roth (gaumless(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10887
-gerrit
commit c53b27327be88ddaa8e496b78e39afaec9d8f287
Author: Martin Roth <gaumless(a)gmail.com>
Date: Sat Jul 11 14:01:12 2015 -0600
x86emu/debug.h: remove #ifdef CONFIG_DEFAULT_CONSOLE_LOGLEVEL
This protection didn't make sense to me - it seems like things would
probably break if printf wasn't defined anyway.
Change-Id: Ifb6bad46e193b35c13b7ad4946511fec74beff92
Signed-off-by: Martin Roth <gaumless(a)gmail.com>
---
src/device/oprom/x86emu/debug.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/device/oprom/x86emu/debug.h b/src/device/oprom/x86emu/debug.h
index 6858f15..186c161 100644
--- a/src/device/oprom/x86emu/debug.h
+++ b/src/device/oprom/x86emu/debug.h
@@ -42,10 +42,8 @@
/*---------------------- Macros and type definitions ----------------------*/
-#ifdef CONFIG_DEFAULT_CONSOLE_LOGLEVEL
/* printf is not available in coreboot... use printk */
#define printf(x...) printk(BIOS_DEBUG, x)
-#endif
/* checks to be enabled for "runtime" */