[U-Boot] [PATCH 0/5] travis: Build and test ASPEED board

Tom suggested I add support for booting the ASPEED EVB configuration in Qemu. This series fixes up a few things with the defconfig so buildman passes, and makes u-boot testable:
https://travis-ci.com/shenki/u-boot/builds/117772801
I've sent some patches to Stephen for uboot-test-scripts tools that need to be merged before this Travis configuration can go in.
Joel Stanley (5): configs: aspeed: Unset CONFIG_MMC configs: aspeed: Add HUSH and random ethernet addr traivs: Build aspeed boards travis: Add ASPEED ast2500 to qemu tests travis: Build aspeed board with qemu HEAD
.travis.yml | 10 ++++++++++ configs/evb-ast2500_defconfig | 3 +++ 2 files changed, 13 insertions(+)

The aspeed board does not have an upstream MMC driver.
As CONFIG_MMC defaults on, the board would fail to build due to the CONFIG_DM_MMC migration:
===================== WARNING ====================== This board does not use CONFIG_DM_MMC. Please update the board to use CONFIG_DM_MMC before the v2019.04 release. Failure to update by the deadline may result in board removal. See doc/driver-model/MIGRATION.txt for more info. ====================================================
Change the defconfig to disable MMC until a driver is submitted.
Signed-off-by: Joel Stanley joel@jms.id.au --- configs/evb-ast2500_defconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/configs/evb-ast2500_defconfig b/configs/evb-ast2500_defconfig index b73da72b1654..245c73ee9b5d 100644 --- a/configs/evb-ast2500_defconfig +++ b/configs/evb-ast2500_defconfig @@ -21,6 +21,7 @@ CONFIG_REGMAP=y CONFIG_CLK=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_ASPEED=y +# CONFIG_MMC is not set CONFIG_PHY_REALTEK=y CONFIG_DM_ETH=y CONFIG_FTGMAC100=y

On Thu, Jul 04, 2019 at 11:05:14AM +0930, Joel Stanley wrote:
The aspeed board does not have an upstream MMC driver.
As CONFIG_MMC defaults on, the board would fail to build due to the CONFIG_DM_MMC migration:
===================== WARNING ====================== This board does not use CONFIG_DM_MMC. Please update the board to use CONFIG_DM_MMC before the v2019.04 release. Failure to update by the deadline may result in board removal. See doc/driver-model/MIGRATION.txt for more info. ====================================================
Change the defconfig to disable MMC until a driver is submitted.
Signed-off-by: Joel Stanley joel@jms.id.au
Applied to u-boot/master, thanks!

Tests in test/py/tests/test_env.py like this fail without CONFIG_HUSH_PARSER:
=> => printenv test_env_0 ## Error: "test_env_0" not defined => .=> setenv test_env_0 => => echo $test_env_0 $test_env_0 => F
We also want a mac address so the ethernet device works in qemu.
Signed-off-by: Joel Stanley joel@jms.id.au --- configs/evb-ast2500_defconfig | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/configs/evb-ast2500_defconfig b/configs/evb-ast2500_defconfig index 245c73ee9b5d..59d41cb5687b 100644 --- a/configs/evb-ast2500_defconfig +++ b/configs/evb-ast2500_defconfig @@ -11,12 +11,14 @@ CONFIG_BOOTARGS="console=ttyS4,115200n8 root=/dev/ram rw" CONFIG_PRE_CONSOLE_BUFFER=y CONFIG_PRE_CON_BUF_ADDR=0x1e720000 # CONFIG_DISPLAY_CPUINFO is not set +CONFIG_HUSH_PARSER=y # CONFIG_AUTO_COMPLETE is not set CONFIG_CMD_I2C=y CONFIG_CMD_DHCP=y CONFIG_CMD_MII=y CONFIG_CMD_PING=y CONFIG_DEFAULT_DEVICE_TREE="ast2500-evb" +CONFIG_NET_RANDOM_ETHADDR=y CONFIG_REGMAP=y CONFIG_CLK=y CONFIG_DM_I2C=y

On Thu, Jul 04, 2019 at 11:05:15AM +0930, Joel Stanley wrote:
Tests in test/py/tests/test_env.py like this fail without CONFIG_HUSH_PARSER:
=> => printenv test_env_0 ## Error: "test_env_0" not defined => .=> setenv test_env_0 => => echo $test_env_0 $test_env_0 => F
We also want a mac address so the ethernet device works in qemu.
Signed-off-by: Joel Stanley joel@jms.id.au
Applied to u-boot/master, thanks!

Currently we only have one, but this will expand to cover other boards as they are supported.
Signed-off-by: Joel Stanley joel@jms.id.au --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/.travis.yml b/.travis.yml index 6662ca126ab5..53dade5ae116 100644 --- a/.travis.yml +++ b/.travis.yml @@ -169,6 +169,9 @@ matrix: env: - JOB="arm926ejs" BUILDMAN="arm926ejs -x freescale,siemens,at91,kirkwood,spear,omap" + - name: 'buildman aspeed' + env: + - BUILDMAN="aspeed" - name: "buildman at91 (non arm v7)" env: - BUILDMAN="at91 -x armv7"

