Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/12928
-gerrit
commit 6a74dbb83498953dab6da0733e44baa05064880b
Author: Pratik Prajapati <pratikkumar.v.prajapati(a)intel.com>
Date: Wed Nov 18 15:02:19 2015 -0800
coreboot-utils : adding tools to support (semi) automation test of mma
mma_automated_test.sh takes a config file (/usr/local/mma/tests) as input
and executes all tests mentioned in the config file.
format of the config file is one or more lines mentioned below.
<MMA test name> <MMA test param> <#count>
e.g. consider following config file.
Margin1D.efi Margin1DRxVrefConfig.bin 4
RMT.efi RMTConfig.bin 1
MarginMapper.efi ScoreTxVref-TxDqDelayConfigCh1.bin 2
Margin2D.efi Margin2D_Cmd_Ch0_D1_R0_Config.bin 3
This will execute Margin1D.efi MMA test 4 times with Margin1DRxVrefConfig.bin param
and results will be stored in DUT under /usr/local/mma/results_<date-time-stamp> with
Margin1D_Margin1DRxVrefConfig_1.bin to Margin1D_Margin1DRxVrefConfig_4.bin name.
Subsequently all tests will be executed and results will be stored.
/etc/init/mma.conf invokes mma_automated_test.sh when DUT starts. And if valid test config
is preset at /usr/local/mma/tests, mma_automated_test.sh will continue executing the tests.
Each time DUT will be rebooted and next test in sequence will be executed.
Overall follow these steps to start MMA.
(1) create /usr/local/mma/tests file with the syntax mentioned above.
(2) either reboot the DUT (mma.conf will be called at each boot time, which would
run the mma_automated_test.sh) or execute "start mma" command (to save a reboot cycle.)
(3) all test results can be found under /usr/local/mma/results_<date-time-stamp>
where <date-time-stamp> is YY_MM_DD_HH_mm format (YEAR_MONTH_DAY_HOUR_MINUTE) when you started
the mma tests.
BRANCH=none
BUG=chrome-os-partner:43731
TEST=Build and Boot kunimitsu (FAB3). MMA automation tests executes and results get saved.
Not tested on Glados.
Change-Id: I6805fdb95b7ff919f9c8e967b748e4893a3f9889
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: 68c0a531ba3fc335b92b17002e75412195b778c4
Original-Change-Id: I92db7ca47e1e3e581c3fbb413f11e2c3e6d19b6b
Original-Signed-off-by: Pratik Prajapati <pratikkumar.v.prajapati(a)intel.com>
Original-Signed-off-by: Icarus Sparry <icarus.w.sparry(a)intel.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/313180
Original-Commit-Ready: Pratikkumar V Prajapati <pratikkumar.v.prajapati(a)intel.com>
Original-Tested-by: Pratikkumar V Prajapati <pratikkumar.v.prajapati(a)intel.com>
Original-Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
Original-Reviewed-by: Pratikkumar V Prajapati <pratikkumar.v.prajapati(a)intel.com>
---
util/mma/mma.conf | 11 +++++
util/mma/mma_automated_test.sh | 97 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 108 insertions(+)
diff --git a/util/mma/mma.conf b/util/mma/mma.conf
new file mode 100644
index 0000000..29c1f22
--- /dev/null
+++ b/util/mma/mma.conf
@@ -0,0 +1,11 @@
+# Copyright (c) 2015 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+description "Run the mma automation tests"
+author "chromium-os-dev(a)chromium.org"
+
+start on started boot-services
+script
+ bash mma_automated_test.sh
+end script
diff --git a/util/mma/mma_automated_test.sh b/util/mma/mma_automated_test.sh
new file mode 100755
index 0000000..edca4f1
--- /dev/null
+++ b/util/mma/mma_automated_test.sh
@@ -0,0 +1,97 @@
+#!/bin/bash
+
+#
+# This file is part of the coreboot project.
+#
+# Copyright (C) 2015 Intel Corporation.
+#
+# 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 FIMMA_TEST_NAMEESS 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.
+#
+
+MMA_LOCAL_DATA_STORAGE=/usr/local/mma
+#
+# format of MMA_AUTOMATED_TEST_CONFIG file is as below
+# with 1 or more repeted lines with same format
+#
+# <testname> <testparam> <#times to run this test>
+#
+# e.g.
+# RMT.efi RMTConfig.bin 2
+# Margin1D.efi Margin1DCmdAllConfig.bin 1
+#
+#
+MMA_AUTOMATED_TEST_CONFIG="${MMA_LOCAL_DATA_STORAGE}"/tests
+MMA_AUTOMATED_TEST_COUNT="${MMA_LOCAL_DATA_STORAGE}"/count
+MMA_SETUP_TEST_TOOL=mma_setup_test.sh
+MMA_GET_RESULT_TOOL=mma_get_result.sh
+MMA_TEST_RESULTS_PATH="${MMA_LOCAL_DATA_STORAGE}/results$(date +_%y_%m_%d_%H_%M)"
+# Clear MMA_TEST_NUMBER just in case it is set in environment
+MMA_TEST_NUMBER=
+
+# Set a number of global params based on test number
+# MMA_TEST_NUMBER - test number, stored in MMA_AUTOMATED_TEST_COUNT
+# MMA_TEST_NAME - test name
+# MMA_TEST_PARAM - test parameter
+# MMA_TEST_COUNT - test count, number of times to run the test
+# MMA_TEST_RESULT_NAME - filename for result
+get_mma_autotest_params() {
+ typeset -i i=${MMA_TEST_NUMBER}
+ exec 9< "${MMA_AUTOMATED_TEST_CONFIG}"
+ while read -u9 MMA_TEST_NAME MMA_TEST_PARAM MMA_TEST_COUNT
+ do
+ case "${MMA_TEST_NAME}" in
+ ("#"*|"") continue;; # Allow blank lines and comments
+ esac
+ : $(( i -= MMA_TEST_COUNT ))
+ if (( i <= 0 )) ; then
+ printf -v MMA_TEST_RESULT_NAME \
+ "${MMA_TEST_NAME%.efi}_${MMA_TEST_PARAM%.bin}_%d.bin" \
+ $((MMA_TEST_COUNT+i))
+ return
+ fi
+ done
+ ${MMA_SETUP_TEST_TOOL} reset
+ rm "${MMA_AUTOMATED_TEST_COUNT}"
+ mv "${MMA_AUTOMATED_TEST_CONFIG}" "${MMA_TEST_RESULTS_PATH}"
+ exit 0
+}
+
+main() {
+ # Exit is there are no tests
+ [ -e "${MMA_AUTOMATED_TEST_CONFIG}" ] || exit 0
+
+ if [ -e "${MMA_AUTOMATED_TEST_COUNT}" ] ; then
+ . "${MMA_AUTOMATED_TEST_COUNT}"
+ fi
+
+ mkdir -p "${MMA_TEST_RESULTS_PATH}"
+
+ if [ "${MMA_TEST_NUMBER}" ] ; then
+ get_mma_autotest_params
+ ${MMA_GET_RESULT_TOOL} \
+ "${MMA_TEST_RESULTS_PATH}"/"${MMA_TEST_RESULT_NAME}"
+ fi
+
+ : $(( MMA_TEST_NUMBER += 1 ))
+ printf "MMA_TEST_NUMBER=${MMA_TEST_NUMBER}\n" \
+ > "${MMA_AUTOMATED_TEST_COUNT}"
+ printf "MMA_TEST_RESULTS_PATH=%s" "${MMA_TEST_RESULTS_PATH}" \
+ >> "${MMA_AUTOMATED_TEST_COUNT}"
+ get_mma_autotest_params
+ ${MMA_SETUP_TEST_TOOL} set ${MMA_TEST_NAME} ${MMA_TEST_PARAM}
+
+ reboot
+}
+
+main "$@"
the following patch was just integrated into master:
commit 32154d7b1211faab3d37eab0b00154a7f190eb23
Author: Patrick Georgi <pgeorgi(a)google.com>
Date: Tue Mar 15 23:14:08 2016 +0100
build system: Allow overriding the path to the futility binary
Change-Id: I84e68e8407149780769c3e6a1148c175e42d1025
Signed-off-by: Patrick Georgi <pgeorgi(a)google.com>
Reviewed-on: https://review.coreboot.org/14100
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
See https://review.coreboot.org/14100 for details.
-gerrit
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13968
-gerrit
commit b0e0d9b4ef12af64f1f2dec5100303ebe4523a30
Author: Patrick Georgi <pgeorgi(a)chromium.org>
Date: Tue Mar 8 21:42:00 2016 +0100
mediatek/mt8173: Enable ARM trusted firmware integration
In Chromium OS downstream this was done together with adding the support
for ATF, but unfortunately ATF upstream isn't ready yet. This commit
is a reminder to enable things once ATF caught up.
Change-Id: Id0d6908d906a1e54cdda4f232d572d996d9c556f
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
---
src/soc/mediatek/mt8173/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/soc/mediatek/mt8173/Kconfig b/src/soc/mediatek/mt8173/Kconfig
index 91a8d4f..ec3481e 100644
--- a/src/soc/mediatek/mt8173/Kconfig
+++ b/src/soc/mediatek/mt8173/Kconfig
@@ -6,6 +6,7 @@ config SOC_MEDIATEK_MT8173
select ARCH_RAMSTAGE_ARMV8_64
select ARCH_ROMSTAGE_ARMV8_64
select ARCH_VERSTAGE_ARMV8_64
+ select ARM64_USE_ARM_TRUSTED_FIRMWARE
select BOOTBLOCK_CONSOLE
select HAVE_UART_SPECIAL
select SPI_ATOMIC_SEQUENCING if SPI_FLASH
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14124
-gerrit
commit 5c84d451038705e00ff6557bd755f51204d45d0d
Author: Jimmy Huang <jimmy.huang(a)mediatek.com>
Date: Sat Mar 5 10:25:05 2016 +0800
mediatek/mt8173: Remove bl31 board parameters passing mechanism
As the DA9212 and MT6311 external buck can be controlled by hardware
since rev-5 board, we don't need to pass any board specific parameter
to ARM TF.
BRANCH=none
BUG=none
TEST=build pass
Change-Id: I43eebe25ab14d3dd84e8bb4286e2bb55c8c3c063
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: 9c4dfe61c69042e464b384e2e0edbc55eda23a74
Original-Change-Id: I541357fee6afb1ff2d771bcb073f7c9a9db52f00
Original-Signed-off-by: Jimmy Huang <jimmy.huang(a)mediatek.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/332344
Original-Commit-Ready: Yidi Lin <yidi.lin(a)mediatek.com>
Original-Tested-by: Yidi Lin <yidi.lin(a)mediatek.com>
Original-Reviewed-by: Julius Werner <jwerner(a)chromium.org>
---
src/soc/mediatek/mt8173/Makefile.inc | 3 +--
src/soc/mediatek/mt8173/bl31_plat_params.c | 11 +---------
.../mediatek/mt8173/include/soc/bl31_plat_params.h | 24 ----------------------
3 files changed, 2 insertions(+), 36 deletions(-)
diff --git a/src/soc/mediatek/mt8173/Makefile.inc b/src/soc/mediatek/mt8173/Makefile.inc
index 217cbc3..82d74e3 100644
--- a/src/soc/mediatek/mt8173/Makefile.inc
+++ b/src/soc/mediatek/mt8173/Makefile.inc
@@ -77,8 +77,7 @@ ramstage-y += usb.c
ramstage-$(CONFIG_ARM64_USE_ARM_TRUSTED_FIRMWARE) += bl31_plat_params.c
-BL31_MAKEARGS += PLAT=mt8173 MEDIATEK_MEM_CONFIG=SRAM_192K MEDIATEK_DA9212=1 \
- MEDIATEK_MT6311=1
+BL31_MAKEARGS += PLAT=mt8173
################################################################################
diff --git a/src/soc/mediatek/mt8173/bl31_plat_params.c b/src/soc/mediatek/mt8173/bl31_plat_params.c
index 025c202..fc211ef 100644
--- a/src/soc/mediatek/mt8173/bl31_plat_params.c
+++ b/src/soc/mediatek/mt8173/bl31_plat_params.c
@@ -14,17 +14,8 @@
*/
#include <arm_tf.h>
#include <assert.h>
-#include <soc/bl31_plat_params.h>
-
-static struct bl31_plat_param *plat_params;
-
-void register_bl31_param(struct bl31_plat_param *param)
-{
- param->next = (void *)plat_params;
- plat_params = param;
-}
void *soc_get_bl31_plat_params(bl31_params_t *bl31_params)
{
- return (void *)plat_params;
+ return (void *)NULL;
}
diff --git a/src/soc/mediatek/mt8173/include/soc/bl31_plat_params.h b/src/soc/mediatek/mt8173/include/soc/bl31_plat_params.h
deleted file mode 100644
index c1ea885..0000000
--- a/src/soc/mediatek/mt8173/include/soc/bl31_plat_params.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright 2015 MediaTek Inc.
- *
- * 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.
- */
-#ifndef __BL31_PLAT_PARAMS_H__
-#define __BL31_PLAT_PARAMS_H__
-
-#if IS_ENABLED(CONFIG_ARM64_USE_ARM_TRUSTED_FIRMWARE)
-#include <arm-trusted-firmware/plat/mediatek/mt8173/include/plat_params.h>
-
-void register_bl31_param(struct bl31_plat_param *param);
-#endif
-
-#endif /* __BL31_PLAT_PARAMS_H__ */
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13968
-gerrit
commit d130ed7618259315f8dbd340bf5ebe08645391ee
Author: Patrick Georgi <pgeorgi(a)chromium.org>
Date: Tue Mar 8 21:42:00 2016 +0100
mediatek/mt8173: Enable ARM trusted firmware integration
In Chromium OS downstream this was done together with adding the support
for ATF, but unfortunately ATF upstream isn't ready yet. This commit
is a reminder to enable things once ATF caught up.
Change-Id: Id0d6908d906a1e54cdda4f232d572d996d9c556f
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
---
src/soc/mediatek/mt8173/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/soc/mediatek/mt8173/Kconfig b/src/soc/mediatek/mt8173/Kconfig
index 91a8d4f..ec3481e 100644
--- a/src/soc/mediatek/mt8173/Kconfig
+++ b/src/soc/mediatek/mt8173/Kconfig
@@ -6,6 +6,7 @@ config SOC_MEDIATEK_MT8173
select ARCH_RAMSTAGE_ARMV8_64
select ARCH_ROMSTAGE_ARMV8_64
select ARCH_VERSTAGE_ARMV8_64
+ select ARM64_USE_ARM_TRUSTED_FIRMWARE
select BOOTBLOCK_CONSOLE
select HAVE_UART_SPECIAL
select SPI_ATOMIC_SEQUENCING if SPI_FLASH