master
py 89 lines 3.06 KB
Raw
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
9 from aspeed import AspeedTest
10 from qemu_test import Asset, exec_command_and_wait_for_pattern
11
12
13 class AST1030Machine(AspeedTest):
14
15 ASSET_ZEPHYR_3_08 = Asset(
16 ('https://github.com/AspeedTech-BMC'
17 '/zephyr/releases/download/v00.03.08/ast1030-evb-demo.zip'),
18 '9eac3691bc7bce1b912bbe2ae4e36608a6532ff8d607f4d1e44b88407a48d4e5')
19
20 def test_arm_ast1030_zephyros_3_08(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_08, 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_arm_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 def test_arm_ast1030_otp_blockdev_device(self):
72 self.vm.set_machine("ast1030-evb")
73
74 kernel_name = "ast1030-evb-demo/zephyr.elf"
75 kernel_file = self.archive_extract(self.ASSET_ZEPHYR_3_08,
76 member=kernel_name)
77 otp_img = self.generate_otpmem_image()
78
79 self.vm.set_console()
80 self.vm.add_args(
81 "-kernel", kernel_file,
82 "-blockdev", f"driver=file,filename={otp_img},node-name=otp",
83 "-global", "aspeed-otp.drive=otp",
84 )
85 self.vm.launch()
86 self.wait_for_console_pattern("Booting Zephyr OS")
87
88 if __name__ == '__main__':
89 AspeedTest.main()