On Thu, Jul 04, 2019 at 11:05:16AM +0930, Joel Stanley wrote:
Currently we only have one, but this will expand to cover other boards as they are supported.
Signed-off-by: Joel Stanley joel@jms.id.au
.travis.yml | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/.travis.yml b/.travis.yml index 6662ca126ab5..53dade5ae116 100644 --- a/.travis.yml +++ b/.travis.yml @@ -169,6 +169,9 @@ matrix: env: - JOB="arm926ejs" BUILDMAN="arm926ejs -x freescale,siemens,at91,kirkwood,spear,omap"
- name: 'buildman aspeed'
env:
- BUILDMAN="aspeed"
- name: "buildman at91 (non arm v7)" env:
- BUILDMAN="at91 -x armv7"
This isn't needed as the job that builds all matches to arm11 arm7 arm920t arm946es builds it.

On Wed, 17 Jul 2019 at 19:57, Tom Rini trini@konsulko.com wrote:
On Thu, Jul 04, 2019 at 11:05:16AM +0930, Joel Stanley wrote:
Currently we only have one, but this will expand to cover other boards as they are supported.
Signed-off-by: Joel Stanley joel@jms.id.au
.travis.yml | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/.travis.yml b/.travis.yml index 6662ca126ab5..53dade5ae116 100644 --- a/.travis.yml +++ b/.travis.yml @@ -169,6 +169,9 @@ matrix: env: - JOB="arm926ejs" BUILDMAN="arm926ejs -x freescale,siemens,at91,kirkwood,spear,omap"
- name: 'buildman aspeed'
env:
- BUILDMAN="aspeed"
- name: "buildman at91 (non arm v7)" env:
- BUILDMAN="at91 -x armv7"
This isn't needed as the job that builds all matches to arm11 arm7 arm920t arm946es builds it.
I thought this might be the case, but I did some testing and it didn't seem to build the ast2500 evb configuration. Neither does the arm catch all. Can you point out where I've gone wrong?
Is there a way to get buildman to print the boards it would build for?
Cheers,
Joel

On Thu, Jul 18, 2019 at 01:30:01AM +0000, Joel Stanley wrote:
On Wed, 17 Jul 2019 at 19:57, Tom Rini trini@konsulko.com wrote:
On Thu, Jul 04, 2019 at 11:05:16AM +0930, Joel Stanley wrote:
Currently we only have one, but this will expand to cover other boards as they are supported.
Signed-off-by: Joel Stanley joel@jms.id.au
.travis.yml | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/.travis.yml b/.travis.yml index 6662ca126ab5..53dade5ae116 100644 --- a/.travis.yml +++ b/.travis.yml @@ -169,6 +169,9 @@ matrix: env: - JOB="arm926ejs" BUILDMAN="arm926ejs -x freescale,siemens,at91,kirkwood,spear,omap"
- name: 'buildman aspeed'
env:
- BUILDMAN="aspeed"
- name: "buildman at91 (non arm v7)" env:
- BUILDMAN="at91 -x armv7"
This isn't needed as the job that builds all matches to arm11 arm7 arm920t arm946es builds it.
I thought this might be the case, but I did some testing and it didn't seem to build the ast2500 evb configuration. Neither does the arm catch all. Can you point out where I've gone wrong?
Is there a way to get buildman to print the boards it would build for?
You can see it for example in: https://travis-ci.org/trini/u-boot/jobs/560025248#L1114
But if you modified .travis.yml to pass --dry-run -v to buildman it would instead just list what it would build for.
FWIW, there's no need to repost the series, I'm going to push things shortly, once the GitLab run finishes.

On Thu, 18 Jul 2019 at 01:33, Tom Rini trini@konsulko.com wrote:
On Thu, Jul 18, 2019 at 01:30:01AM +0000, Joel Stanley wrote:
On Wed, 17 Jul 2019 at 19:57, Tom Rini trini@konsulko.com wrote:
This isn't needed as the job that builds all matches to arm11 arm7 arm920t arm946es builds it.
I thought this might be the case, but I did some testing and it didn't seem to build the ast2500 evb configuration. Neither does the arm catch all. Can you point out where I've gone wrong?
Is there a way to get buildman to print the boards it would build for?
You can see it for example in: https://travis-ci.org/trini/u-boot/jobs/560025248#L1114
But if you modified .travis.yml to pass --dry-run -v to buildman it would instead just list what it would build for.
Thanks, it makes sense to me with my local setup too now.
FWIW, there's no need to repost the series, I'm going to push things shortly, once the GitLab run finishes.
Great, thank you.
In the near future we're going to start pushing up more drivers, and then a cortex-a7 variant of the soc.
Cheers,
Joel

