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