the following patch was just integrated into master:
commit e68a4385d4e8d9e247ac1f09d406fd2fb4e9b1de
Author: Martin Roth <martinroth(a)google.com>
Date: Wed Mar 16 10:45:35 2016 -0600
payloads/Makefile.inc: Clean up Makefile
- Instead of adding each payload to each common target, create a list
and loop through the list for all of the payloads
- '.phony' doesn't work - the target needs to be uppercase '.PHONY'
Change-Id: I4a7712c94d0f127c2fff8cb8fada4b8132a4ab3b
Signed-off-by: Martin Roth <martinroth(a)google.com>
Reviewed-on: https://review.coreboot.org/14131
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
See https://review.coreboot.org/14131 for details.
-gerrit
the following patch was just integrated into master:
commit c8ed34075b7785c91cfb1c8556357b2e70cf765d
Author: Martin Roth <martinroth(a)google.com>
Date: Wed Mar 16 10:39:30 2016 -0600
payloads/external: Rename Makefile.inc to Makefile
These makefiles are not included by anything, so they shouldn't be
named Makefile.inc. Also, having them all be named 'Makefile' makes
some other consolidation work I'm doing much easier.
Change-Id: I1234539ba6a0a6f47d2eb0c21de3da3607c6b8de
Signed-off-by: Martin Roth <martinroth(a)google.com>
Reviewed-on: https://review.coreboot.org/14130
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
See https://review.coreboot.org/14130 for details.
-gerrit
Martin Roth (martinroth(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14147
-gerrit
commit b86257b1bcc498f1dfa9aeae9659370b75517617
Author: Martin Roth <martinroth(a)google.com>
Date: Sun Mar 20 20:39:04 2016 -0600
buildgcc: Add check for missing libraries and test for zlib
- Add check_for_library routine to test for missing libraries.
- Add a check for zlib.
- Remove 'utility' text from please_install() routine since we can test
for libraries or utilities now.
- Remove incorrect 'solution' text from alternate install since I was
updating that line.
Change-Id: Id5ef28f8bde114cbf4e5a91fc119d42593ea6ab2
Signed-off-by: Martin Roth <martinroth(a)google.com>
---
util/crossgcc/buildgcc | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index 2b586c7..f4f1a57 100755
--- a/util/crossgcc/buildgcc
+++ b/util/crossgcc/buildgcc
@@ -126,9 +126,9 @@ please_install()
*) solution="using your OS packaging system" ;;
esac
- printf "${RED}ERROR:${red} Missing tool: Please install \'$1\' utility. (eg $solution)${NC}\n" >&2
+ printf "${RED}ERROR:${red} Missing tool: Please install \'$1\'. (eg $solution)${NC}\n" >&2
if [ -n "$2" ]; then
- printf "${RED}ERROR:${red} or install \'$2\' utility. (eg $solution)${NC}\n" >&2
+ printf "${RED}ERROR:${red} or install \'$2\'.${NC}\n" >&2
fi
}
@@ -188,6 +188,19 @@ searchtool()
false
}
+# Run a compile check of the specified library option to see if it's installed
+check_for_library() {
+ local LIBRARY_FLAGS=$1
+ local LIBRARY_PACKAGES=$2
+ local LIBTEST_FILE=.libtest
+
+ echo "int main(int argc, char **argv) { (void) argc; (void) argv; return 0; }" > "${LIBTEST_FILE}.c"
+
+ cc $CFLAGS $LIBRARY_FLAGS "${LIBTEST_FILE}.c" -o "${LIBTEST_FILE}" >/dev/null 2>&1 || \
+ please_install "$LIBRARY_PACKAGES"
+ rm -rf "${LIBTEST_FILE}.c" "${LIBTEST_FILE}"
+}
+
check_sum() {
test -z "$CHECKSUM" || \
test "$(cat sum/$1.cksum 2>/dev/null | sed -e 's@.*\([0-9a-f]\{40,\}\).*@\1@')" = \
@@ -690,6 +703,8 @@ searchtool clang "LLVM" "" "g++" > /dev/null
searchtool wget > /dev/null
searchtool bzip2 "bzip2," > /dev/null
+check_for_library "-lz" "zlib (zlib1g-dev or zlib-devel)"
+
if [ "$HALT_FOR_TOOLS" -ne 0 ]; then
exit 1
fi
Martin Roth (martinroth(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14145
-gerrit
commit 0977e8aa6906ef48029dcf81156eea0cbc8f3d7c
Author: Martin Roth <martinroth(a)google.com>
Date: Sun Mar 20 12:03:20 2016 -0600
buildgcc: Fix help text formatting
Add a newline after the supported version text.
Move $TARGETDIR left so that longer paths print better.
Change-Id: If520e1b8657a526dee27763aee62cb78777d020d
Signed-off-by: Martin Roth <martinroth(a)google.com>
---
util/crossgcc/buildgcc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index f88c09c..2e7505b 100755
--- a/util/crossgcc/buildgcc
+++ b/util/crossgcc/buildgcc
@@ -326,9 +326,9 @@ myhelp()
printf " [--nocolor] don't print color codes in output\n"
printf " [--urls] print the urls for all packages\n"
printf " [-j|--jobs <num>] run <num> jobs in parallel in make\n"
- printf " [-s]--supported <tool> print supported version of a tool"
+ printf " [-s]--supported <tool> print supported version of a tool\n"
printf " [-d|--directory <target dir>] target directory to install cross compiler to\n"
- printf " (defaults to $TARGETDIR)\n\n"
+ printf " (defaults to $TARGETDIR)\n\n"
printf " [-D|--destdir <dest dir>] destination directory to install cross compiler to\n"
printf " (for RPM builds, default unset)\n"
printf " [-P|--package <package>] Build a specific package: GCC, CLANG, IASL, GDB\n"
Timothy Pearson (tpearson(a)raptorengineeringinc.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14144
-gerrit
commit ceb3b527d7bc7566f2cee41b9e9b7e946f1b1977
Author: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
Date: Sun Mar 20 14:21:53 2016 -0500
nb/amd/amdmct/mct_ddr3: Ensure BlockRxDqsLock does not remain set
Under certain conditions (training abort) BlockRxDqsLock could
remain set in violation of the BKDG. Ensure BlockRxDqsLock is
reset to 0 after a lane training abort.
Change-Id: I1a49a24d02b2b7cacae074794ec274a424a9e66b
---
src/northbridge/amd/amdmct/mct_ddr3/mctdqs_d.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/northbridge/amd/amdmct/mct_ddr3/mctdqs_d.c b/src/northbridge/amd/amdmct/mct_ddr3/mctdqs_d.c
index 15b5ea4..5d75fb0 100644
--- a/src/northbridge/amd/amdmct/mct_ddr3/mctdqs_d.c
+++ b/src/northbridge/amd/amdmct/mct_ddr3/mctdqs_d.c
@@ -1725,6 +1725,12 @@ static void TrainDQSReceiverEnCyc_D_Fam15(struct MCTStatStruc *pMCTstat,
"Training for receiver %d on DCT %d aborted\n",
__func__, lane, Receiver, dct);
}
+
+ /* Restore BlockRxDqsLock setting to normal operation in preparation for retraining */
+ dword = Get_NB32_index_wait_DCT(dev, dct, index_reg, 0x0d0f0030 | (lane << 8));
+ dword &= ~(0x1 << 8); /* BlockRxDqsLock = 0 */
+ Set_NB32_index_wait_DCT(dev, dct, index_reg, 0x0d0f0030 | (lane << 8), dword);
+
break;
}
Timothy Pearson (tpearson(a)raptorengineeringinc.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14144
-gerrit
commit 37a93eb7576a76f070501bda8c1ca646b8d6ee3c
Author: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
Date: Sun Mar 20 14:21:53 2016 -0500
nb/amd/amdmct/mct_ddr3: Ensure BlockRxDqsLock does not remain set
Under certain conditions (training abort) BlockRxDqsLock could
remain set in violation of the BKDG. Ensure BlockRxDqsLock is
reset to 0 after a lane training abort.
Change-Id: I1a49a24d02b2b7cacae074794ec274a424a9e66b
---
src/northbridge/amd/amdmct/mct_ddr3/mctdqs_d.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/northbridge/amd/amdmct/mct_ddr3/mctdqs_d.c b/src/northbridge/amd/amdmct/mct_ddr3/mctdqs_d.c
index 15b5ea4..5697a6e 100644
--- a/src/northbridge/amd/amdmct/mct_ddr3/mctdqs_d.c
+++ b/src/northbridge/amd/amdmct/mct_ddr3/mctdqs_d.c
@@ -1725,6 +1725,11 @@ static void TrainDQSReceiverEnCyc_D_Fam15(struct MCTStatStruc *pMCTstat,
"Training for receiver %d on DCT %d aborted\n",
__func__, lane, Receiver, dct);
}
+
+ /* Restore BlockRxDqsLock to normal operation */
+ dword = Get_NB32_index_wait_DCT(dev, dct, index_reg, 0x0d0f0030 | (lane << 8));
+ dword &= ~(0x1 << 8); /* BlockRxDqsLock = 0 */
+ Set_NB32_index_wait_DCT(dev, dct, index_reg, 0x0d0f0030 | (lane << 8), dword);
break;
}
David Hendricks (dhendrix(a)chromium.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14143
-gerrit
commit a759a4e137679da3a11587e3334b98443436d73d
Author: David Hendricks <dhendrix(a)chromium.org>
Date: Fri Mar 18 20:23:05 2016 -0700
gpio: Add support for extended binary number system
This adds yet another number system which logically extends the binary
representation to allow floating/high-Z values to count in the result.
A 'Z' value at position N will yield a value of 0 at position N and a
value of 1 at position (1 << N << num_gpio).
For example:
000Z => 0b1_0000
100Z => 0b1_1000
BRANCH=none
BUG=none
TEST=stubbed out and tested for a 3-wide raw value, see comments
in gerrit for the full table.
Change-Id: I121e0cac9fa84fcbb261d1d84dcb20cfd49e5518
Signed-off-by: David Hendricks <dhendrix(a)chromium.org>
---
src/include/gpio.h | 13 +++++++++++++
src/lib/gpio.c | 19 +++++++++++++++++++
2 files changed, 32 insertions(+)
diff --git a/src/include/gpio.h b/src/include/gpio.h
index ea03a23..3b22154 100644
--- a/src/include/gpio.h
+++ b/src/include/gpio.h
@@ -41,6 +41,19 @@ int gpio_base2_value(gpio_t gpio[], int num_gpio);
/*
* Read the value presented by the set of GPIOs, when each pin is interpreted
+ * as a base-2 digit (LOW = 0, HIGH = 1). If a pin is in its Z/floating state
+ * the value becomes (1 << pin_num << num_gpio).
+ *
+ * Caveat: This scheme makes the number space discontinuous. The advantage is
+ * that it's simple to compute and translate to/from hex.
+ *
+ * gpio[]: pin positions to read. gpio[0] is less significant than gpio[1].
+ * num_gpio: number of pins to read.
+ */
+int gpio_base2_ext_value(gpio_t gpio[], int num_gpio);
+
+/*
+ * Read the value presented by the set of GPIOs, when each pin is interpreted
* as a base-3 digit (LOW = 0, HIGH = 1, Z/floating = 2).
* Example: X1 = Z, X2 = 1 -> gpio_base3_value({GPIO(X1), GPIO(X2)}) = 5
* BASE3() from <base3.h> can generate numbers to compare the result to.
diff --git a/src/lib/gpio.c b/src/lib/gpio.c
index 5147cfe..cfe1786 100644
--- a/src/lib/gpio.c
+++ b/src/lib/gpio.c
@@ -35,6 +35,25 @@ int gpio_base2_value(gpio_t gpio[], int num_gpio)
return result;
}
+int gpio_base2_ext_value(gpio_t gpio[], int num_gpio)
+{
+ static const char tristate_char[] = {[0] = '0', [1] = '1', [2] = 'Z'};
+ int temp, index, result = 0;
+
+ for (index = num_gpio - 1; index >= 0; --index) {
+ temp = gpio_get(gpio[index]);
+ printk(BIOS_DEBUG, "%c ", tristate_char[temp]);
+
+ if (temp == 2) /* Z-state */
+ result += (1 << index << num_gpio);
+ else
+ result += temp * (1 << index);
+ }
+
+ printk(BIOS_DEBUG, "= 0x%x (extended binary number system)\n", result);
+ return result;
+}
+
int gpio_base3_value(gpio_t gpio[], int num_gpio)
{
/*