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