Alexandru Gagniuc (mr.nuke.me(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4821
-gerrit
commit 5422ffb037c6654398babb26d617c907258239da
Author: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
Date: Sun Jan 26 11:18:27 2014 -0600
google/stout: Sanitize cmos.layout
Remove 'baud_rate' and 'hyper_threading' for the same reason described in:
* 74230c3 google/butterfly: Remove unused cmos.layout options
Also add mrc_scrambler_seed_chk, for the same reason as in:
* 655ac24 google/butterfly: Declare mrc_scrambler_seed_chk in cmos.layout
Change-Id: I857d7a52917c6bbb62b53179f2b69d78bc297ea8
Signed-off-by: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
---
src/mainboard/google/stout/cmos.layout | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/mainboard/google/stout/cmos.layout b/src/mainboard/google/stout/cmos.layout
index b7320b5..f0163f1 100644
--- a/src/mainboard/google/stout/cmos.layout
+++ b/src/mainboard/google/stout/cmos.layout
@@ -74,12 +74,14 @@ entries
# -----------------------------------------------------------------
# coreboot config options: console
-392 3 e 5 baud_rate
+# No serial port on this motherboard
+#392 3 e 5 baud_rate
395 4 e 6 debug_level
#399 1 r 0 unused
# coreboot config options: cpu
-400 1 e 2 hyper_threading
+# hyper_threading not supported by the Celeron 847 on this board
+#400 1 e 2 hyper_threading
#401 7 r 0 unused
# coreboot config options: southbridge
@@ -96,6 +98,7 @@ entries
# SandyBridge MRC Scrambler Seed values
896 32 r 0 mrc_scrambler_seed
928 32 r 0 mrc_scrambler_seed_s3
+960 16 r 0 mrc_scrambler_seed_chk
# coreboot config options: check sums
984 16 h 0 check_sum
Alexandru Gagniuc (mr.nuke.me(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4777
-gerrit
commit 664d9cbb39bc1fd1637ec3567f1665c371c3e80b
Author: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
Date: Tue Jan 21 18:31:35 2014 -0600
intel/bd82x6x: Rename SATA speed "support" register to "limit"
"sata_interface_speed_support" implies that we must tell coreboot, via
devicetree.cb at what speed the SATA ports can operate. However, that
is not necessary, and the actual use of this register is to limit the
speed of all ports connected to the PCH.
As such, use "sata_interface_speed_limit" as a better name.
Change-Id: Icb07644d7bb044687b6b571bee6e2bde7f4cab85
Signed-off-by: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
---
src/mainboard/google/butterfly/devicetree.cb | 2 +-
src/mainboard/google/stout/devicetree.cb | 2 +-
src/mainboard/kontron/ktqm77/devicetree.cb | 2 +-
src/mainboard/lenovo/x230/devicetree.cb | 2 +-
src/southbridge/intel/bd82x6x/chip.h | 16 +++++++++++-----
src/southbridge/intel/bd82x6x/sata.c | 4 ++--
src/southbridge/intel/ibexpeak/sata.c | 4 ++--
7 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/src/mainboard/google/butterfly/devicetree.cb b/src/mainboard/google/butterfly/devicetree.cb
index 9a7a1d5..36f3ba3 100644
--- a/src/mainboard/google/butterfly/devicetree.cb
+++ b/src/mainboard/google/butterfly/devicetree.cb
@@ -59,7 +59,7 @@ chip northbridge/intel/sandybridge
# Enable SATA ports 0 & 1
register "sata_port_map" = "0x3"
# Set max SATA speed to 3.0 Gb/s
- register "sata_interface_speed_support" = "0x2"
+ register "sata_interface_speed_limit" = "0x2"
# Enable EC Port 0x68/0x6C
register "gen1_dec" = "0x00040069"
diff --git a/src/mainboard/google/stout/devicetree.cb b/src/mainboard/google/stout/devicetree.cb
index 653d3fe..e157035 100644
--- a/src/mainboard/google/stout/devicetree.cb
+++ b/src/mainboard/google/stout/devicetree.cb
@@ -59,7 +59,7 @@ chip northbridge/intel/sandybridge
register "sata_port_map" = "0x3"
# Set max SATA speed to 3.0 Gb/s
- register "sata_interface_speed_support" = "0x2"
+ register "sata_interface_speed_limit" = "0x2"
# Enable EC Port 0x68/0x6C
register "gen1_dec" = "0x00040069"
diff --git a/src/mainboard/kontron/ktqm77/devicetree.cb b/src/mainboard/kontron/ktqm77/devicetree.cb
index f6390ac..c850609 100644
--- a/src/mainboard/kontron/ktqm77/devicetree.cb
+++ b/src/mainboard/kontron/ktqm77/devicetree.cb
@@ -39,7 +39,7 @@ chip northbridge/intel/sandybridge
# Enable all SATA ports 0-5
register "sata_port_map" = "0x3f"
# Set max SATA speed to 6.0 Gb/s (should be the default, anyway)
- register "sata_interface_speed_support" = "0x3"
+ register "sata_interface_speed_limit" = "0x3"
# TODO: Enable generic LPC decodes...
register "gen1_dec" = "0x001c02e1"
diff --git a/src/mainboard/lenovo/x230/devicetree.cb b/src/mainboard/lenovo/x230/devicetree.cb
index a76de5f..cd708a5 100644
--- a/src/mainboard/lenovo/x230/devicetree.cb
+++ b/src/mainboard/lenovo/x230/devicetree.cb
@@ -58,7 +58,7 @@ chip northbridge/intel/sandybridge
# Enable SATA ports 0 (HDD bay) & 1 (dock) & 2 (msata)
register "sata_port_map" = "0x7"
# Set max SATA speed to 6.0 Gb/s
- register "sata_interface_speed_support" = "0x3"
+ register "sata_interface_speed_limit" = "0x3"
register "gen1_dec" = "0x7c1601"
register "gen2_dec" = "0x0c15e1"
diff --git a/src/southbridge/intel/bd82x6x/chip.h b/src/southbridge/intel/bd82x6x/chip.h
index 0f2f0e9..c722da5 100644
--- a/src/southbridge/intel/bd82x6x/chip.h
+++ b/src/southbridge/intel/bd82x6x/chip.h
@@ -69,15 +69,21 @@ struct southbridge_intel_bd82x6x_config {
uint32_t sata_port1_gen3_tx;
/**
- * SATA Interface Speed Support Configuration
+ * SATA Interface Speed Support Configuration (ISS)
+ *
+ * This option limits the maximum SATA link speed on all SATA ports.
+ * For systems with a mix of 6G and 3G ports, each port will operate up
+ * to its capability, but not any higher than the limit set here. This
+ * option should only be used if the SATA port cannot operate at its
+ * full speed due to hardware bugs, such as board mis-routing.
*
* Only the lower two bits have a meaning:
* 00 - No effect (leave as chip default)
- * 01 - 1.5 Gb/s maximum speed
- * 10 - 3.0 Gb/s maximum speed
- * 11 - 6.0 Gb/s maximum speed
+ * 01 - 1.5 Gb/s maximum speed (Gen 1)
+ * 10 - 3.0 Gb/s maximum speed (Gen 2)
+ * 11 - 6.0 Gb/s maximum speed (Gen 3)
*/
- uint8_t sata_interface_speed_support;
+ uint8_t sata_interface_speed_limit;
uint32_t gen1_dec;
uint32_t gen2_dec;
diff --git a/src/southbridge/intel/bd82x6x/sata.c b/src/southbridge/intel/bd82x6x/sata.c
index 133ebee..8d12202 100644
--- a/src/southbridge/intel/bd82x6x/sata.c
+++ b/src/southbridge/intel/bd82x6x/sata.c
@@ -107,10 +107,10 @@ static void sata_init(struct device *dev)
reg32 |= 0x0c006000; // set PSC+SSC+SALP+SSS
reg32 &= ~0x00020060; // clear SXS+EMS+PMS
/* Set ISS, if available */
- if (config->sata_interface_speed_support)
+ if (config->sata_interface_speed_limit)
{
reg32 &= ~0x00f00000;
- reg32 |= (config->sata_interface_speed_support & 0x03)
+ reg32 |= (config->sata_interface_speed_limit & 0x03)
<< 20;
}
write32(abar + 0x00, reg32);
diff --git a/src/southbridge/intel/ibexpeak/sata.c b/src/southbridge/intel/ibexpeak/sata.c
index 078dc8e..2a6e454 100644
--- a/src/southbridge/intel/ibexpeak/sata.c
+++ b/src/southbridge/intel/ibexpeak/sata.c
@@ -110,9 +110,9 @@ static void sata_init(struct device *dev)
reg32 |= 0x0c006000; // set PSC+SSC+SALP+SSS
reg32 &= ~0x00020060; // clear SXS+EMS+PMS
/* Set ISS, if available */
- if (config->sata_interface_speed_support) {
+ if (config->sata_interface_speed_limit) {
reg32 &= ~0x00f00000;
- reg32 |= (config->sata_interface_speed_support & 0x03)
+ reg32 |= (config->sata_interface_speed_limit & 0x03)
<< 20;
}
write32(abar + 0x00, reg32);
Alexandru Gagniuc (mr.nuke.me(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4762
-gerrit
commit e01bdb85060d39651c56aa5e056de57d0201222d
Author: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
Date: Mon Jan 20 22:26:05 2014 +0100
Revert "Butterfly, Stout: Force SATA link speed to 3 Gbps"
This reverts commit 7b8952c19d8d809b7aeec629b31e1c3d66f19884.
This commit was a hack to solve potential hangs caused by SSD bugs,
but the workaround limited the SATA speed of all connected drives,
despite the problem being localized to one specific model. As such,
this solution is a layering violation, as it makes too many
assumptions about the connected hardware.
Since the SATA speed can now be limited by CMOS config, and is limited
by default on butterfly and stout, the hard limit in devicetree.cb is
of no further use.
Change-Id: Ia35f7e8a24f9cb701ce0e357d9b3e929c4e0a4fb
Signed-off-by: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
---
src/mainboard/google/butterfly/devicetree.cb | 2 --
src/mainboard/google/stout/devicetree.cb | 2 --
2 files changed, 4 deletions(-)
diff --git a/src/mainboard/google/butterfly/devicetree.cb b/src/mainboard/google/butterfly/devicetree.cb
index 36f3ba3..c797fb0 100644
--- a/src/mainboard/google/butterfly/devicetree.cb
+++ b/src/mainboard/google/butterfly/devicetree.cb
@@ -58,8 +58,6 @@ chip northbridge/intel/sandybridge
# Enable SATA ports 0 & 1
register "sata_port_map" = "0x3"
- # Set max SATA speed to 3.0 Gb/s
- register "sata_interface_speed_limit" = "0x2"
# Enable EC Port 0x68/0x6C
register "gen1_dec" = "0x00040069"
diff --git a/src/mainboard/google/stout/devicetree.cb b/src/mainboard/google/stout/devicetree.cb
index e157035..a9e499f 100644
--- a/src/mainboard/google/stout/devicetree.cb
+++ b/src/mainboard/google/stout/devicetree.cb
@@ -58,8 +58,6 @@ chip northbridge/intel/sandybridge
register "gpi6_routing" = "2"
register "sata_port_map" = "0x3"
- # Set max SATA speed to 3.0 Gb/s
- register "sata_interface_speed_limit" = "0x2"
# Enable EC Port 0x68/0x6C
register "gen1_dec" = "0x00040069"
Idwer Vollering (vidwer(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5153
-gerrit
commit 1e4b87b13d7f02222876e9f9462d1f0eb0588085
Author: Idwer Vollering <vidwer(a)gmail.com>
Date: Thu Feb 6 00:42:50 2014 +0000
util/xcompile/xcompile: improve userspace warnings
Warn when the default installation directory for crossgcc
(util/crossgcc/xgcc/bin/) is not found.
Change-Id: I1f2a1d29f0d7117d1f80de4af1c24ecedcbea4da
Signed-off-by: Idwer Vollering <vidwer(a)gmail.com>
---
util/xcompile/xcompile | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/util/xcompile/xcompile b/util/xcompile/xcompile
index df7d558..d04f212 100644
--- a/util/xcompile/xcompile
+++ b/util/xcompile/xcompile
@@ -161,6 +161,10 @@ TCLIST_x86="i386 x86_64"
TWIDTH_x86="32"
XGCCPATH=${1:-"`pwd`/util/crossgcc/xgcc/bin/"}
+if [ ! -d "$XGCCPATH" ]; then
+ printf "Warning: crossgcc seems to not have been built: can't find ${XGCCPATH}\n" >&2
+fi
+
# This loops over all supported architectures.
for architecture in $SUPPORTED_ARCHITECTURE; do
GCCPREFIX="invalid"
Idwer Vollering (vidwer(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5153
-gerrit
commit feb1a150ad5b576cad4e76902f2f01ebd49db620
Author: Idwer Vollering <vidwer(a)gmail.com>
Date: Thu Feb 6 00:42:50 2014 +0000
util/xcompile/xcompile: warn when crossgcc is not built
Warn when the default installation directory for crossgcc
(util/crossgcc/xgcc/bin/) is not found.
Change-Id: I1f2a1d29f0d7117d1f80de4af1c24ecedcbea4da
Signed-off-by: Idwer Vollering <vidwer(a)gmail.com>
---
util/xcompile/xcompile | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/util/xcompile/xcompile b/util/xcompile/xcompile
index df7d558..d04f212 100644
--- a/util/xcompile/xcompile
+++ b/util/xcompile/xcompile
@@ -161,6 +161,10 @@ TCLIST_x86="i386 x86_64"
TWIDTH_x86="32"
XGCCPATH=${1:-"`pwd`/util/crossgcc/xgcc/bin/"}
+if [ ! -d "$XGCCPATH" ]; then
+ printf "Warning: crossgcc seems to not have been built: can't find ${XGCCPATH}\n" >&2
+fi
+
# This loops over all supported architectures.
for architecture in $SUPPORTED_ARCHITECTURE; do
GCCPREFIX="invalid"
Vladimir Serbinenko (phcoder(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5132
-gerrit
commit d59d1bd64417bd38a56667a1a71eeece23a9c3e3
Author: Vladimir Serbinenko <phcoder(a)gmail.com>
Date: Wed Feb 5 14:27:22 2014 +0100
Kill ALT_CBFS_LOAD_PAYLOAD
Not used anymore.
Change-Id: Icf3a4a7f932776981048b805478582ad2b784182
Signed-off-by: Vladimir Serbinenko <phcoder(a)gmail.com>
---
src/Kconfig | 9 ---------
src/lib/cbfs.c | 2 --
2 files changed, 11 deletions(-)
diff --git a/src/Kconfig b/src/Kconfig
index 31a41ab..e6b237a 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -47,15 +47,6 @@ config CBFS_PREFIX
Select the prefix to all files put into the image. It's "fallback"
by default, "normal" is a common alternative.
-config ALT_CBFS_LOAD_PAYLOAD
- bool "Use alternative cbfs_load_payload() implementation."
- default n
- help
- Either board or southbridge provide an alternative cbfs_load_payload()
- implementation. This may be used, for example, if accessing the ROM
- through memory-mapped I/O is slow and a faster alternative can be
- provided.
-
choice
prompt "Compiler to use"
default COMPILER_GCC
diff --git a/src/lib/cbfs.c b/src/lib/cbfs.c
index 9fe1757..30e7949 100644
--- a/src/lib/cbfs.c
+++ b/src/lib/cbfs.c
@@ -213,7 +213,6 @@ void * cbfs_load_stage(struct cbfs_media *media, const char *name)
}
#endif /* CONFIG_RELOCATABLE_RAMSTAGE */
-#if !CONFIG_ALT_CBFS_LOAD_PAYLOAD
void *cbfs_load_payload(struct cbfs_media *media, const char *name)
{
struct cbfs_payload *payload;
@@ -226,7 +225,6 @@ void *cbfs_load_payload(struct cbfs_media *media, const char *name)
media, name, CBFS_TYPE_PAYLOAD, NULL);
return payload;
}
-#endif
/* Simple buffer */
Vladimir Serbinenko (phcoder(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5131
-gerrit
commit b66e8554bbad22be3e7257a43915d69184fe4ab7
Author: Vladimir Serbinenko <phcoder(a)gmail.com>
Date: Wed Feb 5 14:23:56 2014 +0100
lynxpoint: Kill alternative cbfs_load_payload.
With generic load using 32-bit accesses this is no longer necessarry
Change-Id: I7e8a74ea1ceaa225e1024f9eb43e7280773e2b5a
Signed-off-by: Vladimir Serbinenko <phcoder(a)gmail.com>
---
src/southbridge/intel/lynxpoint/Kconfig | 1 -
src/southbridge/intel/lynxpoint/Makefile.inc | 1 -
src/southbridge/intel/lynxpoint/spi_loading.c | 90 ---------------------------
3 files changed, 92 deletions(-)
diff --git a/src/southbridge/intel/lynxpoint/Kconfig b/src/southbridge/intel/lynxpoint/Kconfig
index 5ff00db..970a11d 100644
--- a/src/southbridge/intel/lynxpoint/Kconfig
+++ b/src/southbridge/intel/lynxpoint/Kconfig
@@ -32,7 +32,6 @@ config SOUTH_BRIDGE_OPTIONS # dummy
select PCIEXP_ASPM
select PCIEXP_COMMON_CLOCK
select SPI_FLASH
- select ALT_CBFS_LOAD_PAYLOAD
config INTEL_LYNXPOINT_LP
bool
diff --git a/src/southbridge/intel/lynxpoint/Makefile.inc b/src/southbridge/intel/lynxpoint/Makefile.inc
index 7be2d03..b691e6f 100644
--- a/src/southbridge/intel/lynxpoint/Makefile.inc
+++ b/src/southbridge/intel/lynxpoint/Makefile.inc
@@ -41,7 +41,6 @@ ramstage-y += me_status.c
ramstage-y += reset.c
ramstage-y += watchdog.c
ramstage-y += acpi.c
-ramstage-$(CONFIG_ALT_CBFS_LOAD_PAYLOAD) += spi_loading.c
ramstage-$(CONFIG_ELOG) += elog.c
ramstage-y += spi.c
diff --git a/src/southbridge/intel/lynxpoint/spi_loading.c b/src/southbridge/intel/lynxpoint/spi_loading.c
deleted file mode 100644
index 57e3af8..0000000
--- a/src/southbridge/intel/lynxpoint/spi_loading.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2013 ChromeOS Authors
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-
-#include <stdlib.h>
-#include <string.h>
-#include <arch/byteorder.h>
-#include <cbmem.h>
-#include <cbfs.h>
-#include <console/console.h>
-#include <cpu/x86/smm.h>
-#if CONFIG_VBOOT_VERIFY_FIRMWARE
-#include <vendorcode/google/chromeos/chromeos.h>
-#else
-static inline void *vboot_get_payload(size_t *len) { return NULL; }
-#endif
-
-#define CACHELINE_SIZE 64
-#define INTRA_CACHELINE_MASK (CACHELINE_SIZE - 1)
-#define CACHELINE_MASK (~INTRA_CACHELINE_MASK)
-
-/* Mirror the payload file to the default SMM location if it is small enough.
- * The default SMM region can be used since no one is using the memory at this
- * location at this stage in the boot. */
-static inline void *spi_mirror(void *file_start, int file_len)
-{
- int alignment_diff;
- char *src;
- char *dest = (void *)SMM_DEFAULT_BASE;
-
- alignment_diff = (INTRA_CACHELINE_MASK & (long)file_start);
-
- /* Adjust file length so that the start and end points are aligned to a
- * cacheline. Coupled with the ROM caching in the CPU the SPI hardware
- * will read and cache full length cachelines. It will also prefetch
- * data as well. Once things are mirrored in memory all accesses should
- * hit the CPUs cache. */
- file_len += alignment_diff;
- file_len = ALIGN(file_len, CACHELINE_SIZE);
-
- printk(BIOS_DEBUG, "Payload aligned size: 0x%x\n", file_len);
-
- /* Just pass back the pointer to ROM space if the file is larger
- * than the RAM mirror region. */
- if (file_len > SMM_DEFAULT_SIZE)
- return file_start;
-
- src = (void *)(CACHELINE_MASK & (long)file_start);
- /* Note that if mempcy is not using 32-bit moves the performance will
- * degrade because the SPI hardware prefetchers look for
- * cacheline-aligned 32-bit accesses to kick in. */
- memcpy(dest, src, file_len);
-
- /* Provide pointer into mirrored space. */
- return &dest[alignment_diff];
-}
-
-void *cbfs_load_payload(struct cbfs_media *media, const char *name)
-{
- size_t file_len;
- void *file_start;
-
- file_start = vboot_get_payload(&file_len);
-
- if (file_start != NULL)
- return spi_mirror(file_start, file_len);
-
- file_start = cbfs_get_file_content(media, name, CBFS_TYPE_PAYLOAD, &file_len);
-
- if (file_start == NULL)
- return NULL;
-
- return spi_mirror(file_start, file_len);
-}