| #!/usr/bin/env python3 |
| # |
| # Functional test that boots the ASPEED SoCs with firmware |
| # |
| # Copyright (C) 2022 ASPEED Technology Inc |
| # |
| # SPDX-License-Identifier: GPL-2.0-or-later |
| |
| from qemu_test import LinuxKernelTest, Asset |
| from qemu_test import exec_command_and_wait_for_pattern |
| |
| |
| class AST1030Machine(LinuxKernelTest): |
| |
| ASSET_ZEPHYR_1_04 = Asset( |
| ('https://github.com/AspeedTech-BMC' |
| '/zephyr/releases/download/v00.01.04/ast1030-evb-demo.zip'), |
| '4ac6210adcbc61294927918707c6762483fd844dde5e07f3ba834ad1f91434d3') |
| |
| def test_ast1030_zephyros_1_04(self): |
| self.set_machine('ast1030-evb') |
| |
| kernel_name = "ast1030-evb-demo/zephyr.elf" |
| kernel_file = self.archive_extract( |
| self.ASSET_ZEPHYR_1_04, member=kernel_name) |
| |
| self.vm.set_console() |
| self.vm.add_args('-kernel', kernel_file, '-nographic') |
| self.vm.launch() |
| self.wait_for_console_pattern("Booting Zephyr OS") |
| exec_command_and_wait_for_pattern(self, "help", |
| "Available commands") |
| |
| ASSET_ZEPHYR_1_07 = Asset( |
| ('https://github.com/AspeedTech-BMC' |
| '/zephyr/releases/download/v00.01.07/ast1030-evb-demo.zip'), |
| 'ad52e27959746988afaed8429bf4e12ab988c05c4d07c9d90e13ec6f7be4574c') |
| |
| def test_ast1030_zephyros_1_07(self): |
| self.set_machine('ast1030-evb') |
| |
| kernel_name = "ast1030-evb-demo/zephyr.bin" |
| kernel_file = self.archive_extract( |
| self.ASSET_ZEPHYR_1_07, member=kernel_name) |
| |
| self.vm.set_console() |
| self.vm.add_args('-kernel', kernel_file, '-nographic') |
| self.vm.launch() |
| self.wait_for_console_pattern("Booting Zephyr OS") |
| for shell_cmd in [ |
| 'kernel stacks', |
| 'otp info conf', |
| 'otp info scu', |
| 'hwinfo devid', |
| 'crypto aes256_cbc_vault', |
| 'random get', |
| 'jtag JTAG1 sw_xfer high TMS', |
| 'adc ADC0 resolution 12', |
| 'adc ADC0 read 42', |
| 'adc ADC1 read 69', |
| 'i2c scan I2C_0', |
| 'i3c attach I3C_0', |
| 'hash test', |
| 'kernel uptime', |
| 'kernel reboot warm', |
| 'kernel uptime', |
| 'kernel reboot cold', |
| 'kernel uptime', |
| ]: exec_command_and_wait_for_pattern(self, shell_cmd, "uart:~$") |
| |
| |
| if __name__ == '__main__': |
| LinuxKernelTest.main() |