xref: /qemu/tests/functional/test_arm_aspeed_ast1030.py (revision 70ce076fa6dff60585c229a4b641b13e64bf03cf)
1#!/usr/bin/env python3
2#
3# Functional test that boots the ASPEED SoCs with firmware
4#
5# Copyright (C) 2022 ASPEED Technology Inc
6#
7# SPDX-License-Identifier: GPL-2.0-or-later
8
9from qemu_test import LinuxKernelTest, Asset
10from qemu_test import exec_command_and_wait_for_pattern
11
12
13class AST1030Machine(LinuxKernelTest):
14
15    ASSET_ZEPHYR_1_04 = Asset(
16        ('https://github.com/AspeedTech-BMC'
17         '/zephyr/releases/download/v00.01.04/ast1030-evb-demo.zip'),
18        '4ac6210adcbc61294927918707c6762483fd844dde5e07f3ba834ad1f91434d3')
19
20    def test_ast1030_zephyros_1_04(self):
21        self.set_machine('ast1030-evb')
22
23        kernel_name = "ast1030-evb-demo/zephyr.elf"
24        kernel_file = self.archive_extract(
25            self.ASSET_ZEPHYR_1_04, member=kernel_name)
26
27        self.vm.set_console()
28        self.vm.add_args('-kernel', kernel_file, '-nographic')
29        self.vm.launch()
30        self.wait_for_console_pattern("Booting Zephyr OS")
31        exec_command_and_wait_for_pattern(self, "help",
32                                          "Available commands")
33
34    ASSET_ZEPHYR_1_07 = Asset(
35        ('https://github.com/AspeedTech-BMC'
36         '/zephyr/releases/download/v00.01.07/ast1030-evb-demo.zip'),
37        'ad52e27959746988afaed8429bf4e12ab988c05c4d07c9d90e13ec6f7be4574c')
38
39    def test_ast1030_zephyros_1_07(self):
40        self.set_machine('ast1030-evb')
41
42        kernel_name = "ast1030-evb-demo/zephyr.bin"
43        kernel_file = self.archive_extract(
44            self.ASSET_ZEPHYR_1_07, member=kernel_name)
45
46        self.vm.set_console()
47        self.vm.add_args('-kernel', kernel_file, '-nographic')
48        self.vm.launch()
49        self.wait_for_console_pattern("Booting Zephyr OS")
50        for shell_cmd in [
51                'kernel stacks',
52                'otp info conf',
53                'otp info scu',
54                'hwinfo devid',
55                'crypto aes256_cbc_vault',
56                'random get',
57                'jtag JTAG1 sw_xfer high TMS',
58                'adc ADC0 resolution 12',
59                'adc ADC0 read 42',
60                'adc ADC1 read 69',
61                'i2c scan I2C_0',
62                'i3c attach I3C_0',
63                'hash test',
64                'kernel uptime',
65                'kernel reboot warm',
66                'kernel uptime',
67                'kernel reboot cold',
68                'kernel uptime',
69        ]: exec_command_and_wait_for_pattern(self, shell_cmd, "uart:~$")
70
71
72if __name__ == '__main__':
73    LinuxKernelTest.main()
74