Signed-off-by: Joel Stanley joel@jms.id.au --- .travis.yml | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/.travis.yml b/.travis.yml index 53dade5ae116..69ae1c8b4223 100644 --- a/.travis.yml +++ b/.travis.yml @@ -387,6 +387,13 @@ matrix: - TEST_PY_BD="sandbox_flattree" BUILDMAN="^sandbox_flattree$" TOOLCHAIN="i386" + - name: "test/py evb-ast2500" + env: + - TEST_PY_BD="evb-ast2500" + TEST_PY_ID="--id qemu" + QEMU_TARGET="arm-softmmu" + QEMU_VERSION="v4.0.0" + BUILDMAN="^evb-ast2500$" - name: "test/py vexpress_ca15_tc2" env: - TEST_PY_BD="vexpress_ca15_tc2"

On Thu, Jul 04, 2019 at 11:05:17AM +0930, Joel Stanley wrote:
Signed-off-by: Joel Stanley joel@jms.id.au
Applied to u-boot/master, thanks!

In order to boot u-boot in the aspeed machine we need to run at least qemu 3059c2f5a813 (v4.0.0-1592-g3059c2f5a813), which is not in a released tag.
This should be changed to v4.1.0 when it is released.
Signed-off-by: Joel Stanley joel@jms.id.au --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.travis.yml b/.travis.yml index 69ae1c8b4223..9addfba4dd93 100644 --- a/.travis.yml +++ b/.travis.yml @@ -392,7 +392,7 @@ matrix: - TEST_PY_BD="evb-ast2500" TEST_PY_ID="--id qemu" QEMU_TARGET="arm-softmmu" - QEMU_VERSION="v4.0.0" + QEMU_VERSION="506179e42112be77bfd071f050b15762d3b2cd43" BUILDMAN="^evb-ast2500$" - name: "test/py vexpress_ca15_tc2" env:

Bring us back into line with current Travis tests.
Signed-off-by: Tom Rini trini@konsulko.com --- .gitlab-ci.yml | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3ddd5ad99a85..cb636b25a61e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -159,6 +159,16 @@ sandbox_spl test.py: TEST_PY_TEST_SPEC: "test_ofplatdata" <<: *buildman_and_testpy_dfn
+evb-ast2500 test.py: + tags: [ 'all' ] + variables: + TEST_PY_BD: "evb-ast2500" + TEST_PY_ID: "--id qemu" + QEMU_TARGET: "arm-softmmu" + QEMU_VERSION: "506179e42112be77bfd071f050b15762d3b2cd43" + BUILDMAN: "^evb-ast2500$" + <<: *buildman_and_testpy_dfn + sandbox_flattree test.py: tags: [ 'all' ] variables:

On Thu, Jul 04, 2019 at 11:05:18AM +0930, Joel Stanley wrote:
In order to boot u-boot in the aspeed machine we need to run at least qemu 3059c2f5a813 (v4.0.0-1592-g3059c2f5a813), which is not in a released tag.
This should be changed to v4.1.0 when it is released.
Signed-off-by: Joel Stanley joel@jms.id.au
Applied to u-boot/master, thanks!

Hello,
On Thu, 4 Jul 2019 at 01:35, Joel Stanley joel@jms.id.au wrote:
Tom suggested I add support for booting the ASPEED EVB configuration in Qemu. This series fixes up a few things with the defconfig so buildman passes, and makes u-boot testable:
https://travis-ci.com/shenki/u-boot/builds/117772801
I've sent some patches to Stephen for uboot-test-scripts tools that need to be merged before this Travis configuration can go in.
Stephen has merged the uboot-test-scripts patches now. How do I go about getting this series merged?
Cheers,
Joel
Joel Stanley (5): configs: aspeed: Unset CONFIG_MMC configs: aspeed: Add HUSH and random ethernet addr traivs: Build aspeed boards travis: Add ASPEED ast2500 to qemu tests travis: Build aspeed board with qemu HEAD
.travis.yml | 10 ++++++++++ configs/evb-ast2500_defconfig | 3 +++ 2 files changed, 13 insertions(+)
-- 2.20.1

On Wed, Jul 17, 2019 at 03:43:57AM +0000, Joel Stanley wrote:
Hello,
On Thu, 4 Jul 2019 at 01:35, Joel Stanley joel@jms.id.au wrote:
Tom suggested I add support for booting the ASPEED EVB configuration in Qemu. This series fixes up a few things with the defconfig so buildman passes, and makes u-boot testable:
https://travis-ci.com/shenki/u-boot/builds/117772801
I've sent some patches to Stephen for uboot-test-scripts tools that need to be merged before this Travis configuration can go in.
Stephen has merged the uboot-test-scripts patches now. How do I go about getting this series merged?
I will apply it soon, thanks.
participants (2)
-
Joel Stanley
-
Tom Rini