Merge branch 'master' of git://git.denx.de/u-boot-uniphier
diff --git a/.travis.yml b/.travis.yml
index d65c570..cda2d97 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -38,8 +38,7 @@
  - ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname`
  - ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname`
  # prepare buildman environment
- - export BUILDMAN_ROOT="root:"
- - echo -e "[toolchain]\n${BUILDMAN_ROOT} /usr" > ~/.buildman
+ - echo -e "[toolchain]\nroot = /usr" > ~/.buildman
  - echo -e "\n[toolchain-alias]\nblackfin = bfin\nsh = sh4\nopenrisc = or32" >> ~/.buildman
  - cat ~/.buildman
  - virtualenv /tmp/venv
@@ -63,19 +62,33 @@
   - if [[ "${TOOLCHAIN}" == *mips* ]]; then ./tools/buildman/buildman --fetch-arch mips ; fi
   - if [[ "${TOOLCHAIN}" == *or32* ]]; then ./tools/buildman/buildman --fetch-arch or32 ; fi
   - if [[ "${TOOLCHAIN}" == *sh4* ]]; then ./tools/buildman/buildman --fetch-arch sh4 ; fi
-  - if [[ "${TOOLCHAIN}" == *x86_64* ]]; then ./tools/buildman/buildman --fetch-arch x86_64 ; fi
+  - if [[ "${TOOLCHAIN}" == *x86_64* ]]; then
+      ./tools/buildman/buildman --fetch-arch x86_64;
+      echo -e "\n[toolchain-prefix]\nx86 = ${HOME}/.buildman-toolchains/gcc-4.9.0-nolibc/x86_64-linux/bin/x86_64-linux-" >> ~/.buildman;
+    fi
   - if [[ "${TOOLCHAIN}" == *xtensa* ]]; then ./tools/buildman/buildman --fetch-arch xtensa ; fi
 
 script:
+ # Comments must be outside the command strings below, or the Travis parser
+ # will get confused.
+ #
  # Exit code 129 means warnings only.
  - if [[ "${BUILDMAN}" != "" ]]; then
      set +e;
-     tools/buildman/buildman ${BUILDMAN};
-     if [[ "$?" == "0" || "$?" == "129" ]]; then
-       exit 0;
-     else
-       exit $?;
-     fi
+     tools/buildman/buildman -P ${BUILDMAN};
+     ret=$?;
+     if [[ $ret -ne 0 && $ret -ne 129 ]]; then
+       exit $ret;
+     fi;
+   fi
+ # "not a_test_which_does_not_exist" is a dummy -k parameter which will
+ # never prevent any test from running. That way, we can always pass
+ # "-k something" even when $TEST_PY_TEST_SPEC doesnt need a custom
+ # value.
+ - if [[ "${TEST_PY_BD}" != "" ]]; then
+     ./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID}
+       -k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}"
+       --build-dir `cd .. && pwd`/.bm-work/${TEST_PY_BD};
    fi
 
 matrix:
@@ -85,8 +98,6 @@
     - env:
         - BUILDMAN="arm1136"
     - env:
-        - BUILDMAN="arm1136"
-    - env:
         - BUILDMAN="arm1176"
     - env:
         - BUILDMAN="arm720t"
@@ -106,9 +117,6 @@
     - env:
         - BUILDMAN="sandbox x86"
           TOOLCHAIN="x86_64"
-      script:
-        - export BUILDMAN_X86="x86:";
-          echo -e "\n[toolchain-prefix]\n${BUILDMAN_X86} ${HOME}/.buildman-toolchains/gcc-4.9.0-nolibc/x86_64-linux/bin/x86_64-linux-" >> ~/.buildman
     - env:
         - BUILDMAN="kirkwood"
     - env:
@@ -147,6 +155,8 @@
     - env:
         - BUILDMAN="siemens"
     - env:
+        - BUILDMAN="tegra -x aarch64"
+    - env:
         - BUILDMAN="ti"
     - env:
         - BUILDMAN="aarch64"
@@ -160,46 +170,75 @@
 
     # QA jobs for code analytics
     # static code analysis with cppcheck (we can add --enable=all later)
-    - script:
+    - env:
+        - JOB="cppcheck"
+      script:
         - cppcheck --force --quiet --inline-suppr .
     # search for TODO within source tree
-    - script:
+    - env:
+        - JOB="grep TODO"
+      script:
         - grep -r TODO .
     # search for FIXME within source tree
-    - script:
+    - env:
+        - JOB="grep FIXME HACK"
+      script:
         - grep -r FIXME .
     # search for HACK within source tree and ignore HACKKIT board
       script:
         - grep -r HACK . | grep -v HACKKIT
     # some statistics about the code base
-    - script:
+    - env:
+        - JOB="sloccount"
+      script:
         - sloccount .
+
     # test/py
-    - script:
-        - ./test/py/test.py --bd sandbox --build
     - env:
