xref: /qemu/tests/functional/test_arm_aspeed_ast1030.py (revision 6d0d9add0d98effc7045466249921a09845225ac)
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_3_00 = Asset(
16        ('https://github.com/AspeedTech-BMC'
17         '/zephyr/releases/download/v00.03.00/ast1030-evb-demo.zip'),
18        '37fe3ecd4a1b9d620971a15b96492a81093435396eeac69b6f3e384262ff555f')
19
20    def test_ast1030_zephyros_3_00(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_3_00, 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