-        - CROSS_COMPILE="/usr/bin/arm-linux-gnueabihf-"
-      script:
-        - ./test/py/test.py --bd vexpress_ca15_tc2 --id qemu --build;
-          ./test/py/test.py --bd vexpress_ca9x4 --id qemu --build;
-          ./test/py/test.py --bd integratorcp_cm926ejs --id qemu --build;
+        - TEST_PY_BD="sandbox"
+          BUILDMAN="^sandbox$"
+          TOOLCHAIN="x86_64"
     - env:
-        - TOOLCHAIN="mips"
-          CROSS_COMPILE="${HOME}/.buildman-toolchains/gcc-4.9.0-nolibc/mips-linux/bin/mips-linux-"
-      script:
-        - ./test/py/test.py --bd qemu_mips --build -k 'not sleep';
-          ./test/py/test.py --bd qemu_mipsel --build -k 'not sleep';
-          ./test/py/test.py --bd qemu_mips64 --build -k 'not sleep';
-          ./test/py/test.py --bd qemu_mips64el --build -k 'not sleep';
+        - TEST_PY_BD="vexpress_ca15_tc2"
+          TEST_PY_ID="--id qemu"
+          BUILDMAN="^vexpress_ca15_tc2$"
     - env:
-        - CROSS_COMPILE="/usr/bin/powerpc-linux-gnu-"
-      script:
-        - ./test/py/test.py --bd qemu-ppce500 --build -k 'not sleep'
+        - TEST_PY_BD="vexpress_ca9x4"
+          TEST_PY_ID="--id qemu"
+          BUILDMAN="^vexpress_ca9x4$"
     - env:
-        - TOOLCHAIN="x86_64"
-          BUILD_ROM=yes
-          CROSS_COMPILE="${HOME}/.buildman-toolchains/gcc-4.9.0-nolibc/x86_64-linux/bin/x86_64-linux-"
-      script:
-        - ./test/py/test.py --bd qemu-x86 --build -k 'not sleep'
+        - TEST_PY_BD="integratorcp_cm926ejs"
+          TEST_PY_ID="--id qemu"
+          BUILDMAN="^integratorcp_cm926ejs$"
+    - env:
+        - TEST_PY_BD="qemu_mips"
+          TEST_PY_TEST_SPEC="not sleep"
+          BUILDMAN="^qemu_mips$"
+          TOOLCHAIN="mips"
+    - env:
+        - TEST_PY_BD="qemu_mipsel"
+          TEST_PY_TEST_SPEC="not sleep"
+          BUILDMAN="^qemu_mipsel$"
+          TOOLCHAIN="mips"
+    - env:
+        - TEST_PY_BD="qemu_mips64"
+          TEST_PY_TEST_SPEC="not sleep"
+          BUILDMAN="^qemu_mips64$"
+          TOOLCHAIN="mips"
+    - env:
+        - TEST_PY_BD="qemu_mips64el"
+          TEST_PY_TEST_SPEC="not sleep"
+          BUILDMAN="^qemu_mips64el$"
+          TOOLCHAIN="mips"
+    - env:
+        - TEST_PY_BD="qemu-ppce500"
+          TEST_PY_TEST_SPEC="not sleep"
+          BUILDMAN="^qemu-ppce500$"
+    - env:
+        - TEST_PY_BD="qemu-x86"
+          TEST_PY_TEST_SPEC="not sleep"
+          BUILDMAN="^qemu-x86$"
+          TOOLCHAIN="x86_64"
+          BUILD_ROM="yes"
 
 # TODO make it perfect ;-r
diff --git a/MAINTAINERS b/MAINTAINERS
index 8e67202..0bd8995 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -417,7 +417,7 @@
 F:	arch/sparc/
 
 SPI
-M:	Jagan Teki <jteki@openedev.com>
+M:	Jagan Teki <jagan@openedev.com>
 S:	Maintained
 T:	git git://git.denx.de/u-boot-spi.git
 F:	drivers/mtd/spi/
diff --git a/configs/chromebox_panther_defconfig b/configs/chromebox_panther_defconfig
index b824821..8bf94cb 100644
--- a/configs/chromebox_panther_defconfig
+++ b/configs/chromebox_panther_defconfig
@@ -40,6 +40,7 @@
 CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_DM_ETH=y
 CONFIG_RTL8169=y
+CONFIG_DM_PCI=y
 CONFIG_DM_RTC=y
 CONFIG_SYS_NS16550=y
 CONFIG_ICH_SPI=y
diff --git a/doc/git-mailrc b/doc/git-mailrc
index a14629c..d01a8c7 100644
--- a/doc/git-mailrc
+++ b/doc/git-mailrc
@@ -24,7 +24,7 @@
 alias ijc            Ian Campbell <ijc+uboot@hellion.org.uk>
 alias iwamatsu       Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
 alias jaehoon        Jaehoon Chung <jh80.chung@samsung.com>
-alias jagan          Jagan Teki <jteki@openedev.com>
+alias jagan          Jagan Teki <jagan@openedev.com>
 alias jasonjin       Jason Jin <jason.jin@freescale.com>
 alias jhersh         Joe Hershberger <joe.hershberger@ni.com>
 alias jwrdegoede     Hans de Goede <hdegoede@redhat.com>